4 ms·
Here is a paper[1] written by Andreas Rossberg, specification author of Web Assembly, that discusses the defects in the definition of Standard ML. I believe he
by barrister 6y ago
Here is a paper[1] written by Andreas Rossberg, specification author of Web Assembly, that discusses the defects in the definition of Standard ML. I believe he tried to address many of these issues with Alice ML[2].
[1] https://people.mpi-sws.org/~rossberg/papers/sml-defects-2013-09-18.pdf https://people.mpi-sws.org/~rossberg/papers/sml-defects-2013...
[2] https://github.com/aliceml/aliceml https://github.com/aliceml/aliceml
- eatonphil 6y agoMy biggest personal gripe is no nested functors. SML/NJ does support this as an extension but since no other implementation does you effectively can't use it if you want decent performance (that SML/NJ doesn't really give). I'm also pretty jealous of OCaml's modular implicits, just because it saves you typing the module name before an operator (i.e. MyModule.+ vs just + implied by context). It also kinda sucks that operator precedence is defined at the module level and cannot be exported. You have to always redefine a library's operator precedence yourself.
- tomp 6y ago> I'm also pretty jealous of OCaml's modular implicits, Have modular implicits already been implemented? I thought they were still trying to figure out the details of the resolution...
- eatonphil 6y agoAh, well as with most OCaml planned features I gave up on waiting. Maybe they haven't finished this one.
- c-cube 6y agoWhat ocaml got recently, though, is do notation in the form of "let operators". It's very handy for applicative or monadic style.
- dan-robertson 6y agoThey haven’t been merged. One feature that gives some brevity is type directed constructor disambiguation which allows you to omit the module name when accessing record fields, matching values, or constructing values, provided the type can be inferred in a certain directional way (rather than the more general unification based type inference which is used by the type checker)
- riffraff 6y agoI dabbled with AliceML a long time ago and it was fun! But I think Rossberg has since moved on, and his latest attempt at a "better ML design" should be 1ML[0]. [0] https://github.com/rossberg/1ml https://github.com/rossberg/1ml