From Lambda to Ledger: An Architectural Comparison of Plinth and Plutarch
summary
Compares two Cardano smart‑contract approaches: a GHC plugin (Plinth) vs an embedded DSL (Plutarch), implements seven validators and measures source size, on‑chain size, execution cost, jargon in code and errors, and debuggability. Finds Plinth yields smaller source in 6 of 7 cases and finer source‑level annotations for CK‑machine debugging; Plutarch is much easier to maintain as a plain Haskell library. Generated UPLC sizes and execution budgets are largely similar, so architecture shifts tradeoffs between ergonomics, diagnostics, and maintenance.
AI-written summary · about
chapters (11)
- 0:00Plinth and Plutarch intro
- 1:47Architecture design
- 6:07Execution layer UPLC
- 8:15Compilation pipelines
- 13:03Metaprogramming techniques
- 16:58Maintenance and debugging
- 17:20Script evaluation data
- 18:45Source code size
- 20:53Onchain script costs
- 21:38Error messages
- 23:44Q&A
related talks
29mPlinth: A Plugin-Powered Language Built on Haskell (Experience Report)
45mDeveloping DSLs with FP: Exploring 3 Strategies Through Examples
45mFunctional Smart Contracts
45mMarlowe: financial contracts on Blockchain
25mFree without Pure: eDSL framework Plutarch
45mPresent & Future of Blockchain Ⅱ
46mApplying Continuous Formal Methods to Cardano
48mWhy Writing Blockchain Applications is Hard, and How FP Can Help
