Marlowe Logo

Explore Marlowe

  • Tutorials
    • Introducing Marlowe
      • Programming Languages and Domain-Specific Languages
      • Marlowe in a nutshell
      • Timeouts, deposits and commitments
      • Marlowe in action
      • Research-based
      • Finding out more
    • A first example
      • A simple escrow contract
      • Escrow in Marlowe
      • Adding timeouts
      • Adding commitments
      • Definitions
      • Notes
      • Background
    • The Marlowe model
      • Contracts
        • Participants, roles, and public key
        • Accounts
        • Steps and states
      • Blockchain
        • UTxO, wallets and the Marlowe Run app
        • Omniscient simulation
        • Values and tokens
      • Executing a Marlowe contract
    • Marlowe step by step
      • Pay
      • Close
      • Values, observations and actions
      • Oracles
      • If
      • When
      • Let
      • Assert
    • Marlowe in Blockly
      • Getting started
        • Exercises
      • Editing Blockly
    • The Marlowe data types
      • Marlowe
      • Basic components
      • Values, observations and actions
      • Extended Marlowe
      • Transactions
      • Time intervals
        • Notes
    • Marlowe embedded in Haskell
      • A simple escrow contract, revisited.
        • Note
    • Marlowe embedded in JavaScript
      • Using the JS Editor in the Marlowe Playground
      • The SomeNumber type
      • The EValue type and boolean overloading
      • Example: Writing a Swap contract in TypeScript
    • The Marlowe Playground
      • Introducing the Marlowe Playground
      • Getting started
      • The JavaScript Editor: developing embedded contracts
      • The Haskell Editor: developing embedded contracts
      • Developing contracts in Blockly
      • Developing contracts in Marlowe
      • Simulating Marlowe contracts and templates
      • Oracle simulation
      • Saving and Opening Projects
      • Analysing a contract
    • Potential problems with contracts
      • Warnings
        • Non-positive payments
        • Non-positive deposits
        • Partial payment
        • Let shadowing (not covered by static analysis)
      • Bad smells
        • Undefined Let usage (should be a warning)
        • Unreachable parts of a contract
      • Usability issues
        • Bad timing of When constructs
      • Errors
        • Ambiguous interval
        • Apply no-match
        • Useless transaction
    • Static analysis
      • An example
      • Under the hood
      • Next steps
    • ACTUS and Marlowe
      • ACTUS
      • Simple Zero Coupon Bond Example
      • Guaranteed Coupon Bond Example
    • Using Marlowe from the ghci command line
      • Marlowe in Haskell
      • Stepping through contracts
      • Alternative routes through the contract
    • Using Marlowe Run
      • Accessing the Marlowe Run Demo
      • Adding Contacts
    • Migrating from earlier versions of Marlowe
      • Remove Both
      • Include accounts
        • Discussion: Implicit vs Explicit Accounts
      • Close replaces Null / Pay
      • Pay
      • Multi-clause When
      • Observations and Values
      • Inclusion of TimeIntervals

Reference

  • Reference
    • Examples
    • Cost model parameters
    • Glossary
    • Bibliography
Marlowe
  • »
  • Reference
  • Edit on GitHub

ReferenceΒΆ

  • Examples
  • Cost model parameters
  • Glossary
  • Bibliography
Next Previous

© Copyright 1980, IOHK.

Built with Sphinx using a theme provided by Read the Docs.