Introduction to Bimachines
A gentle overview of bimachines with examples.
Resolving Ambiguity in Text Rewriting
Strategies for resolving conflicts that occur when two replacement substrings overlap.
Finite-State Transducers for Text Rewriting
An formal overview of regular expression-based text rewriters.
A Practical Guide to State Machines
Express application logic in a concise and declarative way using state machines and C#’s pattern matching.
Translation using Syntactic Rules
Computing Ranges in Constant Time
Range Minimum Query with Sparse Table and Dynamic Programming.
Gödel's System T in TypeScript
Experimenting with a rudimentary type system that ensures the programs always terminate.
On Recursive Functions
The Y combinator or how to implement recursion in a language that doesn’t support it.
Implementing a Regular Expression Engine
Using Ken Thompson’s construction algorithm.