projects

uu-tc-error

a simple novel list based parser combinator library with great error messages, solving a “hard” [Leijen and Meijer, section 2.4] problem. this is achieved by adding a Writer [ParseError] effect resulting in the representation of type Parser a = Text -> ([(a, Text)], [ParseError]). after parsing, errors are sorted by their position in descending order.

illiterate programming

a different take on literate programming in haskell

bachelor thesis on Checked Exceptions in Haskell

the repository happens to be a usage example of illiterate programming.

cabal template

the cabal init default template slightly adjusted to my personal preferences including a custom prelude

talk on a paper on avoiding partial functions in haskell

…with slides, code repository, and blog post

G-machine compiler and emulator

compiler and emulator of a G-machine in haskell loosely based on Implementing functional languages: a tutorial by simon peyton jones and david lester. this is a teaching aid for a practical bachelor course loosely based on the mentioned book. my friend zhu yang and i built it using GHCJS in this repository. we created a test suite for student submissions too. this repository contains an uglier version of the same teaching aid too, which i had built on my own before.

parser combinator library

draft of a parser combinator haskell library with better error information than any library i know. look at the tests for some examples.

secret hitler game clone

multiplayer online turn based game clone of secret hitler built with a friend using GHC and GHCJS

prepared basketball game plans with music based timing

…using javascript and GHCJS as explained in the blog post

playing with fire game clone

multiplayer online real time game clone in Flow, which is like typescript but better.

gui tic tac toe project skeleton

gui tic tac toe project skeleton that beginners new to the web technologies can extend to get to know typescript without worrying about the tooling nor the web technologies

linear programming

the big M method and the simplex algorithm for node.js. provides a logging option to help students learn the algorithm. here is an example output.

vaccine scheduling university project in rust

part of the vaccine scheduling university project in rust as specified here.

open source contributions