Module desugared

Source
Expand description

The desugared AST. This module describes an unsugared tree that is used by the type checker and by the targets.

Re-exports§

pub use crate::Operator;

Structs§

AppBinding
Argument
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).
Book
A book is a collection of desugared entries.
Entry
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@.
Expr
Family
Type family information
Rule
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§

ExprKind

Functions§

try_desugar_to_nat

Type Aliases§

Spine
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.