Recursive withdrawals
Guided exampleThe paper's compact introductory example: algebraic data, pattern matching, recursion, and integer arithmetic side by side.
Learn Plinth and Plutarch side by side with the paper's introductory program, complete Cardano validators, and paired compiler-error examples. Every link opens editable source in the browser.
A small, complete program that makes the surface-language differences easy to see before moving into ledger APIs.
Production-shaped contracts covering the major Cardano script purposes and common ledger operations.
CIP-143 programmable token logic
Governance proposal guardrails
Fundraising, withdrawal, and refund validator
Hydra head state-machine validator
Settings authorization NFT and multisig validator
Time-locked release of funds
Vote-delegation certificate validation
Hot committee credential script
These projects are intentionally broken. Compile both versions and compare how each language explains the same class of mistake.
Compare a missing Eq constraint in Plinth with the corresponding PEq constraint in Plutarch.
See how generic on-chain data requires ToData/UnsafeFromData in Plinth and PIsData in Plutarch.
Contrast ordinary Haskell application with Plutarch's # operator when parentheses are missing.
Compare accidental name shadowing in direct Plinth recursion with an incorrectly constructed Plutarch recursive term.