Haskell #

Haskell is a functional programming language that has always really appealed to me. It has a very austere and beautiful syntax which reminds me of pure mathematics. I’ve read about it multiple times over the years and always wanted to find a project to implement in Haskell to really get into it.

Banksia #

Banksia is my attempt to create a barebones programming language from scratch, implementing the compiler / interpreter in Haskell, following the book Crafting Interpreters by Robert Nystrom. There’s already a few implementations in Haskell; I’m trying to give mine a little bit of a unique flavor and so far it’s proving a fun and challenging way to learn two things at once: Haskell and the theory of programming languages.

  • Learn You a Haskell, one of the most popular and accessible introductions to the language.
  • A nice post about how video game projects (simple ones) are a great way to learn a new programming language, specifically Haskell.
  • A nice book which teaches you Haskell by building a static site generator.

Crafting Interpreters implementations #

  • Toni Okuogome
  • Alexander Pankoff
  • Martin Sosic