:: lifted directly from ford, should probably be in zuse =, clay =< pile-rule |% ++ pile-rule |= pax=path %- full %+ ifix [gay gay] %+ cook |=(pile +<) ;~ pfix :: parse optional /? and ignore :: ;~ pose (cold ~ ;~(plug fas wut gap dem gap)) (easy ~) == :: ;~ plug ;~ pose ;~ sfix %+ cook |=((list (list taut)) (zing +<)) %+ more gap ;~ pfix ;~(plug fas hep gap) (most ;~(plug com gaw) taut-rule) == gap == (easy ~) == :: ;~ pose ;~ sfix %+ cook |=((list (list taut)) (zing +<)) %+ more gap ;~ pfix ;~(plug fas lus gap) (most ;~(plug com gaw) taut-rule) == gap == (easy ~) == :: ;~ pose ;~ sfix %+ cook |=((list [face=term =path]) +<) %+ more gap ;~ pfix ;~(plug fas tis gap) %+ cook |=([term path] +<) ;~(plug sym ;~(pfix ;~(plug gap fas) (more fas urs:ab))) == gap == (easy ~) == :: ;~ pose ;~ sfix %+ cook |=((list [face=term =mark =path]) +<) %+ more gap ;~ pfix ;~(plug fas tar gap) %+ cook |=([term mark path] +<) ;~ plug sym ;~(pfix ;~(plug gap cen) sym) ;~(pfix ;~(plug gap fas) (more fas urs:ab)) == == gap == (easy ~) == :: %+ cook |=(huz=(list hoon) `hoon`tssg+huz) (most gap tall:(vang & pax)) == == :: ++ taut-rule %+ cook |=(taut +<) ;~ pose (stag ~ ;~(pfix tar sym)) ;~(plug (stag ~ sym) ;~(pfix tis sym)) (cook |=(a=term [`a a]) sym) == --