Skip to content

Add blog post about Scala Native 0.2+ #652

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 4 commits into from
May 26, 2017

Conversation

Duhemm
Copy link
Contributor

@Duhemm Duhemm commented May 23, 2017

@densh Are you ok with the wording of the paragraph on selector-based row displacement?

/cc @heathermiller

Copy link
Contributor

@densh densh left a comment

Choose a reason for hiding this comment

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

See comments below.


In this release, [@LukasKellenberger][@LukasKellenberger] introduced in
[#539][#539] a new setting in the sbt plugin that lets users select what
implementation of the garbage collector should be used. Currently, BoehGC
Copy link
Contributor

Choose a reason for hiding this comment

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

Typo here. Boehm GC


The first releases of Scala Native use Boehm GC. A new and improved garbage
collector has been under development by [@LukasKellenberger][@LukasKellenberger]
and will be presented at Scala Days during Denys' talk. Stay tuned!
Copy link
Contributor

Choose a reason for hiding this comment

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

I'd elaborate it a bit: Stay tuned for more details to come soon!

Copy link
Member

Choose a reason for hiding this comment

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

I'd also link to Denys's talk and post the date of Scala Days, so that people who aren't closely following everything in the Scala universe know how soon they'll hear more about the new GC.

binaries compiled by Scala Native, using a technique called selector-based
row displacement.

These improvements make the dispatch table 10 times smaller.
Copy link
Contributor

Choose a reason for hiding this comment

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

... up to 10 times smaller, on some codebases in the wild.

In this release, [@LukasKellenberger][@LukasKellenberger] introduced in
[#539][#539] a new setting in the sbt plugin that lets users select what
implementation of the garbage collector should be used. Currently, BoehGC
and no GC are supported.
Copy link
Contributor

Choose a reason for hiding this comment

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

I'd put it a bit differently. "It lets you to completely disable the garbage collector."

@Duhemm
Copy link
Contributor Author

Duhemm commented May 24, 2017

@densh I've addressed your comments

In April, [Scala Native 0.2 was released][scala-native-0.2-release]. The main
focus of this release was to increase the coverage of classes from
the JDK, such that that more programs can be ported to Scala Native without any further
effort.
Copy link
Member

Choose a reason for hiding this comment

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

Could you expand more on what this means for the layman? Let's say someone doesn't know anything about Scala Native at all. What does this mean to them? It means you can use more Java classes that you're already used to using in Scala Native.

Copy link
Member

Choose a reason for hiding this comment

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

Since you go on to detail the stuff you added to Scala Native, I'd add a sentence at the end here which better leads into the rest of the article. Because it doesn't really connect well at the moment.

E.g.,:

What parts of Java do we now support in Scala Native? Lots! We've added support for IO and regular expressions:

* Support for file I/O APIs from `java.io` was added by [@Duhemm][@Duhemm]
from the Scala Center with help from [@cedricviaccoz][@cedricviaccoz] and
[@Korf74][@Korf74] in [#574][#574]. Scala Native now supports enough to read
and write files.
Copy link
Member

Choose a reason for hiding this comment

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

Could you lead into the code snippet better? E.g., "this is what it looks like now to do IO in Scala Native:"

regular expressions. This implementation relies on Google's RE2 engine and
[uses a syntax slightly different from the JDK][scala-native-doc-regular-expressions].

```scala
Copy link
Member

Choose a reason for hiding this comment

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

Same here^ (leading into the code snippet)

Copy link
Member

Choose a reason for hiding this comment

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

Same code snippet as the one above? 🤔

* [@densh][@densh] added initial support for Scala's Futures in [#618][#618],
using an implementation similar to that of Scala.js, where Futures will be
completed after the `main` method is executed.

Copy link
Member

Choose a reason for hiding this comment

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

Lead into this better.

```

* Scala Native now supports pointer subtraction. This work has been
contributed by [@jonas][@jonas] in [#624][#624].
Copy link
Member

Choose a reason for hiding this comment

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

Maybe explain what pointer subtraction in one sentence for those people who don't know anything about it?


* [@MasseGuillaume][@MasseGuillaume] and [@densh][@densh]
worked on refactoring Scala Native's sbt plugin to make it more idiomatic in
[#568][#568] and [#630][#630], which lead to fixing [#562][#562].
Copy link
Member

Choose a reason for hiding this comment

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

What's #562? More detail here please.

* [@MasseGuillaume][@MasseGuillaume] and [@densh][@densh]
worked on refactoring Scala Native's sbt plugin to make it more idiomatic in
[#568][#568] and [#630][#630], which lead to fixing [#562][#562].
* Follow up fixes were contributed by [@jonas][@jonas], and include [#639][#639]
Copy link
Member

Choose a reason for hiding this comment

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

This isn't helpful. Please explain in prose what these PRs do.


As shown, many of the improvements that were brought by Scala Native 0.2 have
been contributed by members of the vibrant community that is developing itself
around Scala Native. Thank you!
Copy link
Member

Choose a reason for hiding this comment

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

Can we make a list of the people who contributed to Scala Native? It'd also be cool to list the LOC added/removed to show that people are doing big things!

Copy link
Contributor

Choose a reason for hiding this comment

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

We have a list of contributors for 0.2 in the end of https://github.com/scala-native/scala-native/releases/tag/v0.2.0

## What to expect for Scala Native 0.3?

The plans for the next release of Scala Native include a new garbage collector,
a better integration with sbt and more addition to the standard library.
Copy link
Member

Choose a reason for hiding this comment

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

Typo: "more additions"


The first releases of Scala Native use Boehm GC. A new and improved garbage
collector has been under development by [@LukasKellenberger][@LukasKellenberger]
and will be presented at Scala Days during Denys' talk. Stay tuned!
Copy link
Member

Choose a reason for hiding this comment

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

I'd also link to Denys's talk and post the date of Scala Days, so that people who aren't closely following everything in the Scala universe know how soon they'll hear more about the new GC.

@Duhemm
Copy link
Contributor Author

Duhemm commented May 24, 2017

@heathermiller I've addressed your comments

@heathermiller heathermiller merged commit e207a40 into scala:master May 26, 2017
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.

3 participants