noders 0.0.2

NodeJS-like event loop environment for Rust
Documentation
#[macro_export] macro_rules! rec {
    (@mkstruct (
        [$firstlet:ident, $($letter:ident),*],
        { }
    ) -> ([$($letter_out:ident),*], {$($id_out:ident : $val_out:expr),*})) => {
        {
            struct Rec<$($letter_out,)*> { $($id_out : $letter_out),* }
            Rec { $($id_out : $val_out),* }
        }
    };
    (@mkstruct (
        [ $letter0:ident, $($letter:ident),* ],
        { $id0:ident : $val0:expr $(,$id:ident : $val:expr)* }
    ) -> ([ $($letter_out:ident),* ], { $($id_out:ident : $val_out:expr),* })) => {
        rec!(@mkstruct([$($letter),*], { $($id : $val),* }) -> (
            [$letter0 $(,$letter_out)*],
            { $id0 : $val0 $(,$id_out : $val_out)* }
        ));
    };
    { $($id:ident : $val:expr),+ } => {
        rec!(@mkstruct([A,B,C,D,E,F,G,H,I,J,K,L], { $($id : $val),* } ) -> ([],{}) );
    }
}