Programming
  • Airing of the Grievances

    by Vanessa McHale | Programming

    I recently wrote a small source code counter and as part of the process I naturally ran some benchmarks to compare to the many tools that already exist. The results were somewhat erratic, but I was quite disappointed with Rust.

  • Where Imperative Languages Fail

    by Vanessa McHale | Programming

    The task is to write a program that computes Fibonacci numbers such that it is obvious the program is correct. It's a sort of "Fibonacci readable" benchmark, and I contend to there exists no solution written in an imperative style that is satisfactory.

  • The Right Tool for the Job

    by Vanessa McHale | Programming

    I figured I'd present some benchmarks I did because I think it gives some nice examples of the wrong tool for the job. Most of these are from answers on StackOverflow.

  • Matrix Algebra in Idris

    by Vanessa McHale | Programming

    I wanted to share a little example I came across while working on one of my Idris libraries. It's matrix multiplication, but from an angle you may not be used to. In particular, though it is written in Idris (a strict language), it composes as well arrays in Haskell or another lazy language thanks to dependent types.

  • Xiphophyllous Trees

    by Vanessa McHale | Programming

    One way to define laziness is as follows: a language has strict evaluation if and only if \(f(\bot) = \bot\) for every function \(f\) definable in the language.