1. Overview
  2. Introduction
    1. Delay and Force
    2. Pattern Matching
    3. Plutarch Terms
      1. Plutarch Constants
      2. Plutarch Lambdas
    4. Plutarch Types
    5. Untyped PlutusCore
    6. Dev Guide
    7. Run
    8. Troubleshooting
  3. Examples
    1. Basic
    2. Validator
  4. Concepts
    1. Data and Scott Encoding
    2. Generic Programming
    3. Haskell Synonym
    4. Hoisting
    5. What is the s?
  5. Types
    1. PAsData
    2. PBool
    3. PBuiltinList
    4. PBuiltinPair
    5. PByteString
    6. PData
    7. PDataSum and PDataRecord
    8. PInteger
    9. PList
    10. PString
    11. PUnit
  6. Typeclasses
    1. PLiftable
    2. PEq and POrd
    3. PIntegral
    4. PIsData
    5. PIsDataRepr and PDataFields
    6. PListLike
    7. PlutusType, PCon, and PMatch
    8. PTryFrom
  7. Usage
    1. Avoid Work Duplication Using plet
    2. Conditionals
    3. Deriving for Newtypes
    4. Deriving with Generics
    5. DoSyntax with QualifiedDo
    6. DoSyntax with TermCont
    7. Raising Errors
    8. Recursion
    9. Tracing
    10. Unsafe Functions
  8. Tricks
    1. Difference between pcon and pconstant
    2. Don't Duplicate Work
    3. makeIsDataIndexed, HaskellADTs, and PIsDataRepr
    4. Optimizing Unhoistable Lambdas
    5. Plutarch Functions Strict
    6. Prefer Matching on pmatch Result Immediately
    7. Prefer Plutarch Functions
    8. Prefer Statically Building Constants
    9. Representation of Plutarch Type
    10. Responsibility of Evaluation in Haskell Functions
    11. Using Haskell Level Functions
    12. Working with Bound Fields