Module gluon_base::ast[][src]

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

Structs

Alternative
Argument
Array
AstType
Do
EmptyEnv
ExprField
Lambda
PatternField
TypeBinding
TypedIdent
ValueBinding

Enums

Expr

The representation of gluon's expression syntax

Literal
Pattern

Traits

Commented
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 overridden 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

expr_to_path
is_constructor
is_operator_char
walk_expr
walk_mut_alias
walk_mut_ast_type
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

SpannedAlias
SpannedAstType
SpannedExpr
SpannedIdent
SpannedPattern

Pattern which contains a location