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. |
subst |
Static (typing-time) substitutions. |
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_pack_multi |
this macro is a helper for fgi_val, 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_val, 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 |