Building Languages to Solve Problems
When a problem is complex enough, the right move is to build a language for that problem. SICP's most powerful idea.
Browse posts by category
When a problem is complex enough, the right move is to build a language for that problem. SICP's most powerful idea.
A Python library for symbolic computation with a readable DSL, pattern matching, and a security model that separates rules from computation.
27 image commands, one constraint: read JSON, write JSON. The closure property as a generative design principle.
A Lisp-like functional language designed for network transmission. JSL makes JSON serialization a first-class design principle, so closures, continuations, and entire computation states can travel over the wire.
When the problem is coordinating computation across parties who can't share data, the SICP move is to build a language for it. Apertures adds one primitive — holes — to a Lisp, and gets pausable, resumable evaluation for free.