Vanessa McHale's blog (1)
  • Rosetta

    by Vanessa McHale | Vector Languages

    To compute a 7-day moving average:

  • Follow-up: Typed Elliptic Fourier Series

    by Vanessa McHale | Vector Languages

    As I wrote about previously I am working on a typed array language with the case of elliptic Fourier series 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.

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