Skip to content

Dotty 0.10.0-RC1 blog post #5219

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Oct 9, 2018
Merged

Conversation

allanrenucci
Copy link
Contributor

No description provided.

brew upgrade dotty
```

### Scastie
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we can't get it up to date I would remove it from the release notes...


We remove this restriction which has been a leaking implementation detail.

### Name-based `unapplySeq` is now supported
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This more a bug fix than a new feature, I wouldn't put it in the highlight.


Dotty now supports the latest versions of Java. Try it out in our REPL!

```scala
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would remove the example...


### Type-level programming: Match Types

We introduces a new form of types called match types. A match type reduces to one of a number of
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

introduces: typo. I also think that "A match type reduces ... scrutinee type" is a bit esoteric. Before this sentence, I would put a simpler definition as in the pattern matching.

}
```

This let you define zero overhead varargs pattern extractors. E.g.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let -> lets

sbt new lampepfl/dotty.g8
```

This will setup a new sbt project with Dotty as compiler. For more details on
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as the compiler


### Type-level programming: Match Types

We introduces a new form of types called match types. A match type reduces to one of a number of
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would use the past tense: "We've introduced". Also we should note that this feature is still experimental and subject to changes.

Cannot rewrite recursive call: it changes type arguments on a polymorphic recursive call
```

We remove this restriction which has been a leaking implementation detail.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would just say "This restriction has now been removed."


### Name-based `unapplySeq` is now supported

Similarly to the `unapply` method, an extractor object can now define a `def unapplySeq(x: T): U`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would note that this matches what Scala 2.13.0-M5 does, and add a link to http://dotty.epfl.ch/docs/reference/changed/pattern-matching.html

@allanrenucci allanrenucci force-pushed the 0.10-blogpost branch 2 times, most recently from 7dbc154 to 6c04f8d Compare October 9, 2018 13:18
@allanrenucci allanrenucci dismissed biboudis’s stale review October 9, 2018 13:22

Comments addressed


### Java 9+

Dotty now supports the latest versions of Java inlcuding Java 11!
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/inlcuding/including/


## Breaking changes

Dotty 0.10.0-RC1 requires sbt 1.2.3 and sbt-dotty 0.2.4.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe "1.2.3 or newer", since 1.2.4 is released

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would actually advise against using 1.2.4 because of https://gitter.im/sbt/sbt?at=5bbbbcea6e5a401c2d39580f


### sbt

Using sbt 1.1.5 or newer, do:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"1.2.3 or newer" here, too

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

here we're actually talking about the minimal version of sbt where you can use "sbt new" and have things work correctly I think.

Copy link
Member

@SethTisue SethTisue Oct 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, but if the post uses two different version numbers like this, even if it's technically justifiable, I think other readers will, like me, 1) be confused, 2) assume it was probably a mistake


### [Mill](http://www.lihaoyi.com/mill/)

Mill version 0.2.6 introduced experimental support for Dotty. For more details on using Dotty with
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe say "The build tool Mill", not everyone will know what it is

section of the Dotty repository:
[https://github.com/lampepfl/dotty/releases](https://github.com/lampepfl/dotty/releases)

We also provide a [homebrew](https://brew.sh/) package that can be installed by running:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

perhaps add "For MacOS users, "

If you want to get your hands dirty and contribute to Dotty, now is a good time to get involved!
Head to our [Getting Started page for new contributors](https://dotty.epfl.ch/docs/contributing/getting-started.html),
and have a look at some of the [good first issues](https://github.com/lampepfl/dotty/issues?q=is%3Aissue+is%3Aopen+label%3Aexp%3Anovice).
They make perfect entry-points into hacking on the compiler.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/entry-points/entry points/

@allanrenucci
Copy link
Contributor Author

Thanks @SethTisue for taking the time to review this PR!

@allanrenucci allanrenucci merged commit 9d12693 into scala:master Oct 9, 2018
@allanrenucci allanrenucci deleted the 0.10-blogpost branch October 9, 2018 21:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants