<speaker>
Ziyang Liu
Input Output Global
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<talk>
-
Designing Domain-Specific Languages: A Comparison of Three Approaches by Example
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Languages,
Compilers,
DSL,
Blockchain
Speaker bio
I lead the Plutus team at Input Output Global, developing smart contract languages for the Cardano blockchain, along with compilers, interpreters, libraries and costing infrastructure for the languages. All our work is open source and openly available at <https://github.com/IntersectMBO/plutus>.
Excerpt
Domain-specific languages (DSL) are languages specialized for a particular domain, and typically come with features that make them suitable for programming in the context of that domain. We'll go over three different approaches for building DSLs: (1) standalone DSLs, (2) DSLs embedded in existing languages, and (3) subsets of existing languages. One example domain is that of smart contract languages for the Cardano blockchain, where there exist DSLs taking each of the three approaches, and we'll use these examples, as well as our own experience in building the Plutus Tx language, to explain the trade-offs.