News for hackers. Stuff that matters.
Re:The Kotlin Language: 1.0 Beta Is Here by hrjet on Monday November 02, 2015 @12:14PM (#10493207)
I agree. One thing that is sorely missing, for example, is a way to define recursive values.

In Scala, to express a recursive parser combinator:

val e = p | e

You can't define such a thing in Kotlin. Atleast, this was the case the last time I looked at it.

Re:The Kotlin Language: 1.0 Beta Is Here by chrisseaton on Monday November 02, 2015 @12:38PM (#10493470)
Wow can you really write

    val e = p | e
in Scala? How does that work with eager evaluation?
Re:The Kotlin Language: 1.0 Beta Is Here by hrjet on Monday November 02, 2015 @12:56PM (#10493633)
It's not eager. The | combinator takes lazy parameters (called pass-by-name in scala). So it essentially gets translated to:

val e = operator_pipe(() => p, () => e)

Note that the operator_pipe() itself returns a function, which gets assigned as a value to `e`. So there is lots of implicit laziness.