Macro m

Source
macro_rules! m {
    (atom $i:ident) => { ... };
    (atom $l:literal) => { ... };
    (atom ~) => { ... };
    (atom ($t:tt) $elongate:literal $($ts:tt)*) => { ... };
    (group $i:ident($a:literal,$b:literal) $($ts:tt)*) => { ... };
    (group $l:literal($a:literal,$b:literal) $($ts:tt)*) => { ... };
    (group {{$e:expr}} $($ts:tt)*) => { ... };
    (group $i:ident _ _ _ _ _ _ _ $($ts:tt)*) => { ... };
    (group $i:ident _ _ _ _ _ _ $($ts:tt)*) => { ... };
    (group $i:ident _ _ _ _ _ $($ts:tt)*) => { ... };
    (group $i:ident _ _ _ _ $($ts:tt)*) => { ... };
    (group $i:ident _ _ _ $($ts:tt)*) => { ... };
    (group $i:ident _ _ $($ts:tt)*) => { ... };
    (group $i:ident _ $($ts:tt)*) => { ... };
    (group $i:ident $($ts:tt)*) => { ... };
    (group $l:literal _ _ _ _ _ _ _ $($ts:tt)*) => { ... };
    (group $l:literal _ _ _ _ _ _ $($ts:tt)*) => { ... };
    (group $l:literal _ _ _ _ _ $($ts:tt)*) => { ... };
    (group $l:literal _ _ _ _ $($ts:tt)*) => { ... };
    (group $l:literal _ _ _ $($ts:tt)*) => { ... };
    (group $l:literal _ _ $($ts:tt)*) => { ... };
    (group $l:literal _ $($ts:tt)*) => { ... };
    (group $l:literal $($ts:tt)*) => { ... };
    (group ~ _ _ _ _ _ _ _ $($ts:tt)*) => { ... };
    (group ~ _ _ _ _ _ _ $($ts:tt)*) => { ... };
    (group ~ _ _ _ _ _ $($ts:tt)*) => { ... };
    (group ~ _ _ _ _ $($ts:tt)*) => { ... };
    (group ~ _ _ _ $($ts:tt)*) => { ... };
    (group ~ _ _ $($ts:tt)*) => { ... };
    (group ~ _ $($ts:tt)*) => { ... };
    (group ~ $($ts:tt)*) => { ... };
    (group $l:literal $($ts:tt)*) => { ... };
    (group [$($a:tt)*], [$($b:tt)*]) => { ... };
    (group [$($fastcat:tt)*] $($ts:tt)*) => { ... };
    (group <($($slowcat:tt)*)> $($ts:tt)*) => { ... };
    (group $($ts:tt)*) => { ... };
    ($($ts:tt)*) => { ... };
}
Expand description

A mini-notation implementation inspired by tidalcycles’.