I'm a postdoc with the
functional programming research group
at Chalmers University of Technology,
working on EDSLs and hardware description languages.
- Scoping Monadic Relational Database Queries, Haskell '19.
- A Meta-EDSL for Distributed, Heterogeneous Web Applications, Haskell '17.
- High-Performance Client-Side Web Applications Through Haskell EDSLs, Haskell '16.
- Foreign Exchange at Low, Low Rates, IFL '15.
- A Seamless, Client-Centric Programming Model for Type-Safe Web Applications, Haskell '14; joint work with Koen Claessen. Errata:
- Removed truncated, dead sentence accidentally left in from an earlier draft.
- PhD thesis: Functional EDSLs for Web Applications, Chalmers University of Technology. Errata:
- Fixed an off-by-one error in the numbering of tables.
- Corrected STG-to-JS translation of let-bindings.
- Licentiate thesis: A Distributed Haskell for the Modern Web, Chalmers University of Technology.
- MSc thesis: Towards a Declarative Web, Gothenburg University.
- BSc thesis: Lambdascript, Gothenburg University.
I like hacking on open source software, for personal needs as well as
in the course of my research.
Here's a (very) curated list of free software I've worked on.
- qui.su, a tool for administering quick quizzes during lectures
- Haste, a web-targeting Haskell environment
- Selda, a domain-specific language for accessing relational databases from Haskell
- Wanchan, a flexible Nyaa Torrents scraper
Some of my software is also packaged for Debian-based Linux distributions
such as Debian, Ubuntu, Linux Mint, etc. To use any such software (and get
automatic updates for it), you should add my Debian repository to your system.
- Append the line
deb https://deb.ekblad.cc/ubuntu disco main
- add my signing key to your system by running
wget -O - https://ekblad.cc/key.asc | sudo apt-key add -, and
sudo apt update.
Currently the following software is available from this repository:
ghc-sd: a custom-built GHC which lets you build shared libraries with
Haskell dependencies statically linked into them.
bt-reload-headphones: a small script which fixes connection issues with
Sony (and possibly other) Bluetooth headphones.
thicc: minimalist docker-compose orchestrator with support for updating
containers on incoming webhooks.
You can also find a lot of my software at
my GitHub repository.
Talks I've given that also happened to be recorded.
In my spare time, I enjoy localizing manga from Japanese into
English and/or Swedish.
Here's a collection of some of my localizations.