Composable scheduler activations for Haskell

K. C. SIVARAMAKRISHNAN, TIM HARRIS, SIMON MARLOW, SIMON PEYTON JONES
2016 Journal of functional programming  
AbstractThe runtime for a modern, concurrent, garbage collected language like Java or Haskell is like an operating system: sophisticated, complex, performant, but alas very hard to change. If more of the runtime system were in the high-level language, it would be far more modular and malleable. In this paper, we describe a novel concurrency substrate design for the Glasgow Haskell Compiler that allows multicore schedulers for concurrent and parallel Haskell programs to be safely and modularly
more » ... scribed as libraries in Haskell. The approach relies on abstracting the interface to the user-implemented schedulers through scheduler activations, together with the use of Software Transactional Memory to promote safety in a multicore context.
doi:10.1017/s0956796816000071 fatcat:w6zdte5jybamjhyii64lq6wtl4