Welcome to my blog. Here, I write about various subjects, including (but not limited to) functional programming, compiler development, programming language theory, and occasionally video games. I hope you find something useful here!Recent posts:
Meaningfully Typechecking a Language in Idris, With Tuples
2162 words, about 11 minutes to read.
Some time ago, I wrote a post titled Meaningfully Typechecking a Language in Idris. I then followed it up with Meaningfully Typechecking a Language in Idris, Revisited. . . .
Time Traveling In Haskell: How It Works And How To Use It
4151 words, about 20 minutes to read.
I recently got to use a very curious Haskell technique in production: [note: As production as research code gets, anyway! . . .
DELL Is A Horrible Company And You Should Avoid Them At All Costs
3694 words, about 18 minutes to read.
I really do not want this to be a consumer electronics blog. Such things aren’t interesting to me, and nor do I have much knowledge about them. . . .
Meaningfully Typechecking a Language in Idris, Revisited
2924 words, about 14 minutes to read.
Some time ago, I wrote a post titled Meaningfully Typechecking a Language in Idris. The gist of the post was as follows: . . .
Rendering Mathematics On The Back End
2242 words, about 11 minutes to read.
Due to something of a streak of bad luck when it came to computers, I spent a significant amount of time using a Linux-based Chromebook, and then a Pinebook Pro. . . .
Compiling a Functional Language Using C++, Part 12 - Let/In and Lambdas
9911 words, about 47 minutes to read.
Now that our language’s type system is more fleshed out and pleasant to use, it’s time to shift our focus to the ergonomics of the language itself. . . .
Building a Crystal Project with Nix, Revisited
1183 words, about 6 minutes to read.
As I’ve described in my previous post, the process for compiling a Crystal project with Nix is a fairly straightforward one. . . .
Compiling a Functional Language Using C++, Part 11 - Polymorphic Data Types
4202 words, about 20 minutes to read.
In part 10, we managed to get our compiler to accept functions that were polymorphically typed. However, a piece of the puzzle is still missing: while our functions can handle values of different types, the same cannot be said for our data types. . . .
Compiling a Functional Language Using C++, Part 10 - Polymorphism
7899 words, about 38 minutes to read.
In part 8, we wrote some pretty interesting programs in our little language. We successfully expressed arithmetic and recursion. But there’s one thing that we cannot express in our language without further changes: an if statement. . . .
Math Rendering is Wrong
1537 words, about 8 minutes to read.
Since I first started working on my website at age fourteen, the site has gone through many revisions, and hopefully changed for the better. . . .