In Haskell, one can present a streaming compression/decompression API with lazy bytestrings.
One can define a Num
instance in Haskell for ASTs of expressions, viz.
Haskell programmers have an undue reputation for writing obfuscated code, perhaps due to the fondness for pointfree code and higher-order functions. However the commitment to terseness is dubious at best; syntax is rarely exploited.
"Typing Haskell in Haskell" makes the implementation of type systems concrete for programmers; recent developments in type theory have much to offer but are not developed to this depth even in theory. Row types are particularly juicy because one does not lose type inference; we can use the exact same unification approach and need not resort to ordered contexts or focalization.
One common oversight in Haskell compilers is failing to intern identifiers
using Int
s and failing to prefer IntMap
s and IntSet
s. The PureScript compiler,
for instance, uses Map
s as of writing.