Skip to content
Nathaniel J. Smith edited this page Jan 21, 2017 · 2 revisions

Some documents that we've found interesting and inspiring. Feel free to add to this list, and please include a short blurb to give us a general idea of what you found interesting.

  • Asynchronous Everything (Joe Duffy) – Discusses the design of and experiences with async/await in "Midori", an experimental language and OS developed at Microsoft (and AFAICT where async/await started before jumping into C#! but it turns out that their design is actually more similar to Python than C#'s in some key ways...). Don't miss the "challenges" section at the end – I thought the discussion of scheduling was particularly interesting.

  • .NET 4 Cancellation – discusses an approach to cancellation based on reified "cancellation tokens", which allows interesting kinds of flexibility beyond curio's current identification of cancellation targets with tasks.

  • The Zen of Erlang – Excellent overview of the "Erlang philosophy" for building concurrent systems, and how the different design ideas fit together.

  • Who supervises the supervisors? (Learn you some Erlang for great good) – A tutorial introduction to Erlang supervisors that goes into more detail about how the actual APIs look and are used.

  • Riak and Erlang/OTP (The Architecture of Open-Source Applications) – Riak is a robust distributed database written in Erlang; this article talks about how its put together. Good example of how the ideas described in the papers above are applied in practice.

  • Some thoughts on asynchronous API design in a post async/await world – A general discussion contrasting the design principles underlying curio versus asyncio.

  • Marketplace: Network-aware programming – A theoretical model + implementation of an approach to extending the classic actor model with a richer system for organizing complex collections of concurrent tasks.

Clone this wiki locally