Skip to content
0:00 / 0:00

#concurrentml#sml#channels

Michael Sperber - Concurrent ML - The One That Got Away - Code Mesh 2017

Erlang Solutions

18K subscribers • 39 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Michael Sperber
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

2.3K views8 years ago1 recommendation

Programming languagesSystems programmingConcurrency and parallelismFunctional programming

Michael Sperber introduces Concurrent ML and explains how its event-based model generalizes channels to make concurrent programming composable.

How should we write concurrent, reactive applications? In Go, you might say, using its abstractions for channels. Channels are a big win over old-school programming using locks, and an improvement over simple futures. However, the epitome of elegance and functionality in concurrent programming is a mostly-forgotten system called Concurrent ML (CML) from the late 1980s. CML, despite its name, is not tied to ML and fortunately survives in a few language implementations to this day. CML programs are a singular pleasure to both read and write, and also easy to get correct. CML generalizes channels to events, making CML abstractions inherently composable. This talk showed how you can benefit from Concurrent ML today, and look beyond to the connections to Erlang, Goroutines, and modern Reactive Programming implementations. More details on website: codemesh.io/codemesh2017/michael-sperber

Why it's here

1 person recommends this

u/abstractcontrolSpiralin r/ProgrammingLanguages • Recommends

Michael Sperber - Concurrent ML - The One That Got Away - Code Mesh 2017