Haskell
  • The Interesting Part of Monadic Effects

    by Vanessa McHale | Haskell

    Monads for effects are familiar to the Haskell programmer; they were introduced by Wadler's "Monads for functional programming" and are the accepted way to work with side effects in a lazy language.

  • Tricks for Compilers in Haskell

    by Vanessa McHale | Haskell

    When writing a compiler, one typically annotates the syntax tree in various phases. What the nodes are annotated with will vary over the course of the program; one might add type information during a type synthesis phase.

  • Compiler Performance in Haskell

    by Vanessa McHale | Haskell

    I stumbled across a comment by András Kovács on compiler performance, which brought up some of the difficulties writing adequate compilers in lower-level languages such as C++ or Rust.

  • Strict Data Structures Do Not Improve Performance

    by Vanessa McHale | Haskell

    I have seen "strict data structures, lazy functions" bandied about among Haskellers. This is bad advice. Preferable is "know what you are doing."

  • Lazy Streaming With a C API

    by Vanessa McHale | Haskell

    Streaming via a C API presents a conundrum in Haskell: on the one hand, the C code is side effecting, on the other, we would like to provide a lazy API.

    |