Experience Report: Graph Rewriting with Lexical Effect Handlers
summary
A web and CLI graph-rewriting system implemented in Effekt compiles source (lambda or interaction calculus) into interaction combinators, runs a streaming pipeline parser→compiler→rewriter→layout, and renders an interactive graph with a force-directed animated layout. Lexical effect handlers with capability passing and the box modality keep core reduction and rule DSL declarative while handlers supply fresh names, state, exceptions and rendering decisions. The pipeline composes cleanly and the demo shows interactive stepping and rendering working in the browser.
AI-written summary · about
chapters (14)
- 0:00Introduction
- 1:27Effect handlers recap
- 7:25Effect directed programming
- 10:59Graph rewriting with effects
- 13:24Graph app architecture
- 14:30Live web demo
- 18:07Streams for implementation
- 21:15UI model with effects
- 23:44Bidirectional effects
- 24:49Parsing with handlers
- 26:15Reduction interface
- 28:24Rendering with effects
- 29:49Key lessons
- 30:15Q&A
related talks
15mEffects as Capabilities: Effect Handlers and Lightweight Effect Polymorphism
33mRethinking Effects with Effect Systems
18mLexical Effect Handlers, Directly
15mZero-Overhead Lexical Effect Handlers
15mEfficient Compilation of Algebraic Effect Handlers
33mExtensible Effects: A Leaner Cake for Purely Functional Code
12mCompiling Effect Handlers in Capability-Passing Style
39mDesigning software with effects systems
