Free without Pure: eDSL framework Plutarch
summary
An eDSL framework called Plutarch implements a free-without-pure design that recovers de Bruijn indices from HOAS, tracks linear variables, and composes multiple indexed languages so lambdas, pattern matching and rewrite-fusion rules coexist. Built in Haskell with heavy type-level machinery (quantified constraints, custom tag lists) after a year and a half of work, it demonstrates zero-cost effects and provides translation between language fragments, but the C backend and ergonomics are unfinished and the codebase needs contributors to resolve remaining compiler and API rough edges.
AI-written summary · about
chapters (6)
- 0:00Start
- 2:42Plutarch 1 in practice
- 8:31Free without Pure (Plutarch 2's new design)
- 10:38Implementation
- 14:20Example of language
- 15:19Definition of SimpleLanguage
related talks
45mDeveloping DSLs with FP: Exploring 3 Strategies Through Examples
35mDesigning Domain-Specific Languages: A Comparison of Three Approaches by Example
29mPlinth: A Plugin-Powered Language Built on Haskell (Experience Report)
28mFrom Lambda to Ledger: An Architectural Comparison of Plinth and Plutarch
46mWhat is PL Research?
34mPatterns of a pragmatic functional architecture
48mDescribe & Conquer (& Freek)
01h 14mBeyond Free Monads
