Vanessa McHale
  • Logic Programming Doesn't Work in the Real World

    by Vanessa McHale | Computer Science

    Logic programming fails for many reasons; interestingly it fails to integrate with imperative programming or export its constructs. Haskell's monadic I/O—explicitly passing a RealWorld—offers a nice demonstration.

  • 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:

  • Lessons from Writing an Array Language Compiler

    by Vanessa McHale | Compilers

    My Apple compiler started as an experiment in what I would implement as compiler for an array system. Several parts did not pan out so I offer my warnings and advice to other array language implementers.

  • Laconic Haskell

    by Vanessa McHale | Haskell

    Haskell programmers have an undue reputation for writing obfuscated code, perhaps due to the fondness for pointfree code and higher-order functions. However the commitment to terseness is dubious at best; syntax is rarely exploited.

  • Compiling Functions to Jumps

    by Vanessa McHale | Compilers

    Functions are compiled to machine by a convention of jumps and registers; one calls a function by jumping to its location in memory. These jumps are relative and particular functions (say, malloc) may be loaded at different memory locations, so the machine code for a function cannot be pinned down and in fact is contingent on every function that it calls.

    |