Vanessa McHale's blog (3)
  • All Programming Languages Should Have Linear Types

    by Vanessa McHale | Computer Science

    Much like all dynamically typed languages are poor statically typed languages, typed functional programming languages (corresponding to intuitionistic logic) are subsumed by linear logic. Girard articulates this unity in the logical context. Let us gloss the functional programming side of things.

  • Sed Examples in Jacinda

    by Vanessa McHale | Jacinda

    The GNU sed manual offers the following to join backslash-continued lines:

  • Num Instances for ASTs

    by Vanessa McHale | Haskell

    One can define a Num instance in Haskell for ASTs of expressions, viz.

  • Linear Types for Manipulating Expressions in the Lambda Calculus

    by Vanessa McHale | Computer Science

    If we wish to preserve global uniqueness of names during \(\beta\)-reduction, we have to \(\alpha\)-rename before each substitution. Consider:

  • Linear Effects Handling

    by Vanessa McHale | Computer Science

    Haskell puts all side effects in the IO monad, which passes around the RealWorld. This is unsatisfactory for a number of reasons, and Haskellers have spilled much ink on effects systems. As I recently noted, there are distinctions in how one handles effects at the logical level: in particular, randomness is different from array writes.