Nature of Notation

Introduction Whilst designing my functional programming language Lam, I wondered about applications - how can I annotate this application in such a weird way but it still works as intended? If you don’t know anything about what I just said, just know an application is just a function call e.g. (+ 1 2) => 3. This was a good thought experiment for me, because I ended up accidentally creating a positional notation system for numbers based on their relationships in the natural number line. That was a mouthful. ...

April 5, 2026 · 3 min · blinx

Packrat Parser

Introduction I was tweaking my functional language’s parser one evening, and I became frustrated with the messiness of my code. It wasn’t something I intended, but a natural occurrence which happens from writing parsers like this, I really couldn’t do much to fix it without sacrificing hours into rewriting it. The most annoying issue I was facing was the constant consumption of ignored tokens such as parenthesis, I would call “consume” every single line which added onto the pile of mess the parser created already - it distracted me from reading the grammar flow of the parse function. And just like any other programmer, I decided to fix this; and i didn’t go the easy route I spent a weekend learning about different parsing algorithms, ones I’ve never heard of before, that’s when I came across Earley parsing - an algorithm for context free grammars. ...

April 5, 2026 · 5 min · blinx