Expand description
This module describes a abstract syntax tree that is almost like a concrete tree. It helps when it we have to statically analyse the tree in order to generate better error messages.
Structs§
- AppBinding
- A binding that is used inside applications.
- Case
- A match case with a constructor that will match the strutinizer, bindings to the names of each arguments and a right-hand side value. The ignore_rest flag useful to just fill all of the case bindings that are not used with a default name.
- Expr
- Describes a single expression inside Kind2.
- Match
- A match block that will be desugared into an eliminator of a datatype.
- SeqRecord
- Sttm
- Structure of the insides of the
do
notation. It describes the idea ofsequence
inside a monad each monadic action contains anext
element that is desugared into a ‘monadic bind’. - Substitution
- Substitution
Enums§
- Binding
- A binding express the positional or named argument of a constructor or function.
- Case
Binding - A case binding is a field or a rename of some field inside a match expression.
- Destruct
- A destruct of a single constructor. It’s a flat destruct and just translates into a eliminator for records.
- Expr
Kind - Literal
- SeqOperation
- Sttm
Kind
Type Aliases§
- Spine
- Vector of bindings