Prog "RandomExternal" ["Prelude"] [] [Func ("RandomExternal","split") 1 Public (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Let [(2,Comb FuncCall ("Prelude","$##") [Comb (FuncPartCall 1) ("RandomExternal","prim_split") [],Var 1])] (Let [(3,Comb FuncCall ("RandomExternal","split._#selFP3#s1") [Var 2])] (Let [(4,Comb FuncCall ("RandomExternal","split._#selFP4#s2") [Var 2])] (Comb ConsCall ("Prelude",":") [Var 3,Comb FuncCall ("RandomExternal","split") [Var 4]]))))),Func ("RandomExternal","split._#selFP3#s1") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("Prelude","Int") []]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("RandomExternal","split._#selFP4#s2") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("Prelude","Int") []]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("RandomExternal","prim_split") 1 Private (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("Prelude","Int") []])) (External "RandomExternal.prim_split"),Func ("RandomExternal","nextInt") 1 Public (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Comb FuncCall ("Prelude","$##") [Comb (FuncPartCall 1) ("RandomExternal","prim_nextInt") [],Var 1])),Func ("RandomExternal","prim_nextInt") 1 Private (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (External "RandomExternal.prim_nextInt"),Func ("RandomExternal","nextIntRange") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (Rule [1,2] (Comb FuncCall ("Prelude","$##") [Comb FuncCall ("Prelude","$##") [Comb (FuncPartCall 2) ("RandomExternal","prim_nextIntRange") [],Var 1],Var 2])),Func ("RandomExternal","prim_nextIntRange") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (External "RandomExternal.prim_nextIntRange"),Func ("RandomExternal","nextBoolean") 1 Public (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","[]") [TCons ("Prelude","Bool") []])) (Rule [1] (Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("Prelude","==") [Lit (Intc 0)],Comb FuncCall ("RandomExternal","nextIntRange") [Var 1,Lit (Intc 1)]])),Func ("RandomExternal","getRandomSeed") 0 Public (TCons ("Prelude","IO") [TCons ("Prelude","Int") []]) (External "RandomExternal.getRandomSeed")] []