Designing a non-Haskell DSL that compiles to Plutus-Core

This could be broken up into multiple requirements:

  • DSL output should be compatible with pinning (IPFS, Arweave, etc)
  • DSL should be compiled and verified (PAB, plutus playground, etc)
  • DSL spec should be open to implementation (typescript, python, etc)

Related Reference: https://forum.cardano.org/t/how-exactly-does-plutus-core-access-the-datum-redeemer-and-scriptcontext