Skip to content

Commit f5c0fd0

Browse files
committed
add a proper README
1 parent 3ced2fd commit f5c0fd0

File tree

1 file changed

+58
-4
lines changed

1 file changed

+58
-4
lines changed

README.md

Lines changed: 58 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,65 @@
1-
## Status
1+
# scala-library-next
22

3-
This repo is brand new (September 2020). We're still putting everything in place.
3+
This repo holds code that will be added to a future version of
4+
the Scala standard library.
45

5-
This hasn't been published yet. It isn't even ready for contributions yet. Stay tuned.
6+
We will publish this as a library, to make the additions usable
7+
immediately. But publishing hasn't happened yet. (The repo only just
8+
started, in October 2020.)
69

7-
## Purpose and scope
10+
## Why?
11+
12+
Why make a library for this? Because:
13+
14+
* Scala 2.13 is expected to be final major release of Scala 2.
15+
* We cannot make additions to the standard library in the Scala 2.13.x
16+
series, because of our [binary compatibility
17+
constraints](https://docs.scala-lang.org/overviews/core/binary-compatibility-of-scala-releases.html).
18+
* To help users transition from Scala 2 to 3, Scala 2.13 and 3.0 will
19+
share the same standard library.
20+
21+
Therefore, additions to the library cannot happen until Scala 3.1 at the earliest.
22+
23+
But why publish the additions separately in the meantime? Because:
24+
25+
* Users may find the additions useful now.
26+
* Having users start using the additions now will help shake out
27+
problems early.
28+
* Contributors will be more motivated to work on improvements if users
29+
can use them now.
30+
31+
## What can be added?
32+
33+
Anything merged here _will_ become part of the next Scala standard library.
34+
35+
Therefore, we will not merge anything here unless the Scala 2 and 3
36+
teams agree on the addition. The bar for accepting additions remains
37+
very high.
38+
39+
Is it okay to open an issue and/or pull request regardless? Yes,
40+
definitely. Let's discuss your idea. Just be aware that the bar is
41+
high and contributions may be rejected unless there is a high degree
42+
of consensus and confidence that it really belongs in the standard
43+
library.
44+
45+
It's not required, but you may wish to bring your idea up on
46+
[contributors.scala-lang.org](https://contributors.scala-lang.org)
47+
first to gauge reaction.
48+
49+
There are may be technical constraints on what can be added, since
50+
this a separate codebase from the actual standard library. So for
51+
example if you want to add a new method to an existing class, it must
52+
be added as an extension method. We are still discussing details on
53+
[issue #4](https://github.com/scala/scala-library-next/issues/4).
54+
55+
## History
56+
57+
The discussions that led to this repo being created are here:
858

959
* https://github.com/scala/scala-dev/issues/661
1060
* https://github.com/scala/scala-collection-compat/issues/329
1161
* https://github.com/scala/scala-dev/issues/449
62+
63+
The name was discussed here:
64+
65+
* https://github.com/scala/scala-library-next/issues/1

0 commit comments

Comments
 (0)