Live data from Hacker News

Standard ML in 2020

notes.eatonphil.com

1–10 of 125 posts

Re: Standard ML in 2020

#3
I used Standard ML for a research project in college and really fell in love with it. Yes, at times it feels a bit old, but nothing felt bad. One of the creators of Standard ML (Harper, I think) wrote a really beautiful textbook, Introduction to Programming in Standard ML, which I think is the best textbook on programing I've ever come across. I'm glad that Standard ML is still kicking.

Re: Standard ML in 2020

#4
I started learning SML earlier this year - it's quite a nice language and it's a shame that the ecosystem isn't better.

For fun and educational purposes, I began working on a Standard ML compiler [1] and VSCode extension in Rust as well - with the end goal being a psuedo-clone of MLton. Currently taking a short break from it to work on some other stuff, but I'm mostly done with monomorphization

[1] https://github.com/SomewhatML/sml-compiler

Re: Standard ML in 2020

#5
post #2

Wait, what happened to SML/NJ? AFAIK it's still in development. Also, it has an absolutely "lovely" versioning scheme.

Not totally sure, but it's definitely not as active as the first three I mentioned. The last commit is from over a year ago [0]. Although the SML/NJ website shows releases presumably from 2020.

[0] https://github.com/sml-nj/smlnj

Re: Standard ML in 2020

#6
I first came across Standard ML in Dan Grossman's Programming Language course on Coursera[1]. After previously trying Haskell and Scala, this is where the benefits of functional programming and static typing really clicked for me. Really wish the language had caught on outside of academia so I had an excuse to use it more. In addition to the implementations mentioned in the blog post, The University of Chicago created Manticore[2] and Tohoku University in Japan created SML#[3]

[1] https://www.coursera.org/learn/programming-languages

[2] http://manticore.cs.uchicago.edu/

[3] https://www.pllab.riec.tohoku.ac.jp/smlsharp/

Re: Standard ML in 2020

#7
post #2

Wait, what happened to SML/NJ? AFAIK it's still in development. Also, it has an absolutely "lovely" versioning scheme.

Not totally sure, but it's definitely not as active as the first three I mentioned. The last commit is from over a year ago [0]. Although the SML/NJ website shows releases presumably from 2020. [0] https://github.com/sml-nj/smlnj

There is a lot of active development going on in their SVN repository

http://smlnj-gforge.cs.uchicago.edu/scm/viewvc.php/?root=sml...

Re: Standard ML in 2020

#8

I first came across Standard ML in Dan Grossman's Programming Language course on Coursera[1]. After previously trying Haskell and Scala, this is where the benefits of functional programming and static typing really clicked for me. Really wish the language had caught on outside of academia so I had an excuse to use it more. In addition to the implementations mentioned in the blog post, The University of Chicago create…

Thanks for sharing Manticore! I didn't mention SML# because most of the documentation is in Japanese and it's hard to find recent info. There is an unofficial fork on Github but it explicitly states that it is unofficial so... not something I'd recommend to a general audience.

Edit: nevermind! I checked out their docs again and it seems to be decently translated. I'm still not sure where their code is actually hosted, just that you can download releases. So added it to the list of major implementations!

Re: Standard ML in 2020

#9
I’ve always enjoyed working in SML - usually my default choice is SML/NJ. Most recently Ocaml has been my ML of choice due to a coworker preferring it, but lately I’ve revisited SML for a new project since I like how small the language and basis library is.

Re: Standard ML in 2020

#10
Which SML implementation has the best editor tooling?

The article mentions that certain SML implementations have seen better support for parallel and concurrent programming than OCaml, but Merlin and ocamlformat for OCaml are great as far IDE tooling go. Which SML implementation has the best tooling for things like go to definition, reveal type at cursor, and format file?

Post reply on HN