2 ms·
Ocaml and SML are not the Haskell dream world. They allow imperative code, side effects, and mutation. The difference is that they have sane defaults (eg, immu
by hajile 7y ago
Ocaml and SML are not the Haskell dream world. They allow imperative code, side effects, and mutation.
The difference is that they have sane defaults (eg, immutable until you specifically ask for mutations) and an actually sounds type system (no null exceptions, exhaustive pattern matching, good generics, etc)
SML in particular was designed to be easy to learn and implement and succeeds rather well on both counts. It also has a standard instead of the implementation being the spec.
- crimsonalucard 7y agoInteresting. What is your opinion is preventing SML from filling the vacuum in terms of adoption? Is it just marketing?
- hajile 7y agoThere are three major implementations polyML, SML/NJ, and Mlton (the last two are used together a lot as Mlton's whole code optimizer can take some time). Most of those coders work at universities and the biggest projects (for polyML at least are large theorem provers). They don't really focus on the software problems of more typical businesses. There are very few languages that rise to prominence without corporate intervention. SML is a solid foundation, but the ecosystem is somewhat lacking. I don't really know aside from that. Even though SML syntax isn't difficult or particularly radical, it isn't in the C family which (I believe) makes it a no go for lots of companies. EDIT: to answer more clearly, we simply need more dev time to create and improve the library situation and that basically demands a corporate patron.