Haskell
  • Streaming Compression/decompression in Haskell via Laziness

    by Vanessa McHale | Haskell

    In Haskell, one can present a streaming compression/decompression API with lazy bytestrings.

  • Num Instances for ASTs

    by Vanessa McHale | Haskell

    One can define a Num instance in Haskell for ASTs of expressions, viz.

  • Laconic Haskell

    by Vanessa McHale | Haskell

    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.

  • Row Types in Haskell

    by Vanessa McHale | Haskell

    "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.

  • Names in Haskell Compilers

    by Vanessa McHale | Haskell

    One common oversight in Haskell compilers is failing to intern identifiers using Ints and failing to prefer IntMaps and IntSets. The PureScript compiler, for instance, uses Maps as of writing.