Concepts
Core concepts
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 concepts
eDSL stands for embedded Domain Specific Language
.
What it means can be explained by analyzing the definition:
Language
explains that is a programming language we are talking about.Domain Specific
explains that the language is meant for a specific set of tasks. The "Domain", or specific purpose ofplu-ts
is the creation of Cardano smart contracts.embedded
means that it is a language inside another language. Whileplu-ts
is a language on its own, it is built inside of the Typescript language (which is called the host language).
tip
When writing plu-ts
code it is important to distinguish what parts of the code are native to Typescript and what parts are plu-ts
.
Since Typescript is the host language, Typescript will be our starting point for learning about plu-ts
.