On 04/13/2011 07:02 PM, James Iry wrote:
"New" in an absolute sense is very hard to achieve and is rarely a
goal of language design other than in being a new way to synthesize
old things. Scala has almost nothing new in it. Two of its most novel
features, higher kinded types and implicits (which aren't in Ceylon),
have prior art. I seem to vaguely recall that the only genuinely new
thing in Scala is path dependent typing.
That said, there are some things in Ceylon which are pretty rare and,
as far as I know, are "new" to the Java-like world. The biggest thing
that stood out for me is union types. Java actually has a very
limited form of union typing in its rules for checked exceptions, but
it's so limited that it's hard to recognize and it's certainly not
generally usable. Scala (and many statically typed functional
languages like Haskell and ML) can emulate union types using algebraic
data types, of course, but it takes a bit of ceremony to create an ADT
around the union. Somebody told me that Typed Racket (a typed
descendant of Scheme) has union types, but that's obviously way way
off the mainstream.
Ok, call me stupid but I don't see the difference between Ceylon union
types and
Scala case classes and pattern matching:
http://www.scala-lang.org/node/107
I'm also curious exactly what they meant by "modules" and
"metaprogramming", two words that are heavily overloaded and mean many
different things to different people.
Rémi
On Wed, Apr 13, 2011 at 9:21 AM, Rémi Forax <[email protected]
<mailto:[email protected]>> wrote:
On 04/13/2011 06:12 PM, Kevin Wright wrote:
The only things which is new is the syntax for annotation (without
@).
--
You received this message because you are subscribed to the Google
Groups "JVM Languages" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/jvm-languages?hl=en.
--
You received this message because you are subscribed to the Google Groups "JVM
Languages" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/jvm-languages?hl=en.