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.
C# Channels - Async Data Pipelines
How to implement an assembly line concurrency model in .NET using channels.
C# Channels - Timeout and Cancellation
Explore cancellation and timeout techniques with channels.
C# Channels - Publish / Subscribe Workflows
Concurrency patterns in .NET using channels.
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.