A parsing library similar to parsec
Simplifies mathematical expressions into standard form polynomials and finds their roots to solve equations
Checks the units of simple physics expressions and equations.
An implementation of the paper “Freer Monads, More Extensible Effects”. This is an effect system which is an alternative to monad transformer stacks. Effects compose nicely and are described independently of their interpretation/semantics. This was my first time doing type level programming, and it was really cool! I made a type-aligned sequence, which represents a composition of functions as a tree in a type-safe way, and an open union, which is like
Either, but can have any number of alternative types, not just 2. It was a really cool project, and gave me deep insight into free monads and how powerful they can be!
solitaire playable in the terminal