Haskell
  • Benchmarking Code Produced by Different Versions of GHC

    by Vanessa McHale | Haskell

    Though it does not often get mentioned in the Haskell community, simply bumping to a new version of GHC can drastically improve the performance of your code. Here, I have several examples from my fast-arithmetic package, which will hopefully give an idea of just how much work has gone into optimizing code produced by GHC.

  • Uncanny Haskell

    by Vanessa McHale | Haskell

    Below, I have collected several examples of "uncanny" Haskell. These are things that may be surprising to those who have learned the language merely by doing.

  • Mendler-style Catamorphisms

    by Vanessa McHale | Haskell

    You may have seen my post on co-(Elgot algebras), in which I mentioned I had been using some exotic recursion schemes for my gmpint package. I came across a similar example, this time for Mendler-style recursion schemes. To my knowledge, it is the only published example of a Mendler-style catamorphism.

  • Co-(Elgot Algebra)s in the Wild

    by Vanessa McHale | Haskell

    I've been looking for an example of co-(Elgot algebra)s for quite some time, and I came across a surprisingly nice example while working on my gmpint package.

  • Monads As "Programmable Semicolons"

    by Vanessa McHale | Haskell

    If you have followed the Haskell community much, you may have heard the phrase "programmable semicolon" in relation to monads. Of course, it is not obvious what is meant by such a thing, so I figured I'd write a short explanation for those already familiar with monads.

    |