From 0777eb1e41770a73148dc01b610f509636009c93 Mon Sep 17 00:00:00 2001 From: Dmitry Petrashko Date: Wed, 31 May 2017 11:43:36 +0200 Subject: [PATCH 1/3] Announce release of Dotty 0.1.2-RC1 --- ...017-05-31-first-dotty-milestone-release.md | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 blog/_posts/2017-05-31-first-dotty-milestone-release.md diff --git a/blog/_posts/2017-05-31-first-dotty-milestone-release.md b/blog/_posts/2017-05-31-first-dotty-milestone-release.md new file mode 100644 index 000000000..db5093627 --- /dev/null +++ b/blog/_posts/2017-05-31-first-dotty-milestone-release.md @@ -0,0 +1,123 @@ +--- +layout: blog +post-type: blog +title: Announcing Dotty 0.1.2-RC1, a major step towards Scala 3 +author: Dmytro Petrashko +by: Dmytro Petrashko +authorImg: /images/petrashko.jpg +--- +Today, we 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. + + + + +## Why is this important? + +_Dotty_ is the project name for a language and compiler that +is slated to become Scala 3.0. This is an ongoing development, +developed transparently as open source software. The Dotty project +started more than 4 years ago. It reached a major milestone in 2015 by +achieving +[bootstrap](http://dotty.epfl.ch/blog/2015/10/23/dotty-compiler-bootstraps.html), +that is, showing that the new compiler could compile itself. Today we +have reached another milestone with this first release of the +codebase. Developments will not stop here, but they will in the future +all be part of regular time-based releases. + +## How can you try it out? + +You have several alternatives: use the `sbt-dotty` plugin, get a standalone +installation, or try it online on [Scastie](https://scastie.scala-lang.org/). + +### sbt +Using sbt 0.13.13 or newer, do: + +``` +sbt new lampepfl/dotty.g8 +``` + +This will setup a new sbt project with Dotty as compiler. For more details on +using Dotty with sbt, see the +[example project](https://github.com/lampepfl/dotty-example-project). + +### Standalone installation + +Releases are available for download on the _Releases_ +section of the Dotty repository: https://github.com/lampepfl/dotty/releases. + +We also provide a [homebrew](https://brew.sh/) package that can be installed by running + +``` +brew install lampepfl/brew/dotty +``` + +### Scastie + +[Scastie](https://scastie.scala-lang.org/), the online Scala playground, +supports Dotty. To try it out: +1. Click on `Build Settings` in the menu on the left +2. Under `Target`, click on `Dotty` +3. That's it! + + +# What’s in the 0.1.2-RC1 technology preview ? +This technology preview demonstrates new language features planned for Scala 3: + + - [Intersection Types](http://dotty.epfl.ch/docs/reference/intersection-types.html) + - [Union Types](http://dotty.epfl.ch/docs/reference/union-types.html) + - [Trait Parameters](http://dotty.epfl.ch/docs/reference/trait-parameters.html) + - [Enumerations](http://dotty.epfl.ch/docs/reference/enums.html) + - [Algebraic Data Types](http://dotty.epfl.ch/docs/reference/adts.html) + - [By-Name Implicits](http://dotty.epfl.ch/docs/reference/implicit-by-name-parameters.html) + +We also ship with tools that help you try out the Dotty platform: + + - [IDE features for Visual Studio Code](http://dotty.epfl.ch/docs/usage/ide-support.html) + - [sbt support, including retro-compatibility with Scala 2](https://github.com/lampepfl/dotty-example-project) + +See here for the full [release notes](http://dotty.epfl.ch/docs/release-notes/0.1.2.html). + +## Release schedule + +We are adopting a time-based release schedule: +- Nightly builds will be published, for those wanting to be at the forefront of + development. +- Every 6 weeks, a release candidate will be cut based on the last nightly build, + the release candidates let library authors test their code in advance of each + release. Multiple release candidates may be released during each 6 weeks + period to fix regressions. +- Every 6 weeks, the last release candidate becomes a release. + +At the end of 6 weeks, the milestone will be promoted to a stable release. +See here for the full [version number explanation](http://dotty.epfl.ch/docs/usage/version-numbers.html). + +## What are the next steps? + +Over the coming weeks and months, we plan to work on the following topics: + + - [Integrate Local optimizations developed in Dotty linker](https://github.com/lampepfl/dotty/pull/2513); + - [Add Language-level support for HMaps and HLists](https://github.com/lampepfl/dotty/pull/2199); + - [Port global optimizations from Dotty linker](https://github.com/lampepfl/dotty/pull/1840). + +If you want to get your hands dirty with any of this, now is a good +moment to get involved! Join the team of contributors, including +Martin Odersky ([@odersky](https://twitter.com/odersky)) +Dmitry Petrashko ([@DarkDimius](https://twitter.com/DarkDimius)), +Guillaume Martres ([@smarter](https://github.com/smarter)), +Felix Mulder ([@felixmulder](https://twitter.com/felixmulder)), +Nicolas Stucki ([@stucki_nicolas](https://twitter.com/stucki_nicolas)), +Liu Fengyun ([@liufengyun](https://github.com/liufengyun)), +Olivier Blanvillain ([@OlivierBlanvillain](https://github.com/OlivierBlanvillain)), +and others! + +## Library authors: Join our community build + +Dotty now has a set of libraries that are build against every nightly snapshot. +Currently this includes scalatest, squants and algebra. +Join our [community build](https://github.com/lampepfl/dotty-community-build) + to make sure that our regression suite includes your library. + + +To get started, see . From 5a4e0ea3ccc897774f34ab48b9bb1dfa2b915b0c Mon Sep 17 00:00:00 2001 From: Dmitry Petrashko Date: Wed, 31 May 2017 12:03:20 +0200 Subject: [PATCH 2/3] Small fixes. --- blog/_posts/2017-05-31-first-dotty-milestone-release.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/blog/_posts/2017-05-31-first-dotty-milestone-release.md b/blog/_posts/2017-05-31-first-dotty-milestone-release.md index db5093627..7b5386d97 100644 --- a/blog/_posts/2017-05-31-first-dotty-milestone-release.md +++ b/blog/_posts/2017-05-31-first-dotty-milestone-release.md @@ -62,7 +62,7 @@ supports Dotty. To try it out: 3. That's it! -# What’s in the 0.1.2-RC1 technology preview ? +# What’s in the 0.1.2-RC1 technology preview? This technology preview demonstrates new language features planned for Scala 3: - [Intersection Types](http://dotty.epfl.ch/docs/reference/intersection-types.html) @@ -107,14 +107,14 @@ Martin Odersky ([@odersky](https://twitter.com/odersky)) Dmitry Petrashko ([@DarkDimius](https://twitter.com/DarkDimius)), Guillaume Martres ([@smarter](https://github.com/smarter)), Felix Mulder ([@felixmulder](https://twitter.com/felixmulder)), -Nicolas Stucki ([@stucki_nicolas](https://twitter.com/stucki_nicolas)), +Nicolas Stucki ([@nicolasstucki](https://github.com/nicolasstucki)), Liu Fengyun ([@liufengyun](https://github.com/liufengyun)), Olivier Blanvillain ([@OlivierBlanvillain](https://github.com/OlivierBlanvillain)), and others! ## Library authors: Join our community build -Dotty now has a set of libraries that are build against every nightly snapshot. +Dotty now has a set of libraries that are built against every nightly snapshot. Currently this includes scalatest, squants and algebra. Join our [community build](https://github.com/lampepfl/dotty-community-build) to make sure that our regression suite includes your library. From 1b0b8ae7fb4c3ed4b21d5262da5e6659e4bbd0e6 Mon Sep 17 00:00:00 2001 From: Dmitry Petrashko Date: Wed, 31 May 2017 13:43:26 +0200 Subject: [PATCH 3/3] Dotty release blogpost: various improvements. --- ...017-05-31-first-dotty-milestone-release.md | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/blog/_posts/2017-05-31-first-dotty-milestone-release.md b/blog/_posts/2017-05-31-first-dotty-milestone-release.md index 7b5386d97..ffc3f2f46 100644 --- a/blog/_posts/2017-05-31-first-dotty-milestone-release.md +++ b/blog/_posts/2017-05-31-first-dotty-milestone-release.md @@ -6,7 +6,8 @@ author: Dmytro Petrashko by: Dmytro Petrashko authorImg: /images/petrashko.jpg --- -Today, we excited to release Dotty version 0.1.2-RC1. This release + +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. @@ -17,7 +18,7 @@ and the compiler supporting them. _Dotty_ is the project name for a language and compiler that is slated to become Scala 3.0. This is an ongoing development, -developed transparently as open source software. The Dotty project +transparently developed as open source software. The Dotty project started more than 4 years ago. It reached a major milestone in 2015 by achieving [bootstrap](http://dotty.epfl.ch/blog/2015/10/23/dotty-compiler-bootstraps.html), @@ -29,7 +30,7 @@ all be part of regular time-based releases. ## How can you try it out? You have several alternatives: use the `sbt-dotty` plugin, get a standalone -installation, or try it online on [Scastie](https://scastie.scala-lang.org/). +installation, or try it online on [Scastie]. ### sbt Using sbt 0.13.13 or newer, do: @@ -45,7 +46,8 @@ using Dotty with sbt, see the ### Standalone installation Releases are available for download on the _Releases_ -section of the Dotty repository: https://github.com/lampepfl/dotty/releases. +section of the Dotty repository: +https://github.com/lampepfl/dotty/releases We also provide a [homebrew](https://brew.sh/) package that can be installed by running @@ -55,12 +57,9 @@ brew install lampepfl/brew/dotty ### Scastie -[Scastie](https://scastie.scala-lang.org/), the online Scala playground, -supports Dotty. To try it out: -1. Click on `Build Settings` in the menu on the left -2. Under `Target`, click on `Dotty` -3. That's it! - +[Scastie], the online Scala playground, +supports Dotty. +You can try it out there without installing anything. # What’s in the 0.1.2-RC1 technology preview? This technology preview demonstrates new language features planned for Scala 3: @@ -81,14 +80,11 @@ See here for the full [release notes](http://dotty.epfl.ch/docs/release-notes/0. ## Release schedule -We are adopting a time-based release schedule: +Starting from this release, we are adopting a time-based release schedule: - Nightly builds will be published, for those wanting to be at the forefront of development. -- Every 6 weeks, a release candidate will be cut based on the last nightly build, - the release candidates let library authors test their code in advance of each - release. Multiple release candidates may be released during each 6 weeks - period to fix regressions. -- Every 6 weeks, the last release candidate becomes a release. +- Every 6 weeks, a release candidate will be cut based on the latest nightly build. +- Every 6 weeks, the latest release candidate becomes a release. At the end of 6 weeks, the milestone will be promoted to a stable release. See here for the full [version number explanation](http://dotty.epfl.ch/docs/usage/version-numbers.html). @@ -121,3 +117,6 @@ Join our [community build](https://github.com/lampepfl/dotty-community-build) To get started, see . + + +[Scastie]: https://scastie.scala-lang.org/?target=dotty