plu-ts is a strongly typed eDSL for generating Cardano Smart Contracts.
In order to allow the creation of efficient smart contracts,
plu-ts is functional, allowing more control over the compiled result.
As a consequence of the functional nature of the language, everything in
plu-ts is an expression.
eDSL stands for
embedded Domain Specific Language.
What it means can be explained by analyzing the definition:
Languageexplains that is a programming language we are talking about.
Domain Specificexplains that the language is meant for a specific set of tasks. The "Domain", or specific purpose of
plu-tsis the creation of Cardano smart contracts.
embeddedmeans that it is a language inside another language. While
plu-tsis a language on its own, it is built inside of the Typescript language (which is called the host language).
plu-ts code it is important to distinguish what parts of the code are native to Typescript and what parts are
Since Typescript is the host language, Typescript will be our starting point for learning about