Crate fungi_lang [] [src]

Modules

ast

Syntax: abstract (via Rust datatypes) and concrete (via Rust macros).

bitype

Bidirectional type system.

decide

Decision procedures for Fungi type and effect system.

eval

Evaluation semantics.

stdlib

Fungi standard library.

vis

Visualization of ASTs, typings, evaluation, etc.

Macros

fgi_bundle
fgi_ceffect

Parser for Computations with effects

fgi_ctype

Parser for computation types

fgi_decls

Parser for declaration lists

fgi_effect

Parser for Effects

fgi_exp

Parser for expressions

fgi_index

Parser for Index Terms

fgi_inner_mod

Declare an inner, named Fungi module, using an inner host (Rust) module.

fgi_kind

Parser for Kinds

fgi_mod

Declare the Fungi module for current host (Rust) module.

fgi_module

Parser for modules, whose bodies consist of a declaration list.

fgi_name

Parser for Name Literals

fgi_nametm

Parser for Name Terms

fgi_prop

Parser for Propositions

fgi_sort

Parser for Sorts

fgi_val

Parser for values

fgi_vtype

Parser for value types

parse_fgi_arrow

this macro is a helper for fgi_ctype, not for external use

parse_fgi_earrow

this macro is a helper for fgi_ceffect, not for external use

parse_fgi_eff

this macro is a helper for fgi_effect, not for external use

parse_fgi_name_bin

this macro is a helper for fgi_nametm, not for external use

parse_fgi_prod

this macro is a helper for fgi_vtype, not for external use

parse_fgi_split

this macro is a helper for fgi_exp, not for external use

parse_fgi_sum

this macro is a helper for fgi_vtype, not for external use

parse_fgi_tuple

this macro is a helper for fgi_ceffect, not for external use

split_arrow

run a macro on a list of lists after splitting the input

split_comma

run a macro on a list of lists after splitting the input

split_cross

run a macro on a list of lists after splitting the input

split_plus

run a macro on a list of lists after splitting the input

split_semi

run a macro on a list of lists after splitting the input