Dragging Haskell Kicking and Screaming into the Century of the Fruitbat
reasonablypolymorphic.com
reasonablypolymorphic.com
This is a problem that Rust solved really well with its "editions" concept. Unfortunately it's probably too late to retrofit such a thing onto Haskell.
> The most important rule for editions is that crates in one edition can interoperate seamlessly with crates compiled in other editions.
[1] https://github.com/ghc-proposals/ghc-proposals/blob/master/p...
Haskell has accumulated a ton of cruft over the years that can't really be shed. The alternative if you want a long-lasting language that doesn't cruft up so much, is to stay conceptually a lot simpler, which means being unable to use advanced new ideas. Ada and Scheme have maybe managed to do that, but for that reason they are less interesting than Haskell.
Alternatively, adapt the good ideas from Haskell into a successor, maybe some combination of Purescript, Idris, or whatever. That too will eventually cruft up, of course.
Are you referring to JS dependencies in the core libraries (stuff like Effect, Aff, etc) or in community packages (or just everything)?
No breakage at all costs is just a path to mediocrity scaled against your era. Haskell has already proven to transcend era - it's older than most languages and yet also more advanced than they can even conceive.