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