Live data from Hacker News

The Dotty experimental compiler for Scala now bootstraps

infoq.com

11–20 of 22 posts

Re: The Dotty experimental compiler for Scala now bootstraps

#12
post #2

How about the official Scala compiler? It seems to stagnant a bit... I know there is a lot of work behind the scene, but from developer perspective there aren't many things going on. E.g. Scala 2.10 Introduced a lot of interesting features like string formatting s"Hello $name!". Scala 2.11 offered minimal improvements, for me just compilation time improvements and better incremental compilation. I don't see anything…

> How about the official Scala compiler? It seems to stagnant a bit It is. Odersky is spending most of his time on Dotty these days and he doesn't seem that interested in Scala any more, except when he's obligated to talk about it at keynotes (and he tends to talk more about Dotty there anyway). Despite the grandiose plans of possibly back porting Dotty features to Scala at some point in the distant future, Scala has…

This is what we call FUD.

Re: The Dotty experimental compiler for Scala now bootstraps

#13
post #2

How about the official Scala compiler? It seems to stagnant a bit... I know there is a lot of work behind the scene, but from developer perspective there aren't many things going on. E.g. Scala 2.10 Introduced a lot of interesting features like string formatting s"Hello $name!". Scala 2.11 offered minimal improvements, for me just compilation time improvements and better incremental compilation. I don't see anything…

My understanding is that Dotty is the next generation of the Scala compiler. See the Scala roadmap for the details: http://www.scala-lang.org/news/roadmap-next . Basically, it's the culmination of research showing that the language's feature set can actually be expressed in a smaller number of primitives than previously thought. A lot of features that are distinct today will become syntactic sugar for more general un…

I'm a tiny bit confused. Is dotty scalac rearchitected or is it new PLT-research/paradigm that will be able to compile scala ?

Re: The Dotty experimental compiler for Scala now bootstraps

#15
It seems kinda weird that Dotty is referred as "Scala compiler" when the language Dotty compliles sounds fundamentally different from Scala. Bit like saying that DMD (the original dlang compiler) is an experimental compiler for C++?

> Dotty, a platform aimed to develop new technology for Scala tooling as well as try out new concepts for future Scala versions, has reached bootstrap status. This means that its compiler is written in Dotty and can compile itself, thus providing a drop-in replacement for the original one

I would imagine that self-hosting is fairly minor aspect of being a drop-in replacement of exising software compared to backwards compatibility.

Re: The Dotty experimental compiler for Scala now bootstraps

#16
Why do they want to bootstrap themselves? Golang specifically set that as a nongoal, and look how fast their compiler is. Scala being a functional vm based language will always have a performance disadvantage to well written C code. If they really care about the real world usability of the compiler (and thus the language), this implementation seems like a poor strategy.

Re: The Dotty experimental compiler for Scala now bootstraps

#17
post #16

Why do they want to bootstrap themselves? Golang specifically set that as a nongoal, and look how fast their compiler is. Scala being a functional vm based language will always have a performance disadvantage to well written C code. If they really care about the real world usability of the compiler (and thus the language), this implementation seems like a poor strategy.

Bootstrapping is a useful test of the completeness of a compiler, and it makes development easier.

The Go compiler is fast because it does very little. It doesn't do much optimisation and Go is not a very sophisticated language and so does not require much of it's compiler. It is not comparable to the Scala or Dotty compilers.

Re: The Dotty experimental compiler for Scala now bootstraps

#18
post #2

How about the official Scala compiler? It seems to stagnant a bit... I know there is a lot of work behind the scene, but from developer perspective there aren't many things going on. E.g. Scala 2.10 Introduced a lot of interesting features like string formatting s"Hello $name!". Scala 2.11 offered minimal improvements, for me just compilation time improvements and better incremental compilation. I don't see anything…

> How about the official Scala compiler? It seems to stagnant a bit It is. Odersky is spending most of his time on Dotty these days and he doesn't seem that interested in Scala any more, except when he's obligated to talk about it at keynotes (and he tends to talk more about Dotty there anyway). Despite the grandiose plans of possibly back porting Dotty features to Scala at some point in the distant future, Scala has…

The former developers on Groovy are spending most of their time on their day jobs these days and they don't seem that interested in Groovy any more, except when they're promoting the existing version at conferences (and they tend to talk more about the fabricated number of downloads there anyway). Despite the grandiose plans of possibly improving Groovy with a proper meta-object protocol at some point in the distant future, Groovy has been in decline for a couple of years now and with less and less people using it, and those that do use it only using it for 30-liner test or build scripts, it's probably going to stay this way.

Such a missed opportunity.

Re: The Dotty experimental compiler for Scala now bootstraps

#19

Earlier quoted context omitted.

My understanding is that Dotty is the next generation of the Scala compiler. See the Scala roadmap for the details: http://www.scala-lang.org/news/roadmap-next . Basically, it's the culmination of research showing that the language's feature set can actually be expressed in a smaller number of primitives than previously thought. A lot of features that are distinct today will become syntactic sugar for more general un…

I'm a tiny bit confused. Is dotty scalac rearchitected or is it new PLT-research/paradigm that will be able to compile scala ?

my understanding is that dotty could be the new scalac,

ATM it compiles a subset of scala, but the plan is to make it compile everything and then still provide support for further plt research/scala features.

Their readme[0] and initial announcement[1] are as much details as I know of.

[0] https://github.com/lampepfl/dotty [1] https://groups.google.com/forum/m/#!msg/scala-internals/6HL6...

Re: The Dotty experimental compiler for Scala now bootstraps

#20
post #2

How about the official Scala compiler? It seems to stagnant a bit... I know there is a lot of work behind the scene, but from developer perspective there aren't many things going on. E.g. Scala 2.10 Introduced a lot of interesting features like string formatting s"Hello $name!". Scala 2.11 offered minimal improvements, for me just compilation time improvements and better incremental compilation. I don't see anything…

Hi! Typesafe Scala team lead here (formerly in Martin Odersky's lab, where I implemented type constructor polymorphism aka "higher-kinded types" in 2007 and rewrote the pattern matcher in 2.10, before joining Typesafe in 2012).

First of, congrats to the Dotty team -- this is an important (first) milestone! One of our next shared goals is making the Scala standard library cross-compile on Scala and Dotty, by the way.

I'm personally more excited about Scala 2.12, though! The new compilation schemes for lambdas and traits are much more efficient in many ways (bytecode size, runtime performance and binary compatibility) than the old one, forced on us by Java 6's limitations. Both schemes were prototyped in dotc and developed in parallel, as part of our ongoing effort in aligning Scala with Dotty (actual convergence is still years away -- in the mean time, Scala versions will gradually adopt ideas that are proven in Dotty).

As always, evolving the language carefully is a feature in itself! (I understand it may seem too slow to some, but most users are happy with this pace, we think.) We have a responsibility to our fast-growing user base to not pull a Scala 2.10 every 18 months ;-) We will, however, keep moving forward, as witnessed by the ongoing deprecation & modularization in the standard library. Eventually, deprecated features will be removed, even...

Happy programming!

Post reply on HN