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