CurryProg "Read" ["Prelude","Char"] [] [CFunc ("Read","readHex") 1 Public (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","Char") []]) (CTCons ("Prelude","Int") [])) (CRules CFlex [CRule [CPVar (0,"l")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Read","readHexPrefix")) (CApply (CApply (CSymbol ("Prelude","dropWhile")) (CLambda [CPVar (1,"c")] (CApply (CApply (CSymbol ("Prelude","==")) (CVar (1,"c"))) (CLit (CCharc ' '))))) (CVar (0,"l")))) (CLit (CIntc 0)))] [CLocalFunc (CFunc ("Read","readHexPrefix") 2 Private (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","Char") []]) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","Int") []))) (CRules CFlex [CRule [CPComb ("Prelude","[]") [],CPVar (1,"n")] [(CSymbol ("Prelude","success"),CVar (1,"n"))] [],CRule [CPComb ("Prelude",":") [CPVar (2,"c"),CPVar (3,"cs")],CPVar (4,"n")] [(CSymbol ("Prelude","success"),CLetDecl [CLocalPat (CPVar (5,"cv")) (CApply (CSymbol ("Read","hex2int")) (CVar (2,"c"))) []] (CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude",">=")) (CVar (5,"cv"))) (CLit (CIntc 0)))) (CApply (CApply (CSymbol ("Read","readHexPrefix")) (CVar (3,"cs"))) (CApply (CApply (CSymbol ("Prelude","+")) (CApply (CApply (CSymbol ("Prelude","*")) (CVar (4,"n"))) (CLit (CIntc 16)))) (CVar (5,"cv"))))) (CVar (4,"n"))))] []])),CLocalFunc (CFunc ("Read","hex2int") 1 Private (CFuncType (CTCons ("Prelude","Char") []) (CTCons ("Prelude","Int") [])) (CRules CFlex [CRule [CPVar (1,"c")] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CSymbol ("Char","isDigit")) (CVar (1,"c")))) (CApply (CApply (CSymbol ("Prelude","-")) (CApply (CSymbol ("Prelude","ord")) (CVar (1,"c")))) (CApply (CSymbol ("Prelude","ord")) (CLit (CCharc '0'))))) (CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude","&&")) (CApply (CApply (CSymbol ("Prelude",">=")) (CApply (CSymbol ("Prelude","ord")) (CVar (1,"c")))) (CApply (CSymbol ("Prelude","ord")) (CLit (CCharc 'A'))))) (CApply (CApply (CSymbol ("Prelude","<=")) (CApply (CSymbol ("Prelude","ord")) (CVar (1,"c")))) (CApply (CSymbol ("Prelude","ord")) (CLit (CCharc 'F')))))) (CApply (CApply (CSymbol ("Prelude","+")) (CApply (CApply (CSymbol ("Prelude","-")) (CApply (CSymbol ("Prelude","ord")) (CVar (1,"c")))) (CApply (CSymbol ("Prelude","ord")) (CLit (CCharc 'A'))))) (CLit (CIntc 10)))) (CApply (CSymbol ("Prelude","negate")) (CLit (CIntc 1)))))] []]))]]), CFunc ("Read","readInt") 1 Public (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","Char") []]) (CTCons ("Prelude","Int") [])) (CRules CFlex [CRule [CPVar (0,"l")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Read","readIntPrefix")) (CApply (CApply (CSymbol ("Prelude","dropWhile")) (CLambda [CPVar (1,"c")] (CApply (CApply (CSymbol ("Prelude","==")) (CVar (1,"c"))) (CLit (CCharc ' '))))) (CVar (0,"l"))))] [CLocalFunc (CFunc ("Read","readIntPrefix") 1 Private (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","Char") []]) (CTCons ("Prelude","Int") [])) (CRules CFlex [CRule [CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CLit (CIntc 0))] [],CRule [CPComb ("Prelude",":") [CPVar (1,"c"),CPVar (2,"cs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude","==")) (CVar (1,"c"))) (CLit (CCharc '-')))) (CApply (CSymbol ("Prelude","negate")) (CApply (CSymbol ("Read","readNat")) (CVar (2,"cs"))))) (CApply (CSymbol ("Read","readNat")) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (1,"c"))) (CVar (2,"cs")))))] []]))]]), CFunc ("Read","readNat") 1 Public (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","Char") []]) (CTCons ("Prelude","Int") [])) (CRules CFlex [CRule [CPVar (0,"l")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Read","readNatPrefix")) (CApply (CApply (CSymbol ("Prelude","dropWhile")) (CLambda [CPVar (1,"c")] (CApply (CApply (CSymbol ("Prelude","==")) (CVar (1,"c"))) (CLit (CCharc ' '))))) (CVar (0,"l")))) (CLit (CIntc 0)))] [CLocalFunc (CFunc ("Read","readNatPrefix") 2 Private (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","Char") []]) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","Int") []))) (CRules CFlex [CRule [CPComb ("Prelude","[]") [],CPVar (1,"n")] [(CSymbol ("Prelude","success"),CVar (1,"n"))] [],CRule [CPComb ("Prelude",":") [CPVar (2,"c"),CPVar (3,"cs")],CPVar (4,"n")] [(CSymbol ("Prelude","success"),CLetDecl [CLocalPat (CPVar (5,"oc")) (CApply (CSymbol ("Prelude","ord")) (CVar (2,"c"))) []] (CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude","&&")) (CApply (CApply (CSymbol ("Prelude",">=")) (CVar (5,"oc"))) (CApply (CSymbol ("Prelude","ord")) (CLit (CCharc '0'))))) (CApply (CApply (CSymbol ("Prelude","<=")) (CVar (5,"oc"))) (CApply (CSymbol ("Prelude","ord")) (CLit (CCharc '9')))))) (CApply (CApply (CSymbol ("Read","readNatPrefix")) (CVar (3,"cs"))) (CApply (CApply (CSymbol ("Prelude","-")) (CApply (CApply (CSymbol ("Prelude","+")) (CApply (CApply (CSymbol ("Prelude","*")) (CVar (4,"n"))) (CLit (CIntc 10)))) (CVar (5,"oc")))) (CApply (CSymbol ("Prelude","ord")) (CLit (CCharc '0')))))) (CVar (4,"n"))))] []]))]])] []