1. 22 Apr, 2018 4 commits
    • Hardy Jones's avatar
      Add let and let with multiple bindings · 702d0a42
      Hardy Jones authored
      It's pretty straight forward how it works (thanks @LiamGoodacre!).
      702d0a42
    • Hardy Jones's avatar
      Add lambdas with named variables · db42307d
      Hardy Jones authored
      There's a more human-friendly version of the untyped lambda calculus.
      We can start using variables, so people can write lambdas a bit easier.
      However, we can still desugar that to the underlying calculus.
      
      There's a bit of a problem when desugaring variables, though.
      If a variable isn't in the naming context, we won't have an index for it.
      So, we can't fully desugar it.
      There's almost surely a way to fix that.
      db42307d
    • Hardy Jones's avatar
      Add a bunch of algebras · a087e590
      Hardy Jones authored
      Just a bunch of primitives that are useful in building calculi.
      For instance, the untyped lambda calculus can be
      `MuV (Abs + App + DeBruijn)`.
      a087e590
    • Hardy Jones's avatar
      Initial commit · 1a84a32d
      Hardy Jones authored
      1a84a32d