Programming
  • Egison's Pattern-matching via Logic Programming

    by Vanessa McHale | Programming

    Egison advocates a pattern-match oriented style of programming and offers poker hands as an example:

  • Infelicities With Traditional Compiler Architecture on X86

    by Vanessa McHale | Programming

    Compilers are written as a pipeline: in particular, instruction selection and register allocation are different phases. GHC, for instance, uses maximal munch for instruction selection and a variety of register allocators. However, on x86-64 (for instance), register allocation constrains the particular instruction encodings, which affects the cost of some instructions.

  • APL Is Truly Different

    by Vanessa McHale | Programming

    APL is truly different from other languages; nearly every language uses lexical scoping to express composition. Both GHC Haskell and GCC/Clang use a stack for variables across procedures because it models how variables become available (FIFO). Putatively different languages are constrained by the same fundamentals.

  • Dimension Is a Functor

    by Vanessa McHale | Programming

    Dimension is a functor. This is true for points in space as well as arrays (more concretely).

  • Laconic J

    by Vanessa McHale | Programming

    One of the virtues of J is its conciseness; I think this is underrated in exploratory programming. Here I present some J one-liners alongside samples of other languages.