Announcing Dotty 0.18.1-RC1

Hello, hello! We are excited 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):tada:. We are also conducting more experiments with the language syntax which will hopefully result in a better, cleaner way to write Scala programs.

You can learn more about the changes from the Dotty 0.18.1-RC1 announcement.

Notable Changes

Language

  • Implement @main functions #6898
  • Allow infix operators at start of line #7031
  • Drop do while #6994
  • Alternative Syntax for Control Expressions #7024
  • Allow significant indentation syntax #7083
  • Change indentation rules to allow copy-paste #7114
  • Switch to the 2.13 standard library #7019
  • Allow collective parameters for extension methods #6985
  • Implement generic number literals #6919

Metaprogramming

  • Add toExprOfTuple in scala.quoted #7037
  • Make toExprOfTuple produce tuples with precise types #7076
  • Add quoted.Liftable[TupleN] with N > 22 to the stdlib #6947
  • Add quoted.Liftable[BigInt] and quoted.Liftable[BigDecimal] to the stdlib #6944
  • Add quoted ExprOps toExprOfSeq #6935
  • Re-contextualize Liftable.toExpr #6924
  • toExprOfTuple method with precise types #7047
  • Factor out staging from the core of scala.quoted #7077
  • Add scala.quoted.Liftables to the stdlib #6928
  • Remove scala.quoted.QuoteError #6925
  • Create dotty-staging library #7080

Type class derivation

  • Add documentation for type class derivation #7063
  • Removed redundant Shape type #6964
  • Support implicit scope augmentation for Mirror #6879

Other

  • [DOC] Add ScalaDays 2019 talks #6984
  • Release sbt-dotty 0.3.4, future-proof isDotty #7120
  • In Scala.js mode, compile all lazy vals as thread-unsafe. #7026

Contributors

Thank you to all the contributors who made this release possible :tada:

According to git shortlog -sn --no-merges 0.17.0-RC1..0.18.1-RC1 these are:

   106  Nicolas Stucki
    84  Martin Odersky
    68  Guillaume Martres
    26  Liu Fengyun
    24  Jamie Thompson
    23  Miles Sabin
    16  Anatolii
     8  SĂ©bastien Doeraene
     7  bishabosha
     4  Aggelos Biboudis
     4  Michał Gutowski
     2  odersky
     2  Nikolay
     1  Master-Killer
     1  Ashwin Bhaskar
     1  Carlos Quiroz
     1  =
     1  Olivier Blanvillain
     1  SrTobi

Reporting Bugs

If you encounter a bug, please open an issue! :pray:

1 Like

The amount of SIPs we need to go through :scream:

3 Likes

Exactly. It doesn’t seem possible to go through a proper SIP process for all the changes that have been made, in the kind of timeline that’s been suggested.

IMO the process needs to have a higher barrier, the more disruptive the change. Allowing trailing commas should not have the same consensus threshold as changes that comprise an overnight ship of Theseus.

And source code rewriting tools don’t change that equation, at least not until after they’ve been fully proven.

2 Likes

Indeed. It’s funny going back and watching all the time invested discussing such low-impact SIPs as the trailing commas one, but big changes seem to get a front row seat with little or no public discussions (unless you happen to follow the dotty PR queue).

1 Like

I should note – my Medium blog is almost entirely Dotty News nowadays. Since I am following the full Dotty firehose, I’m reporting on the interesting-looking bits as they happen, so that everybody else doesn’t have to go to so much effort. (My Twitter feed is only about half-Dotty, but all of the relevant links are marked Dotty.)

Obviously that’s trusting me as an editor, and I do miss stuff sometimes, but I try to keep an eye out for anything likely to be broadly interesting…

5 Likes