Blog
-
Announcing Dotty 0.22.0-RC1 - syntactic enhancements, type-level arithmetic and more
Hello! We are excited to announce 0.22.0-RC1 of Dotty. This version brings syntactic enhancements for extension methods and context parameters, as well as the kind projector syntax. Other notable changes include type-level arithmetic, changes to the
inline
parameters semantics and suggestions on missing context parameters. -
Announcing Dotty 0.21.0-RC1 - explicit nulls, new syntax for `match` and conditional givens, and more
Greetings and we wish you Merry Christmas 🎄! We are excited to announce 0.21.0-RC1 of Dotty. In this version we add support for non-nullable reference types, supported by flow-sensitive analysis. We present new syntax for given extensions, matches and pattern matching over quotes. We are also happy to announce that SemanticDB generation is now supported within the compiler, this will eventually enable Metals to support Dotty! And last but not least ... we are happy to announce that we are now feature complete!
-
Announcing Dotty 0.20.0-RC1 – `with` starting indentation blocks, inline given specializations and more
Greetings! We are excited to announce the 20th release of Dotty. This release brings a bunch of improvements to the language, such as
with
keyword starting an indentation block, normal parameters after given parameters, inline givens specialization and more. -
Announcing Dotty 0.19.0-RC1 – further refinements of the syntax and the migration to 2.13.1 standard library
Greetings! With this post, we are proud to announce the 19th release of Dotty. This release features further changes to the syntax following the feedback from the community and further discussion. Another important change is the migration to the 2.13.1 standard library.
-
Announcing Dotty 0.18.1-RC1 – switch to the 2.13 standard library, indentation-based syntax and other experiments
Greetings! With this post, we are proud to announce the 18th release of Dotty. With this release, we have switched to the 2.13 standard library (which is why the patch version of Dotty is now
1
)🎉. We are also conducting more experiments with the language syntax which will hopefully result in a better, cleaner way to write Scala programs. -
Announcing Dotty 0.17.0-RC1 – new implicit scoping rules and more
Greetings! With this post, we are proud to announce the 17th release of Dotty. With this release, we are making steady progress on the metaprogramming capabilities of Scala 3. Also, implicit scoping rules have seen a rework and a bunch of organizational changes took place.
-
Announcing Dotty 0.16.0-RC3 – the Scala Days 2019 Release
Hello again! Today, we are excited to announce the 16th release of Dotty. The development of Dotty continues according to our schedule but today, Tuesday June the 11th, we are electrified as it is the first day of Scala Days 2019 which marks the 10th anniversary of Scala Days. With this release we are getting closer to the envelope of the new features that Dotty plans to offer.
-
Announcing Dotty 0.15.0-RC1 – the fully bootstrapped compiler
Hi! We are very excited to announce the 15th release of Dotty. The most exciting thing in this release is the full bootstrap for Dotty introduced by PR #5923🎉😍. This means that we now always compile Dotty with Dotty itself, hence we can use use all the new features in the compiler code base.
-
Announcing Dotty 0.14.0-RC1 with export, immutable arrays, creator applications and more
Hello! This is the 14th release of Dotty. Some of the most interesting changes in this release include the new
export
, the dual ofimport
, feature, an immutable array type and the creator applications syntax. -
Announcing Dotty 0.13.0-RC1 with Spark support, top level definitions and redesigned implicits
Hello hello! This is the second release for 2019. Spark, top level definitions and redesigned implicits ✨🎊🎉 are the most important inclusions in this release and you will understand why we are super excited, in a bit!
-
Announcing Dotty 0.12.0-RC1
Happy New Year to all with the first release of Dotty for 2019! ✨🎊🎉
-
Announcing Dotty 0.11.0-RC1
Today we are excited to release Dotty version 0.11.0-RC1. This release serves as a technology preview that demonstrates new language features and the compiler supporting them.
-
Announcing Dotty 0.10.0-RC1
After a long summer break, we are excited to release Dotty version 0.10.0-RC1. This release serves as a technology preview that demonstrates new language features and the compiler supporting them.
-
Announcing Dotty 0.9.0-RC1
Today, we are excited to release Dotty version 0.9.0-RC1. This release serves as a technology preview that demonstrates new language features and the compiler supporting them.
-
Announcing Dotty 0.7.0 and 0.8.0-RC1
Today, we are excited to release Dotty versions 0.7.0 and 0.8.0-RC1. These releases serve as a technology preview that demonstrates new language features and the compiler supporting them.
-
Announcing Dotty 0.6.0 and 0.7.0-RC1
Today, we are excited to release Dotty versions 0.6.0 and 0.7.0-RC1. These releases serve as a technology preview that demonstrates new language features and the compiler supporting them.
-
Announcing Dotty 0.5.0-RC1
Today, we are excited to release Dotty version 0.5.0-RC1. This release serves as a technology preview that demonstrates new language features and the compiler supporting them.
-
Announcing Dotty 0.4.0-RC1
Today, we are excited to release Dotty version 0.4.0-RC1. This release serves as a technology preview that demonstrates new language features and the compiler supporting them.
-
Announcing Dotty 0.3.0-RC2
Today, we are excited to release Dotty version 0.3.0-RC2. This release serves as a technology preview that demonstrates new language features and the compiler supporting them.
-
Announcing Dotty 0.2.0-RC1, with new optimizations, improved stability and IDE support
Today, we are excited to release Dotty version 0.2.0-RC1. This release serves as a technology preview that demonstrates new language features and the compiler supporting them.
-
Announcing Dotty 0.1.2-RC1, a major step towards Scala 3
Today, we are excited to release Dotty version 0.1.2-RC1. This release serves as a technology preview that demonstrates new language features and the compiler supporting them.
-
Implicit Function Types
I just made the first pull request to add implicit function types to Scala. I am pretty excited about it, because - citing the explanation of the pull request - "This is the first step to bring contextual abstraction to Scala". What do I mean by this?
-
Multiversal Equality for Scala
I have been working recently on making equality tests using
==
and!=
safer in Scala. This has led to a Language Enhancement Proposal which I summarize in this blog. -
Scaling DOT to Scala - Soundness
In my last blog post I introduced DOT, a minimal calculus that underlies much of Scala. DOT is much more than an academic exercise, because it gives us guidelines on how to design a sound type system for full Scala.
-
The Essence of Scala
What do you get if you boil Scala on a slow flame and wait until all incidental features evaporate and only the most concentrated essence remains? After doing this for 8 years we believe we have the answer: it's DOT, the calculus of dependent object types, that underlies Scala.
-
New Year Resolutions
For most of us, the change of the year is an occasion for thinking about what we missed doing last year and where we want to improve. I decided there are a couple of things where I would like to do better in 2016 than in 2015. The first is that I would like to do more blogging and writing in general. I have been pretty silent for most of the last year. This was mostly caused by the fact that I had been heads down to work on DOT, Scala's foundations, and Dotty, the new Scala compiler platform we are working on. It's been a lot of work, but we are finally getting good results. DOT now has a mechanized proof of type soundness and the Dotty compiler can now compile itself as well as large parts of Scala's standard library.
-
We got liftoff!
The Dotty project is a platform to develop new technology for Scala tooling and to try out concepts of future Scala language versions. Its compiler is a new design intended to reflect the lessons we learned from work with the Scala compiler. A clean redesign today will let us iterate faster with new ideas in the future.
Today we reached an important milestone: the Dotty compiler can compile itself, and the compiled compiler can act as a drop-in for the original one. This is what one calls a bootstrap.