Vanessa McHale's blog (5)
  • Calling System Functions in a JIT

    by Vanessa McHale | Compilers

    Writing a practical JIT is somewhat complicated and in fact depends on the assembler; here I present a full example in Haskell. Notably this JIT/assembler is capable of calling procedures in system libraries (i.e. malloc, free)

  • Row Types in Haskell

    by Vanessa McHale | Haskell

    "Typing Haskell in Haskell" makes the implementation of type systems concrete for programmers; recent developments in type theory have much to offer but are not developed to this depth even in theory. Row types are particularly juicy because one does not lose type inference; we can use the exact same unification approach and need not resort to ordered contexts or focalization.

  • Typing APL: Elliptic Fourier Series As an Example

    by Vanessa McHale | Vector Languages

    Elliptic Fourier series are a good example to kick the tires on array programming systems; J and Python, however, are both dynamically typed.

  • The Moral Imperative to Type Imperative Languages With Linear Logic

    by Vanessa McHale | Computer Science

    "Linear Types can change the world." Lafont has shown us how to create a linear abstract machine. Yet the moral imperative to use linear types in computer science is not widely appreciated.

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

    |