Skip to content

Instantly share code, notes, and snippets.

module Expression
LiteralInt = Data.define(:value)
LiteralString = Data.define(:value)
Variable = Data.define(:name)
Annotation = Data.define(:expression, :type)
Lambda = Data.define(:arg_name, :body_expr)
Application = Data.define(:lambda, :arg)
end
module Type