Welcome!
My name is Will J, and this is my site! I am a software engineer, physicist, mathematician, teacher, and functional programming enthusiast. Below are links to some of my independent programming projects, as well as some writing projects hosted here on this site.
Here is a collection of bonus facts about me:
- I’ve been married to my husband since 2021
- We have three parrots: a Timneh African grey and two cockatiels
- When I play factory games, I always do the math
Feel free to email me at willj (at this site)
if you have any questions or comments!
Programming Projects
This very site! It is built using the Hakyll static-site generator using a nontrivial amount of Haskell for bookkeeping (though the prose is generally written in Markdown), and hosted on GitHub Pages.
This is a small command-line tool written in Haskell for generating a memorable password using words from EFF's wordlist. It uses Polysemy for managing effects such as random number generation.
The Factory Simulator Integrated Ledger Environment is a terminal-based tool for calculating production chains in factory simulator games such as Factorio and Satisfactory. It uses the brick TUI library and Edward Kmett's recursion-schemes library for computing and summarizing production requirements.
A Haskell port of the classic terminal game, Rogue. Rogue's internal state is easy to model as a pure function of the previous state, and the UI can also be slightly cleaned up and ported into brick.
Writing Projects
A collection of pages amounting to a smallish book which hopes to provide intuitive motivation for functional programming concepts which might otherwise mystify interested learners. This is done in terms of a "pseudo-ML" toy language which is definitely not Haskell.
A thirty-thousand-parsec view of the machinery that runs the universe