<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rss version="2.0">
  <channel>
  <title>Melbourne Scala User Group Google Group</title>
  <link>http://groups.google.com/group/scala-melb</link>
  <description>Melbourne Scala User Group is for users and enthusiasts of the Scala programming language in Melbourne, Australia.</description>
  <language>en-GB</language>
  <item>
  <title>Re: Questions about Cake patterns</title>
  <link>http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/5676147b3b617dfb?show_docid=5676147b3b617dfb</link>
  <description>
  I have been moved by Ken Scambler! &lt;br&gt; &lt;p&gt;-- &lt;br&gt; Tony Morris &lt;br&gt; &lt;a target=&quot;_blank&quot; rel=nofollow href=&quot;http://tmorris.net/&quot;&gt;[link]&lt;/a&gt;
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/5676147b3b617dfb?show_docid=5676147b3b617dfb</guid>
  <author>
  tonymor...@gmail.com
  (Tony Morris)
  </author>
  <pubDate>Fri, 24 May 2013 00:46:33 UT
</pubDate>
  </item>
  <item>
  <title>Re: Questions about Cake patterns</title>
  <link>http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/1e37baf3d3cee832?show_docid=1e37baf3d3cee832</link>
  <description>
  This is a badge of honour! :) &lt;br&gt; &lt;p&gt;I&#39;ll look further into Argonaut.
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/1e37baf3d3cee832?show_docid=1e37baf3d3cee832</guid>
  <author>
  ken.scamb...@gmail.com
  (Ken Scambler)
  </author>
  <pubDate>Thu, 23 May 2013 23:59:47 UT
</pubDate>
  </item>
  <item>
  <title>Re: Questions about Cake patterns</title>
  <link>http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/058b49a917f29208?show_docid=058b49a917f29208</link>
  <description>
  [...] &lt;br&gt; These practical consequences are what compels me and at least one other guy &lt;br&gt; I thought this blog post was &lt;br&gt; good: &lt;a target=&quot;_blank&quot; rel=nofollow href=&quot;http://blog.rintcius.nl/post/scala-traits-as-well-defined-modules-and-a-crime-scene-investigation.html&quot;&gt;[link]&lt;/a&gt;. &lt;br&gt; I&#39;m not sure if that&#39;s the one you meant. &lt;br&gt; Lachlan.
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/058b49a917f29208?show_docid=058b49a917f29208</guid>
  <author>
  lo...@me.com
  (Lachlan O&#39;Dea)
  </author>
  <pubDate>Thu, 23 May 2013 12:29:55 UT
</pubDate>
  </item>
  <item>
  <title>Re: Questions about Cake patterns</title>
  <link>http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/6572a4f53bb89186?show_docid=6572a4f53bb89186</link>
  <description>
  Haha, it&#39;s just a bad idea that needs to stop existing! &lt;br&gt; &lt;p&gt;-- &lt;br&gt; Tony Morris &lt;br&gt; &lt;a target=&quot;_blank&quot; rel=nofollow href=&quot;http://tmorris.net/&quot;&gt;[link]&lt;/a&gt;
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/6572a4f53bb89186?show_docid=6572a4f53bb89186</guid>
  <author>
  tonymor...@gmail.com
  (Tony Morris)
  </author>
  <pubDate>Thu, 23 May 2013 11:08:12 UT
</pubDate>
  </item>
  <item>
  <title>Re: Questions about Cake patterns</title>
  <link>http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/19dd8284b4b21248?show_docid=19dd8284b4b21248</link>
  <description>
  Dont worry Ken, &lt;br&gt; &lt;p&gt;Your Tshirt will arrive shortly ;) &lt;br&gt; &lt;p&gt;&lt;a target=&quot;_blank&quot; rel=nofollow href=&quot;http://www.zazzle.com.au/i_have_felt_the_back_of_tony_morris_hand_t_shirts-235612893044049936&quot;&gt;[link]&lt;/a&gt; &lt;br&gt; &lt;p&gt;Ben
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/19dd8284b4b21248?show_docid=19dd8284b4b21248</guid>
  <author>
  brhutchi...@gmail.com
  (Ben Hutchison)
  </author>
  <pubDate>Thu, 23 May 2013 11:06:39 UT
</pubDate>
  </item>
  <item>
  <title>Re: Questions about Cake patterns</title>
  <link>http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/d647169c2883a8cc?show_docid=d647169c2883a8cc</link>
  <description>
  The point is that this effort toward a statement or guideline is (at &lt;br&gt; least) arbitrary and so apologising along the path of its formulation &lt;br&gt; (e.g. with handwavy adverbs) leads you into a hole, even when qualified &lt;br&gt; with those apologies (emphasise: EVEN THEN). This technique, even taking &lt;br&gt; into account apologetics in any form, leaves you with nothing or a
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/d647169c2883a8cc?show_docid=d647169c2883a8cc</guid>
  <author>
  tonymor...@gmail.com
  (Tony Morris)
  </author>
  <pubDate>Thu, 23 May 2013 08:14:56 UT
</pubDate>
  </item>
  <item>
  <title>Re: Questions about Cake patterns</title>
  <link>http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/d6e5dfb121412859?show_docid=d6e5dfb121412859</link>
  <description>
  Fair enough; that&#39;s why I didn&#39;t say &amp;quot;never&amp;quot; or &amp;quot;do not&amp;quot;. Also, I normally &lt;br&gt; use runtime checks for my smart constructors, so I probably don&#39;t see the &lt;br&gt; useful cases as much as you do.
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/d6e5dfb121412859?show_docid=d6e5dfb121412859</guid>
  <author>
  ken.scamb...@gmail.com
  (Ken Scambler)
  </author>
  <pubDate>Thu, 23 May 2013 06:17:38 UT
</pubDate>
  </item>
  <item>
  <title>Re: Questions about Cake patterns</title>
  <link>http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/f832affa15475013?show_docid=f832affa15475013</link>
  <description>
  Sure that is a bias. I see way more people using abstract val &lt;br&gt; appropriately than not. &lt;br&gt; &lt;p&gt;However, in this case, formulating a rule leads to not only incorrect &lt;br&gt; information, but discouragement from writing neat code. In other words, &lt;br&gt; the statement, &amp;quot;do not use abstract val in trait&amp;quot; implies &amp;quot;do not always
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/f832affa15475013?show_docid=f832affa15475013</guid>
  <author>
  tonymor...@gmail.com
  (Tony Morris)
  </author>
  <pubDate>Thu, 23 May 2013 05:55:05 UT
</pubDate>
  </item>
  <item>
  <title>Re: Questions about Cake patterns</title>
  <link>http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/0891125213766649?show_docid=0891125213766649</link>
  <description>
  Well the initialisation order thing &amp;quot;generally&amp;quot; comes up a lot when people &lt;br&gt; use abstract vals, whereas the useful cases (where you need a fixed val as &lt;br&gt; part of a type path or import) come up less frequently, at least in code &lt;br&gt; I&#39;ve seen.
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/0891125213766649?show_docid=0891125213766649</guid>
  <author>
  ken.scamb...@gmail.com
  (Ken Scambler)
  </author>
  <pubDate>Thu, 23 May 2013 05:44:17 UT
</pubDate>
  </item>
  <item>
  <title>Re: Questions about Cake patterns</title>
  <link>http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/f49325333ab2be03?show_docid=f49325333ab2be03</link>
  <description>
  This is not true. &lt;br&gt; &lt;p&gt;Without abstract val, many useful constructs become impossible. In &lt;br&gt; particular, smart constructors and therefore, data hiding. This fallacy &lt;br&gt; is so prolific that some have gone to the effort of attempting to debunk &lt;br&gt; it in blogs and so on, but that hasn&#39;t been effective. &lt;br&gt; &lt;p&gt;What is generally a bad idea is (de)referencing an abstract val during
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/f49325333ab2be03?show_docid=f49325333ab2be03</guid>
  <author>
  tonymor...@gmail.com
  (Tony Morris)
  </author>
  <pubDate>Thu, 23 May 2013 04:52:13 UT
</pubDate>
  </item>
  <item>
  <title>Re: Questions about Cake patterns</title>
  <link>http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/ce64aed78988549c?show_docid=ce64aed78988549c</link>
  <description>
  Ah! Thanks Ben. I had wondered about that myself too.
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/ce64aed78988549c?show_docid=ce64aed78988549c</guid>
  <author>
  agoo...@greatcactus.org
  (Andrew Conway)
  </author>
  <pubDate>Thu, 23 May 2013 04:48:09 UT
</pubDate>
  </item>
  <item>
  <title>Re: Questions about Cake patterns</title>
  <link>http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/5be1e30c18a6d54b?show_docid=5be1e30c18a6d54b</link>
  <description>
  Bring on trait constructors, whenever they figure out how to do it. It &lt;br&gt; should be mentioned that it is generally a bad idea to use abstract vals in &lt;br&gt; a trait (as opposed to just def).
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/5be1e30c18a6d54b?show_docid=5be1e30c18a6d54b</guid>
  <author>
  ken.scamb...@gmail.com
  (Ken Scambler)
  </author>
  <pubDate>Thu, 23 May 2013 04:46:55 UT
</pubDate>
  </item>
  <item>
  <title>Re: Questions about Cake patterns</title>
  <link>http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/9082e0a9c4e42579?show_docid=9082e0a9c4e42579</link>
  <description>
  Hi King, &lt;br&gt; &lt;p&gt;One difference is that is allows mutual dependence between any number &lt;br&gt; of traits, whereas inheritance forces the dependencies to be acyclic &amp;amp; &lt;br&gt; directed. &lt;br&gt; &lt;p&gt;trait X { self: Y, Z =&amp;gt; ...} &lt;br&gt; trait Y { self: X, Z =&amp;gt; ...} &lt;br&gt; trait Z { self: X, Y =&amp;gt; ...} &lt;br&gt; &lt;p&gt;The idea, as Ive heard it, is that you can break your functionality
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/9082e0a9c4e42579?show_docid=9082e0a9c4e42579</guid>
  <author>
  brhutchi...@gmail.com
  (Ben Hutchison)
  </author>
  <pubDate>Thu, 23 May 2013 04:44:17 UT
</pubDate>
  </item>
  <item>
  <title>Re: Questions about Cake patterns</title>
  <link>http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/2ad82d00d142a13d?show_docid=2ad82d00d142a13d</link>
  <description>
  Hi Ben, &lt;br&gt; &lt;p&gt;This reminds me of a question I&#39;ve had for a while: &lt;br&gt; &lt;p&gt;Since this self-typing effectively mandates that the concrete type &lt;br&gt; must extend / implement UserRepositoryComponent in order to use the &lt;br&gt; trait, how is it different to having the trait directly extend &lt;br&gt; UserRepositoryComponent (without implementing
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/2ad82d00d142a13d?show_docid=2ad82d00d142a13d</guid>
  <author>
  kinglung.c...@gmail.com
  (King Lung Chiu)
  </author>
  <pubDate>Thu, 23 May 2013 04:19:54 UT
</pubDate>
  </item>
  <item>
  <title>Re: Questions about Cake patterns</title>
  <link>http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/f2aa73ec7cf46e2d?show_docid=f2aa73ec7cf46e2d</link>
  <description>
  Hi Nicholas, &lt;br&gt; &lt;p&gt;re 1: basically, that means that the current trait must have a &lt;br&gt; UserRepositoryComponent mixed into it, to be instantiated. In other &lt;br&gt; words, the this pointer (self) must have type UserRepositoryComponent, &lt;br&gt; hence the name &#39;self type&#39;. &lt;br&gt; &lt;p&gt;So you can assume to any fields/methods that UserRepositoryComponent
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/scala-melb/browse_thread/thread/1fb18a09eda27db2/f2aa73ec7cf46e2d?show_docid=f2aa73ec7cf46e2d</guid>
  <author>
  brhutchi...@gmail.com
  (Ben Hutchison)
  </author>
  <pubDate>Thu, 23 May 2013 02:18:46 UT
</pubDate>
  </item>
  </channel>
</rss>
