6 ms·
This is a real problem with ML. There's competing tooling from SML/NJ and MLton, not to mention interesting, useful projects like MoscowML or PolyML. So finding
by oinksoft 10y ago
This is a real problem with ML. There's competing tooling from SML/NJ and MLton, not to mention interesting, useful projects like MoscowML or PolyML. So finding reusable libraries and such is a real battle, and you can't escape knowing both MLBasis and CM, as well as SML/NJ extensions and differences in the respective Basis libraries. The underlying "problem" is that MLton is too good to ignore, but takes so long for even small programs that it's impractical for day-to-day, let alone interactive development.
That's what's so exciting about new work on MLton like this: A JIT-ing MLton, for instance, could be an amazing thing. It seems like the community has been coalescing around MLton against all odds, and any improvements to it are a big deal.
SML is nicer syntactically than OCaml, but OCaml brings so much to the table that it's hard to ignore (a simpler compilation model, niceties like named arguments, single development target, good community). Also Paulson's ML For the Working Programmer explains SML's warts well, in a historical context. It goes into great detail of some of the limitations of SML's module type safety and some of the nasty things you need to do to make functors generic and reusable, which really turned me off of the language and explained why Caml and OCaml exist. I still love SML but must concede that it's mostly a teaching language. The Little MLer is wonderful.
- cm3 10y agoWhat are your thoughts on Ur (with and without /Web)?
- virtualwhys 10y agoThere is no such thing as Ur without /Web (and unless things have changed recently the author has no plans for decoupling them anytime soon). Ur/Web also lacks incremental compilation, rendering it unusable for general purpose real world applications. Otherwise, as a modern ML that has improved upon existing MLs (Hakell included), it would be great to see it, 1ML, or other modern spin on SML take root in the FP community.
- cm3 10y agoThe module nastiness is supposedly solved with 1ML, but OCamls folks are not standing still. I mean, kacey's effects type system looks like an elegant way to build concurrency features, and I'm glad they're basing OCaml multicore support on that.
- chenglou 10y agoThe Reason team at Facebook (http://facebook.github.io/reason http://facebook.github.io/reason), I myself included, are working on the syntactical aspect & more. Lots of OCaml's pitfalls are low-hanging fruits (imo), and we're actively fixing them.