Macro fungi_lang::fgi_val
[−]
[src]
macro_rules! fgi_val { { fromast $ast:expr } => { ... }; { $v:tt : $($a:tt)+} => { ... }; { thunk $($e:tt)+ } => { ... }; { ($($tup:tt)*) } => { ... }; { inj1 $($v:tt)+ } => { ... }; { inj2 $($v:tt)+ } => { ... }; { roll $($v:tt)+ } => { ... }; { pack ($($is:tt)+) $($v:tt)+ } => { ... }; { pack $i:tt $($v:tt)+ } => { ... }; { name $($n:tt)+ } => { ... }; { nmfn $($m:tt)+ } => { ... }; { true } => { ... }; { false } => { ... }; { @@$($s:tt)+ } => { ... }; { @$n:expr } => { ... }; { str($($s:tt)*) } => { ... }; { $x:ident } => { ... }; { $n:expr } => { ... }; { $($any:tt)* } => { ... }; }
Parser for values
v::=
fromast ast (inject ast nodes)
thunk e (anonymous thunk)
v : A (annotation)
(v1,v2,...) (unit,parens,tuples)
inj1 v (first sum value)
inj2 v (second sum value)
roll v (roll an unrolled recursively-typed value)
pack (i1,...) v (pack index term(s) that describe a value v)
name n (name value)
nmfn M (name function as value)
true,false (bool primitive)
@@str (name primitive(symbol))
@1235 (name primitive(number))
str(string) (string primitive)
x (variable)
1234 (nat primitive)