CurryProg "Parser" ["Prelude"] [CTypeSyn ("Parser","Parser") Public [(0,"token")] (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"token")]) (CTCons ("Prelude","[]") [CTVar (0,"token")])), CTypeSyn ("Parser","ParserRep") Public [(0,"rep"),(1,"token")] (CFuncType (CTVar (0,"rep")) (CTCons ("Parser","Parser") [CTVar (1,"token")]))] [CFunc ("Parser","<*>") 2 Public (CFuncType (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")])) (CFuncType (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")])) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")])))) (CRules CFlex [CRule [CPVar (0,"p1"),CPVar (1,"p2")] [(CSymbol ("Prelude","success"),CSymbol ("Parser","seq"))] [CLocalFunc (CFunc ("Parser","seq") 1 Private (CFuncType (CTCons ("Prelude","[]") [CTVar (1,"_23")]) (CTCons ("Prelude","[]") [CTVar (1,"_23")])) (CRules CFlex [CRule [CPVar (2,"sentence")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$!!")) (CVar (1,"p2"))) (CApply (CVar (0,"p1")) (CVar (2,"sentence"))))] []]))]]), CFunc ("Parser","<|>") 2 Public (CFuncType (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")])) (CFuncType (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")])) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")])))) (CRules CFlex [CRule [CPVar (0,"p"),CPVar (1,"_")] [(CSymbol ("Prelude","success"),CLambda [CPVar (2,"sentence")] (CApply (CVar (0,"p")) (CVar (2,"sentence"))))] [],CRule [CPVar (3,"_"),CPVar (4,"q")] [(CSymbol ("Prelude","success"),CLambda [CPVar (5,"sentence")] (CApply (CVar (4,"q")) (CVar (5,"sentence"))))] []]), CFunc ("Parser","<||>") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTCons ("Prelude","[]") [CTVar (1,"b")]))) (CFuncType (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTCons ("Prelude","[]") [CTVar (1,"b")]))) (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTCons ("Prelude","[]") [CTVar (1,"b")]))))) (CRules CFlex [CRule [CPVar (0,"p"),CPVar (1,"q")] [(CSymbol ("Prelude","success"),CLambda [CPVar (2,"rep")] (CApply (CApply (CSymbol ("Parser","<|>")) (CApply (CVar (0,"p")) (CVar (2,"rep")))) (CApply (CVar (1,"q")) (CVar (2,"rep")))))] []]), CFunc ("Parser",">>>") 4 Public (CFuncType (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")])) (CFuncType (CTVar (1,"b")) (CFuncType (CTVar (1,"b")) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")]))))) (CRules CFlex [CRule [CPVar (0,"parser"),CPVar (1,"repexp"),CPVar (2,"rep"),CPVar (3,"sentence")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$!!")) (CSymbol ("Parser","attach"))) (CApply (CVar (0,"parser")) (CVar (3,"sentence"))))] [CLocalFunc (CFunc ("Parser","attach") 1 Private (CFuncType (CTVar (0,"a")) (CTVar (0,"a"))) (CRules CFlex [CRule [CPVar (4,"rest")] [(CApply (CApply (CSymbol ("Prelude","=:=")) (CVar (1,"repexp"))) (CVar (2,"rep")),CVar (4,"rest"))] []]))]]), CFunc ("Parser","empty") 1 Public (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")])) (CRules CFlex [CRule [CPVar (0,"sentence")] [(CSymbol ("Prelude","success"),CVar (0,"sentence"))] []]), CFunc ("Parser","satisfy") 3 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Bool") [])) (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")])))) (CRules CFlex [CRule [CPVar (0,"pred"),CPVar (1,"sym"),CPComb ("Prelude",":") [CPVar (2,"token"),CPVar (3,"tokens")]] [(CApply (CApply (CSymbol ("Prelude","&")) (CApply (CApply (CSymbol ("Prelude","=:=")) (CApply (CVar (0,"pred")) (CVar (2,"token")))) (CSymbol ("Prelude","True")))) (CApply (CApply (CSymbol ("Prelude","=:=")) (CVar (1,"sym"))) (CVar (2,"token"))),CVar (3,"tokens"))] []]), CFunc ("Parser","some") 1 Public (CFuncType (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTCons ("Prelude","[]") [CTVar (1,"b")]))) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTCons ("Prelude","[]") [CTVar (1,"b")])))) (CRules CFlex [CRule [CPVar (0,"p")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Parser",">>>")) (CApply (CApply (CSymbol ("Parser","<*>")) (CApply (CVar (0,"p")) (CVar (1,"x")))) (CApply (CApply (CSymbol ("Parser","star")) (CVar (0,"p"))) (CVar (2,"xs"))))) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (1,"x"))) (CVar (2,"xs"))))] [CLocalVar (1,"x"),CLocalVar (2,"xs")]]), CFunc ("Parser","star") 1 Public (CFuncType (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTCons ("Prelude","[]") [CTVar (1,"b")]))) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTCons ("Prelude","[]") [CTVar (1,"b")])))) (CRules CFlex [CRule [CPVar (0,"p")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Parser","<||>")) (CApply (CApply (CSymbol ("Parser",">>>")) (CApply (CApply (CSymbol ("Parser","<*>")) (CApply (CVar (0,"p")) (CVar (1,"x")))) (CApply (CApply (CSymbol ("Parser","star")) (CVar (0,"p"))) (CVar (2,"xs"))))) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (1,"x"))) (CVar (2,"xs"))))) (CApply (CApply (CSymbol ("Parser",">>>")) (CSymbol ("Parser","empty"))) (CSymbol ("Prelude","[]"))))] [CLocalVar (1,"x"),CLocalVar (2,"xs")]]), CFunc ("Parser","terminal") 2 Public (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")]))) (CRules CFlex [CRule [CPVar (0,"sym"),CPComb ("Prelude",":") [CPVar (1,"token"),CPVar (2,"tokens")]] [(CApply (CApply (CSymbol ("Prelude","=:=")) (CVar (0,"sym"))) (CVar (1,"token")),CVar (2,"tokens"))] []])] [COp ("Parser","<*>") CInfixrOp 4,COp ("Parser",">>>") CInfixrOp 3,COp ("Parser","<||>") CInfixrOp 2,COp ("Parser","<|>") CInfixrOp 2]