Newtonian Dance
Generic n-body simulation using Newton's Law of Gravity and other laws.
tech: TS, SolidJS, canvas
concepts:
- structure-of-arrays
- data-oriented-design
- classical-mechanics
I'm a professional software-engineer, recreational mathematician, unlicensed language-designer.
I build.
I often build to understand.
I care about conceptual clarity and understanding stuff deeply.
Everything here is written by me, not vibed-out with AI.
Generic n-body simulation using Newton's Law of Gravity and other laws.
tech: TS, SolidJS, canvas
concepts:
- structure-of-arrays
- data-oriented-design
- classical-mechanics
An implementation of an interactive version of the Picture Language from SICP.
tech: JS, canvas, gifs
concepts:
- SICP Picture-Language
- reactive-programming
WASM Compiler/Runtime for the Polymede language I designed - all in about 6 weeks distributed over 2 months. Special implementation constraint: can't use any non-trivial libraries or tooling (zero-dependency bootstrap compiler) 💪
tech: Rust, WebAssembly, JS
concepts:
- Language-design
- Parametric-Polymorphism
- Bidirectional-Type-Checking
- Algebraic-Data-Types
- Closures
- pattern-matching
- Lexing/Top-down-parsing
- IO-Monad & side-effect management
- Graph Memory Machine (GMM) intermediate representation
- tail-calls
- Custom WASM-Bytecode-Serializer
- Hand-rolled copying 2-space GC in ~1000 lines of .wat (Cheney's Algorithm)
Interpreter and a Type inference for a (Polymorphic) Typed Lambda Calculus, and a register machine visualization.
tech: Elm, ElmUI
concepts:
- HM type-inference
- let-polymorphism
- module-system
- parsing-combinators
- register-machine
Visualization of a stack machine that supports closures, continuations, actor-model.
tech: Elm
concepts:
- incremental stack-machine-simulator
- lexical-environment
- runtime-stack as first-class value
- delimited/undelimited-continuations
- call/cc
- message-passing concurrency
- actor-model-runtime
Visualizing combinatorial generators and formulas.
tech: React, KaTeX, JS-Generators
concepts:
- low-latency math-formula-rendering
- subsets, multisets, permutations, variations
- lazy-generation with ES6 Iterators