5 ms·
I'm on the fence about whether the fork in the ecosystem is such a good idea. Their argumentation is that there already exist Scala forks which haven't divided
by DCKing 12y ago
I'm on the fence about whether the fork in the ecosystem is such a good idea. Their argumentation is that there already exist Scala forks which haven't divided the ecosystem at all. That is true, but if you take a look at these forks it is easy to see why they haven't. Each of them is focused on a singular purpose, such as improving DSL writing or compiling to JavaScript. They do not compete with the Typesafe compiler at all. This fork on the other hand looks like it will be far more general purpose and therefore be usable in many of the same places the Typesafe compiler is used. That means it will compete against the Typesafe compiler and will divide the ecosystem.
I don't doubt that Typelevel's fork will contain important work helping Scala forward. But I think it will divide the Scala community, and that cannot be a good thing.
- bad_user 12y agoScala.js is not a fork, but a SBT plugin that reuses Scala's compiler front-end - which is brilliant because it takes much less effort to upgrade it to newer Scala versions, compared to similar efforts of other languages. On dividing the community, well, that's always the nature of open-source, but it's a virtue - after all, the ability to fork is a prerequisite for joining. And it can be argued that the Scala community is already divided between people that want a language closer to Haskell and pragmatists coming from other languages like Java, or Ruby, or Python, or whatever (and I'm in the later camp), so a fork could mean that the people wanting more type-safety in Scala, instead of bitching and moaning about it, could put their energy towards making actual improvements that could benefit everybody and that could end up being merged. At the very least right now the goals are to keep binary and merge compatibility and there are signs of willingness to cooperate between Typesafe and Typelevel. That's a good thing if it holds. If not - well, market forces will pick the winner.
- DCKing 12y ago> Scala.js is not a fork My comment is more of a response to the original Typelevel fork announcement, which specifically mentioned Scala.js as evidence that their fork wouldn't do much harm. It's a pretty bad argument they're making in the first place, but it's even worse given that Scala.js is not a fork. > On dividing the community, well, that's always the nature of open-source, but it's a virtue - after all, the ability to fork is a prerequisite for joining. Yes, forkability of a project is a virtue on its own. But the act of forking a project is not necessarily virtuous, which is why I have my doubts on this. I hope they hold true to their promises. It would be a shame if Shapeless' focus would leave Typesafe's Scala behind (intentional or not), which seems a plausible consequence.
- acjohnson55 12y agoI'm not so concerned. Because it will remain binary compatible, people will be able to choose which language version to use on a library-by-library basis (as is the case today). So it's a lot different from, say, trying to mix two versions of Python. As long as the APIs remain presentable in both forks, it may end up being fairly transparent to the end user. Merge compatibility is an even bigger bonus, as it should actually help push along the Typesafe compiler, in parallel with the feature roadmap Typesafe is focusing on, because we'll be able to see innovations actually working in production to prove them out. The only big question mark to me is what this foundation will look like, and whether it can meaningfully contribute to the ecosysytem.