Macro fungi_lang::fgi_effect [] [src]

macro_rules! fgi_effect {
    { fromast $ast:expr } => { ... };
    { ($($e:tt)+) } => { ... };
    { {$($wr:tt)+} } => { ... };
    { 0 } => { ... };
    { $e1:tt then $e2:tt } => { ... };
    { $e1:tt then $e2:tt $($more:tt)+ } => { ... };
    { $($any:tt)* } => { ... };
}

Parser for Effects

ε ::=
    fromast ast        (inject ast nodes)
    (ε)                (parens)
    {X;Y}              (<Write; Read> effects)
    0                  (sugar - {0;0})
    ε1 then ε2 ...     (extended effect sequencing)