CurryProg "RandomExternal" ["Prelude"] [] [CFunc ("RandomExternal","getRandomSeed") 0 Public (CTCons ("Prelude","IO") [CTCons ("Prelude","Int") []]) (CExternal "getRandomSeed"), CFunc ("RandomExternal","nextBoolean") 1 Public (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","[]") [CTCons ("Prelude","Bool") []])) (CRules CFlex [CRule [CPVar (0,"seed")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","map")) (CLambda [CPVar (1,"x0")] (CApply (CApply (CSymbol ("Prelude","==")) (CLit (CIntc 0))) (CVar (1,"x0"))))) (CApply (CApply (CSymbol ("RandomExternal","nextIntRange")) (CVar (0,"seed"))) (CLit (CIntc 1))))] []]), CFunc ("RandomExternal","nextInt") 1 Public (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","[]") [CTCons ("Prelude","Int") []])) (CRules CFlex [CRule [CPVar (0,"seed")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$##")) (CSymbol ("RandomExternal","prim_nextInt"))) (CVar (0,"seed")))] []]), CFunc ("RandomExternal","nextIntRange") 2 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","[]") [CTCons ("Prelude","Int") []]))) (CRules CFlex [CRule [CPVar (0,"seed"),CPVar (1,"bound")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$##")) (CApply (CApply (CSymbol ("Prelude","$##")) (CSymbol ("RandomExternal","prim_nextIntRange"))) (CVar (0,"seed")))) (CVar (1,"bound")))] []]), CFunc ("RandomExternal","prim_nextInt") 1 Private (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","[]") [CTCons ("Prelude","Int") []])) (CExternal "prim_nextInt"), CFunc ("RandomExternal","prim_nextIntRange") 2 Private (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","[]") [CTCons ("Prelude","Int") []]))) (CExternal "prim_nextIntRange"), CFunc ("RandomExternal","prim_split") 1 Private (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","(,)") [CTCons ("Prelude","Int") [],CTCons ("Prelude","Int") []])) (CExternal "prim_split"), CFunc ("RandomExternal","split") 1 Public (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","[]") [CTCons ("Prelude","Int") []])) (CRules CFlex [CRule [CPVar (0,"seed")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",":")) (CVar (1,"s1"))) (CApply (CSymbol ("RandomExternal","split")) (CVar (2,"s2"))))] [CLocalPat (CPComb ("Prelude","(,)") [CPVar (1,"s1"),CPVar (2,"s2")]) (CApply (CApply (CSymbol ("Prelude","$##")) (CSymbol ("RandomExternal","prim_split"))) (CVar (0,"seed"))) []]])] []