Module fungi_lang::ast
[−]
[src]
Syntax: abstract (via Rust datatypes) and concrete (via Rust macros).
Program terms:
- Expressions (e
): concrete,
abstract.
- Values (v
): concrete,
abstract.
Types and effects:
- Value types (A,B
): concrete,
abstract.
- Computation types (C,D
): concrete,
abstract.
- Effect types (E
): concrete,
abstract.
- Effects (ε
): concrete,
abstract.
- Kinds (K
): concrete,
abstract.
Index terms, name terms, sorts:
- Name literals (n
): concrete,
abstract.
- Name terms (N,M
): concrete,
abstract.
- Index terms (i,j,X,Y,Z
): concrete,
abstract.
- Propositions (P
): concrete,
abstract.
- Sorts (g
): concrete,
abstract.
Structs
HostEvalFn | |
Module |
Each module consists of a declaration list body |
UseAllModule |
Declaration that uses (imports) all decls from another module |
Enums
CEffect |
Computation effects |
CType |
Computation types |
Decls |
Declaration lists; the body of each module |
Effect |
Effects |
Exp |
Expressions (aka, computation terms) |
IdxTm |
Index terms |
Kind |
Kinds (classify types) |
Name |
Name Literals |
NameTm |
Name Terms |
PrimApp |
Expressions (aka, computation terms) |
Prop |
Propositions about name and index terms |
Sort |
Sorts (classify name and index terms) |
Type |
Value types |
TypeCons |
Type constructors |
Val |
Value terms |
Type Definitions
CEffectRec | |
DeclsRec | |
EffectRec | |
ExpRec | |
IdxTmRec | |
KindRec | |
NameRec | |
NameTmRec | |
PropRec | |
SortRec | |
TypeRec | |
ValRec | |
Var |