Programming
  • Performant Elgot Algebras

    by Vanessa McHale | Programming

    As you may have read in one of my past posts or elsewhere, performance across languages can be complicated, and it's not always as obvious as you'd expect.

  • Why Lenses Work

    by Vanessa McHale | Programming

    I came across the idea to use \(F\)-(co)algebras to encode general constructors and destructors when reading Martin Erwig's paper on synchromorphisms.

  • Computing Continued Fractions With Apomorphisms

    by Vanessa McHale | Programming

    The modern theory of continued fractions comes from Christiaan Huygens, a Dutch physicist who invented the pendulum clock. Continued fractions turn out to be an especially elegant way of finding rational approximations of a number; this enabled him to design clocks with small gears that nonetheless provided the desired degree of accuracy.

  • Mixing Supercompilers and Recursion Using Elgot Algebras

    by Vanessa McHale | Programming

    Relatively little has been written on Elgot algebras in Haskell. While this example is a little simple-minded (computing Collatz sequences for numbers), it is to my knowledge the only example of Elgot algebras with code1. Moreover, it shows off several of Haskell's strengths.

  • Comparing Rust and Haskell Performance

    by Vanessa McHale | Programming

    "As fast as C" has been buzzing around Haskell circles, so I figured I'd write a short blog post on a benchmark I stumbled on that's actually faster than its equivalent in Rust for small inputs. I have good things to say about both languages, so stick around.

    |