27 May 2015
In the previous
post, I
presented a simple cooperative multithreaded scheduler written using algebraic
effects and their handlers. Algebraic effects are of course useful for
expressing other forms of effectful computations. In this post, I will present
a series of simple examples to illustrate the utility of algebraic effects and
handlers in OCaml. Some of the examples presented here were borrowed from the
excellent paper on Eff programming language. All of the examples
presented below are available
here.
20 May 2015
Algebraic effects and handlers provide a modular abstraction for expressing
effectful computation, allowing the programmer to separate the expression of an
effectful computation from its implementation. In this post, I will present an
extension to OCaml for programming with linear algebraic effects, and
demonstrate its use in expressing concurrency primitives for multicore
OCaml. The design and
implementation of algebraic effects for multicore OCaml is due to Leo
White, Stephen Dolan and
the multicore team at OCaml
Labs.
25 Mar 2015
OPAM has a great compiler
switch feature that lets you
simultaneously host several OCaml installations, each with its own compiler
version and a set of installed packages. I wanted to use the power of opam
switch
for working with the experimental multicore
OCaml compiler. The key
advantage of doing this is that it lets you easily install packages from the
OPAM repository, while sandboxing it from other OCaml
installations on your system. The post will show how to create OPAM compiler
switch for multicore OCaml.