|
View:
New views
4 Messages
—
Rating Filter:
Alert me
|
|
|
[ANN] Scala 2.7.0-RC1
by Stéphane Micheloud
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message We are very pleased to announce version 2.7.0-RC1 of the
Scala distribution: 1) It introduces several language changes: http://www.scala-lang.org/docu/changelog.html#v2.7.0 - Support for Java generic types - Support for type annotations - Extended case classes - etc. 2) It fixes many bugs both in the compiler and the libraries. http://scala-lang.org/downloads/changes.html#v2.7.0-RC1 3) It adds new functionalities to the standard library: - rewritten package scala.util.parsing.combinator - improvements in packages scala.actors and scala.xml - additions like classes StringBuilder (100% Scala), BigDecimal (wrapper) - etc. 4) It also includes changes to the distribution and documentation: - splitted installation of tools and documentation (eg. API) - corrections and improvements the reference manual Other release candidates may follow this version depending on bugs reported by the Scala community (no changes/additions, only bug fixes!); the final release (aka. 2.7.0-final) is planned in 2-3 weeks. Bye -- Stephane |
|
|
Re: [ANN] Scala 2.7.0-RC1
by Alex Boisvert-3
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message On 2/8/08, Stéphane Micheloud <stephane.micheloud@...> wrote:
We are very pleased to announce version 2.7.0-RC1 of the Hi Stéphane, I see no mention of type annotations in the language changelog. Could you elaborate? alex |
|
|
Re: [ANN] Scala 2.7.0-RC1
by bearfeeder
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message Scala 2.7.0-RC1 is available on scala-tools.org
On Feb 8, 2008 2:16 AM, Stéphane Micheloud <stephane.micheloud@...> wrote: We are very pleased to announce version 2.7.0-RC1 of the -- lift, the secure, simple, powerful web framework http://liftweb.net Collaborative Task Management http://much4.us |
|
|
Re: [ANN] Scala 2.7.0-RC1
by Lex Spoon-3
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message Alex Boisvert wrote:
> I see no mention of type annotations in the language changelog. Could > you elaborate? (Followups to gmain.comp.lang.scala) For several months, I worked on optional support in scalac for annotations on types. The support was only turned on if you compiled with -Xplug-types. Now, the option is gone and you always get the support. This is a pretty good foundation, I think, for the pluggable type systems that Gilad Bracha describes. The work is supported by the Hasler Foundation, so hopefully they think it is a pretty good foundation, too. :) There are two interesting parts to it compared to Java annotations. One is that you can put arbitrary type-checked expressions in your annotations, not just constants. So @dim(Length/Time) is perfectly valid. Second, there is sophisticated support for propagating type annotations through the type inference. Here is a typical example: object Foo { val x = 3 val y: Int @GreaterThan(x) = 10 } val z = Foo.y // inferred type is Int @GreaterThan(Foo.x) Notice how the @GreaterThan(x) had to be rewritten as @GreaterThan(Foo.x). Let me tell you, that was a long saga to get implemented! If you want such rewrites, your annotation must inherit from ConstrainedTypeAnnotation in addition to the usual StaticAnnotation class. Otherwise, the compiler will drop the annotation, and the inferred type for z would be just "Int" instead of an annotated Int. Currently these annotations are only visible at compile time, because they are not reflected in the underlying Java types. So to process them, you have to write a tool that links against scalac's code and does some extra processing. One way to do this is to write your code as a compiler plugin. That's the general idea. Much much more can be written, and should be written, but hopefully that gives you the general idea. Lex |
| Free embeddable forum powered by Nabble | Forum Help |