Concurrent ML is definitely worth looking at.
Concurrent ML is definitely worth looking at.
It is a really nice system that is similar to go, but the primitives it gives you are in a way a generalisation of go's concurrency primitives.
https://www.goodreads.com/book/show/302685.Concurrent_Progra...
Intro article:
https://medium.com/@asolove/synchronizable-abstractions-for-...
There's an interesting series of blogs by Andy Wingo on comparing CML with Go and implementing it in Guile Scheme:
https://wingolog.org/archives/2016/09/20/concurrent-ml-versu... https://wingolog.org/archives/2016/09/21/is-go-an-acceptable... https://wingolog.org/archives/2016/10/12/an-incomplete-histo... https://wingolog.org/archives/2017/06/29/a-new-concurrent-ml
I personally like using them anyway. If you've done something wrong I recall the parser can sometimes give better error messages if it has them around to orient itself. And for all the complaints people seem to have you really can grow to like them aesthetically - there's something pleasantly blocky and definitive about them I find, like the satisfying thock of a good keyboard.