Blog: eDSL
Introduction to Free Monads
In this introductory article, we'll show you what free monads are, why they are useful, and give examples on how they can be used.
Lorentz: Type-Safe Storage Migrations
In this article, we'll look at how you can make storage migratable in Lorentz, our Haskell eDSL for the Michelson smart contract language.
Lorentz: Type-Safe Upgradeable Storage
Once deployed, large-scale smart contracts can sometimes become outdated and require upgrades. In this part of our Lorentz series, we show how to make a smart contract with upgradeable storage in Lorentz.
Lorentz: Generating Documentation for Smart Contracts
In this article, we'll show how you can maintain Tezos smart contract documentation with ease by using Lorentz, our eDSL for Michelson smart contracts.
Lorentz: Achieving Correctness with Haskell Newtypes
In this article, we will introduce you to the use of Haskell newtypes in Lorentz, the smart contract eDSL for Michelson.
Lorentz: Introducing Complex Objects with Haskell Generics
This is the second post in a series about Lorentz — a Haskell eDSL for the Michelson smart contract language. In this post, we will enrich Lorentz with additional functionality, adding objects with multiple fields.
Lorentz: Implementing Smart Contract eDSL in Haskell
Together with the TQ Group, we have been working on several tools that use Haskell to improve writing and testing Michelson code on Tezos. This is the first post in a series about one of them — Lorentz, a Haskell eDSL for Michelson smart contracts.
Serokell Takes First Place at TON Contest
The results of the TON smart contracts contest are out, and our team has got the largest cash award. In this article, we give a brief intro to our submission and talk about our experience during the contest.
TON: Is Haskell More Fun than FunC?
We participated in the Blockchain Developer competition announced by the Telegram Open Network team. Here is what we submitted as our entry and what we learned while working on it.
Parsing Typed eDSL
Embedded DSL (or eDSL) is a popular technique for encoding your domain-specific language into Haskell’s type system. How do we use it in Tezos developer tools? Read more in this article.