Module kind_tree::untyped

source ·
Expand description

The untyped AST. This module describes an unsugared and untyped tree that is a IR

Re-exports

Structs

  • An argument is a ‘binding’ of a name to a type it has some other options like eras: that express the erasure of this type when compiled. hide: that express a implicit argument (that will be discovered through unification).
  • A book is a collection of desugared entries.
  • An entry describes a function that is typed and has rules. The type of the function consists of the arguments @args@ and the return type @typ@.
  • A rule is a equation that in the left-hand-side contains a list of patterns @pats@ and on the right hand side a value.

Enums

Type Definitions

  • Just a vector of expressions. It is called spine because it is usually in a form like (a b c d e) that can be interpret as ((((a b) c) d) e) that looks like a spine.