Gradualizer

A type checker for Erlang using gradual typing. Gradual typing provides a very gentle slope to add types to a code base and Gradualizer has been used to add types to large Erlang code bases. It's not actively maintained anymore.

Erlang Type System 620+ ★

STMonadTrans

A monad transformer version of the ST monad for Haskell. Published on Hackage and Stackage, actively maintained since 2008.

Haskell Hackage

DSL-tutorial

Tutorial materials on embedded domain-specific languages in Haskell, presented at the IFIP Working Conference on DSLs.

Haskell DSL Tutorial

lexcode

A serde-based serializer and deserializer for Rust that preserves lexicographic ordering of encoded values.

Rust serde

Hashlisp

An experiment in language design where the heap is a hashtable. This enables hash-consing, avoiding reallocating varlues that already exists on the heap. The language itself is a Scheme/Lisp-like language. Includes libraries for BDDs, e-graphs, HashLife, sets, miniKanren, and more — all benefiting from automatic sharing.

Rust Lisp Hash-consing