![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Вышла Scala 2.
Теперь она поддерживает примитивный двумерный синтаксис:
Появились нормальные for-comprehensions:
Параметры классов теперь можно явно описывать как имеющие только getter (val) или также и setter (var) методы:
Изменениям также подверглись mixins.
Но больше всего мне понравились implicit parameters и flexible typing of pattern matching с case classes, которые позволяют делать на Scala что то вроде Haskell classes и ADT.
Теперь она поддерживает примитивный двумерный синтаксис:
def foo(x: int) = {
val y = x * x
println("square is " + y)
y
}
Появились нормальные for-comprehensions:
def threeDice = {
val roll = List.range(1,6)
for {
val x <- roll
val y <- roll
val z <- roll
x >= y
y >= z
} yield Triple(x,y,z)
}
Параметры классов теперь можно явно описывать как имеющие только getter (val) или также и setter (var) методы:
class C(x: int, val y: String, var z: List[String])
val c = new C(1, "abc", List())
c.z = c.y :: c.z
Изменениям также подверглись mixins.
Но больше всего мне понравились implicit parameters и flexible typing of pattern matching с case classes, которые позволяют делать на Scala что то вроде Haskell classes и ADT.
no subject
Date: 2006-04-01 07:31 am (UTC)% У меня тоже JVM - больное место.