
Concurrent Programming in ML
by John H. Reppy · first published 1999
5mentions
2recommended by
2HN commenters
2015–2023first – last mentioned
100% recommend
"Concurrent Programming in ML presents the language Concurrent ML (CML), which supports the union of two important programming models: concurrent programming and functional programming. CML is an extension of the functional language Standard ML (SML) and is included as part of the Standard ML of New Jersey (SML/NJ) distribution. CML supports the programming of process communication and synchronization using a unique higher-order concurrent programming mechanism which allows programmers to define their own communication and synchronization abstractions."--Jacket. "The main focus of the book is
Affiliate links. As an Amazon Associate I earn from qualifying purchases.
If I may, I'd like to invite you or someone on your team to read a couple of chapters of John Reppy's Concurrent Programming in ML and try Vesa's excellent delivery in https://github.com/Hopac/Hopac. I'm not clear if you absolutely have to use TPL but CML is likely just a better model for tackling concurrency and Hopac is orders…
on “Memory usage of a toy C# server and client with 500K concurrent connections on” ↗If I may recommend, try to find and read a copy of John Reppy's Concurrent Programming in ML. The book is a little bit of an eye opener if only for that. Hopac is a library that offers an excellent delivery of this model of concurrent programming on .NET and has top notch F# primitives.
on “Dark’s new backend will be in F#” ↗This looks brutal, for a lot of people John Reppy's book Concurrent Programming in ML (as in SML not Machine Learning) is going to be much more accessible. Pick the CSP-style library in the programming language of your choice. Go with goroutines and channels Clojure with core.async F#…
on “Is Parallel Programming Hard, and, If So, What Can You Do About It? v2023.06.11a” ↗…where the continuation was created, and execution resumes as though the program had been running there all along. One neat thing you can do with continuations is use them to implement multitasking—see "Concurrent Programming in ML."
on “A page about call/cc (2002)” ↗…that the future of software are short-lived programs that never free memory. Programs allocate and terminate. Short-lived program communicate with each other via blocking CSP-style channels (see Reppy's Concurrent Programming in ML). If you could also educate me on why this is a bad idea I would appreciate.
on “A highly intuitive visual guide on how memory allocation works, step by step” ↗