Top-Down LR Parsing
This semester, I am teaching Compilers , and I'm quite happy with how I covered parsing this year. Specifically, I taught students to build a top-down LR parser and it seemed to go relatively well.
This semester, I am teaching Compilers , and I'm quite happy with how I covered parsing this year. Specifically, I taught students to build a top-down LR parser and it seemed to go relatively well.
Introduction
Ruby's `private` keyword means something different compared to basically all other object-oriented languages. Most other languages don't even have a feature matching what Ruby calls `private`, but incredibly, Scala does, which it calls `protected[this]` (meaning
Programming language features are never orthogonal.
With a little effort, you can make your mypy-typed Python go zoom.
How (and why!) to convince the machines to write lenses for you
On best practices and gradient descent.
APL was invented by Ken Iverson in the early 1960s as a notation for array oriented calculations. It was precise and useful enough, so it…
I’ve been noodling on a static type system for my current hobby language. To try to keep the language as simple as possible, I’m trying to see if I can live without subtyping. Since most of my programming experience is in object-oriented languages, I’ve been learning more about languages that lack—or at least claim to…
Static vs dynamic typing debates often flounder because the debators see from two different perspectives without knowing it. Learning to identify the two perspectives can calm the discussion. The tension between the two perspectives has led to Gradual Typing and other technologies.
Or, about the virtue of exactly one phrase.
A look into the implementation details of CPython's Global Interpreter Lock (GIL) and how they changed between Python 3.9 and the current development branch that will become Python 3.13.
Visualize binary protocols by building parsers in Elixir.
Iterators in Go are a neat way to write “lazy loops”, where we never generate more results than we actually use. Let’s see what that would look like in Go programs, and what new facilities it gives us in the standard library.
An introduction to Ash Framework, written for new Elixir developers. Comes with LiveBooks for interactive examples, live-coding video walkthrough, and illustrations.
I semi-regularly hear developers who claim that using Rust would not gain them anything because they would have to use `unsafe`. But this is not true. Local reasoning matters.
A recent Twitter thread brought home to me that there is widespread confusion about what types actually are, even among the most prominent researchers. In particular: are types the same thing as sets ? At the risk of repeating some of my prior posts, perhaps it’s time for a little history about type theory, set theory…
Has nerd sniping gone too far?
As far as I know this is the first Haskell program compiled to Webassembly (WASM) with mainline ghc and using the browser DOM.
It's not about technology for its own sake. It's about being able to implement your ideas.