Skip to content

Instantly share code, notes, and snippets.

View yuri4n's full-sized avatar
🤡

Bryan Julian Garzon yuri4n

🤡
View GitHub Profile
/** This is basically The Lambda Calculus itself. This also forms our AST.
*/
enum Expr:
case Application(lhs: Expr, rhs: Expr)
case Function(param: Token.Identifier, body: Expr)
case Atom(identifier: Token.Identifier)
/** Characters that make our syntax, e.g. (λx.x λx.x) λy.y
*/
enum Token: