Hi there! My name is Daniel Hillerström, and I am a passionate computer science student. I saw the first rays of sunlight in the early nineties. I grew up in lovely nature of Virklund in Denmark. Currently, I live in Edinburgh, Scotland, where I study towards a PhD degree in computer science at the University of Edinburgh.

My primary interests in computer science are semantics and type systems for programming languages, and compilers. In particular, I am interested in design and implementation of *handlers for algebraic effects*. Moreover, I have a sweet spot for mathematics, especially, mathematical analysis. I am very keen on fixed point theorems and computations (definition: A point \(x\) is called a *fixed point* of a function \(f\) if \( f(x) = x \)).

I am working on a variety of different projects and ideas (whose common theme seems to be effect handlers):

I am using algebraic effects and handlers to abstract concurrency, parallelism, and distribution. The main idea is simple: use algebraic effects to describe an abstract concurrency model. The main primitives such as

*fork*,*yield*, and*join*are in fact*abstract*algebraic operations. Concurrent computations are composed using these primitives. In order to run a concurrent computation one must first pick an*instantiation*of the concurrency model by using one or more effect handlers. Consequently, concurrent computations are agnostic to the concrete implementation of the concurrency model in the runtime. My hypothesis is that I can give different interpretations of the concurrency model, allowing it to be instantiation with a parallel or distributed runtime.I am working towards developing an unifying framework for studying implementations of effect handlers. In previous work with coauthors, I have developed a CEK machine for handlers which accommodates both deep and shallow handlers. Furthermore, we have developed a higher-order CPS translation for effect handlers. I want to relate these two in the style of Olivier Danvy. I also want to generalise both to the setting of multi-handlers. In order to map into the known space of efficient implementable handlers I am planning to design a linear type system for both the CEK machine and the CPS translation.

I am hacking on my effect handlers extension to the Links programming language – a single-source language for multi-tier web programming. Coincidentally, I am also contributing to the Multicore OCaml compiler which is an experimental extension to the OCaml programming language that brings, among other things, effect handlers to OCaml.

- I have published various projects on GitHub.
- Occasionally, I tweet. You can follow me on Twitter (@dhillerstrom).
- You can also find me on Facebook for professionals aka. LinkedIn.
- I usually idle at ##math, #haskell, #ocaml, and ##programming at freenode.org.
- I also have a personal Informatics research page.