Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>This is still an evolving matter. For instance, the just released Scala 2.8.0 brought support of <em>type constructor inference</em>, which enabled a pattern of <em>type classes</em> in Scala. The Scala library itself has just began using this pattern. Just yesterday I heard of a new Lift module in which they are going to try to avoid inheritance in favor of type classes.</p> <p>Scala 2.8.0 also introduced lower priority implicits, plus default and named parameters, both of which can be used, separately or together, to produce very different designs than what was possible before.</p> <p>And if we go <a href="http://www.scala-lang.org/node/43" rel="nofollow noreferrer">back in time</a>, we note that other important features are not that old either:</p> <ul> <li><em>Extractor</em> methods on case classes object companions where introduced February 2008 (before that, the only way to do extraction on case classes was through pattern matching).</li> <li><em>Lazy values</em> and <em>Structural types</em> where introduced July 2007.</li> <li><em>Abstract types</em> support for <em>type constructors</em> was introduced in May 2007.</li> <li><em>Extractors</em> for non-case classes was introduced in January 2007.</li> <li>It seems that <em>implicit parameters</em> were only introduced in March 2006, when they replaced the way <em>views</em> were implemented.</li> </ul> <p>All that means we are all learning how to design Scala software. Be sure to rely on tested designs of functional and object oriented paradigms, to see how new features in Scala are used in other languages, like Haskell and type classes or Python and default (optional) and named parameters.</p> <p>Some people dislike this aspect of Scala, others love it. But other languages share it. C# is adding features as fast as Scala. Java is slower, but it goes through changes too. It added generics in 2004, and the next version should bring some changes to better support concurrent and parallel programming.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload