Lightweight concurrency

From HaskellWiki
Revision as of 11:26, 7 March 2012 by Kc (talk | contribs) (Intro added)
Jump to: navigation, search

This page contains information about the design, implementation, problems and potential solutions for building user-level concurrency primitives in GHC.


All of GHC's concurrency primitives are written in C code and is baked in as a part of the RTS. This precludes extensibility as well as making it difficult to maintain. Ideally, the concurrency libraries will be implemented completely in Haskell code, over a small subset of primitive operations provided by the RTS. This will provide a Haskell programmer the ability to build custom schedulers and concurrency libraries. For an earlier attempt at this problem, please look at Peng Li's paper [1].