-
Notifications
You must be signed in to change notification settings - Fork 14
Library modularisation #323
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
Comments
Parallel collections: scala/scala#5603 |
Next modules to be carved out: scala/scala#5677 |
Are we going to have independent modular releases? And will there be an overhead given that each module you use has to be imported using maven, sbt etc.? |
Yes, just as we have had now for a while already for existing modules such as scala-xml, scala-parser-combinators, scala-swing, etc. Allowing for modules to be improved on their own schedules, independent of the Scala release schedule, is one of the main benefits of modularization.
In short, yes. Ever since Scala 2.11.0 (some years now), we've offered I expect we'll drop scala-library-all from 2.13 on the assumption that the Scala Platform will, sooner or later, come up with some rough equivalent that will perhaps get more traction than scala-library-all did. I don't have a specific link handy, but I know I've seen the topic covered in the Scala Platform discussions at contributors.scala-lang.org. |
can't say that anymore: https://github.com/search?q=scala-library-all&type=Code&utf8=✓ but 259 uses GitHub-wide seems (in this case, at least) negligible to me. |
The conclusion is probably still true, so sorry for the nitpick, but GitHub code search misses results by design (https://help.github.com/articles/searching-code/#considerations-for-code-search). But this time it shouldn't matter too much—not even the worst limitation of all:
|
Further considerations from this discussion:
|
https://github.com/scala-js/scala-js/tree/master/scalalib
Only a few of those are actually about reimplementations of the JDK:
It is in fact probably not reasonable to split those out. In fact, most of them cannot, because they're super core, and that's the reason we actually do reimplement them, instead of letting them be unsupported. The only one that could be moved away is The others are more for extra performance and dce, because the implementation in the stdlib is not very good for the JS platform. |
With scala/scala#6164, 2.13.0-M3's scala-library and scala-reflect only depend on the compact1 profile. I'd still like to find time to carve out modules, but I think this is already a pretty exciting prospect, allowing much smaller deployments for Scala 2.13 apps. |
Thank you to @avkonst for raising this in scala/bug#10559 |
I've opened a thread to discuss the future of |
scala/scala#7549 has some WIP by @hepin1989 on |
this is now out of scope for Scala 2, the stdlib is what it is perhaps what we can still do is make it easier for people to use non-stdlib libraries in the REPL and in scripts. that's covered by other tickets |
Uh oh!
There was an error while loading. Please reload this page.
We'd like to reduce the standard library to a small, stable, core, comprising the collections and the other standard types, such as
Option
,TupleN
,Either
andTry
. The Scala Platform process will provide a vibrant complement of modules that can evolve more quickly. To make room for innovation, we will move parts of the standard library out of scala/scala, as we did in 2.11.The text was updated successfully, but these errors were encountered: