# An Allocation Profiler for OCaml Bytecode Interpreter

23 Sep 2015This post describes a simple flat allocation profiler for OCaml 4.02 bytecode interpreter.

This post describes a simple flat allocation profiler for OCaml 4.02 bytecode interpreter.

I recently gave a talk on Algebraic Effects in OCaml at the OCaml Workshop 2015. The extended abstract and the slides from the talk are available here. The slides should provide a gentle introduction to programming with algebraic effects and handlers in OCaml. The examples from the talk (and many more!) are available here.

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^{1}. All of the examples
presented below are available
here.

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.

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.

Older
Newer