Module gluon_base::ast [] [src]

Module containing the types which make up gluon's AST (Abstract Syntax Tree)

Structs

Alternative
Array
Lambda
TypeBinding
TypedIdent
ValueBinding

Enums

Expr

The representation of gluon's expression syntax

Literal
Pattern

Traits

DisplayEnv
IdentEnv
MutVisitor

Visitor trait which walks over expressions calling visit_* on all encountered elements. By default the visit_* functions just walk the tree. If they are overriden the user will need to call walk_mut_* to continue traversing the tree.

Typed

Trait which abstracts over things that have a type. It is not guaranteed that the correct type is returned until after typechecking

Visitor

Functions

is_operator_char
walk_expr
walk_mut_expr
walk_mut_pattern

Walks a pattern, calling visit_* on all relevant elements

walk_pattern

Walks a pattern, calling visit_* on all relevant elements

Type Definitions

SpannedExpr

Expression which contains a location

SpannedPattern

Pattern which contains a location