ConcurrentML: Improving on Go's concurrency model
Summary
The article argues that Concurrent ML's approach—treating communication operations as values—offers better composability and built-in cancellation compared to Go's goroutines and channels. It explains core concepts (events, guard events, nack-guards) and demonstrates them via Go and Racket examples, including a print service, to illustrate practical benefits and design implications.