About
I am a member of the Research In Software Engineering (RISE) group, and interested in the design and application of strong type systems, declarative programming, and compiler technology. In particular, I work on algebraic effects and handlers, and working on an implementation as part of the Koka language.
Some projects that you may be interested in:
- The Koka (opens in new tab) language, now with a C backend using compiler guided reference counting (opens in new tab), fully in-place (FIP) programming (opens in new tab), and algebraic effect handlers (opens in new tab)
2024-04-01: You can view a recent talk (opens in new tab) I gave on the design of algebraic effect handlers in Koka at Xavier Leroy’s excellent course on control structures (opens in new tab). - The mimalloc (opens in new tab) allocator: a novel allocator that is a drop-in replacement for `mallloc`/`free` with outstanding performance.
- I am on the WASM stack subcommittee to try to bring continuations/stack switching/algebraic effect handlers to web assembly (proposal (opens in new tab)).
- I wrote the initial task parallel library (TPL (opens in new tab)) for the .NET parallel extensions, the Haskell standard libraries for Set/Map (opens in new tab) based on size-balanced trees, and IntSet/IntMap (opens in new tab) based on bitwise Patricia trees, and the original Parsec (opens in new tab) parser combinator libraries for Haskell. I also created the Madoko (opens in new tab) document system lets you write technical documents and scientific papers in Markdown while generating either Latex or HTML.
I am a permanent member of IFIP working group 2.16 (opens in new tab) on programming language design, and currently on the ICFP steering committee. I am currently on the program committee of ICFP’24 (opens in new tab) and APLAS’24 (opens in new tab) — consider submitting a paper!
I was diversity chair for ICFP’23 (opens in new tab), and on the program committee of the 2021 Haskell Symposium (opens in new tab), HIW’21 (opens in new tab), ICFP’19 (opens in new tab), WPDAI’18 (opens in new tab) (as part of the WWW’18 (opens in new tab) conference) in Lyon (Apr 2018), the PADL’18 (opens in new tab) conference on Practical Aspects of Declarative Languages in LA (Jan 2018, co-located with POPL), the ICFP 2015 (opens in new tab) conference, the APLAS 2014 (opens in new tab) conference, the Haskell Symposium 2012 (opens in new tab), OOPSLA’11, the 2010 ML (opens in new tab)workshop, the ICFP 2009 (opens in new tab) conference, and 2004 Haskell (opens in new tab)workshop. I was the organizer and program chair of the 2013 ML workshop (opens in new tab).
I used to be chair of the Haskell Symposium steering committee (opens in new tab) until 2009.