Module "CEventOracle" Nothing [(ImportDecl (1,1) "Prelude" False Nothing Nothing) ,(ImportDecl (3,1) "IOExts" False Nothing (Just (Importing (3,15) [(Import (Ident "setAssoc" 0))]))) ,(ImportDecl (4,1) "System" False Nothing (Just (Importing (4,15) [(Import (Ident "getProgName" 0))]))) ,(ImportDecl (5,1) "Prelude" False (Just "P") Nothing) ,(DataDecl (11,1) (Ident "Ref" 0) [] []) ,(TypeSig (13,1) [(Ident "initialize" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Ref" 0)) []) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(VariableType (Ident "a" 0))])) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])]))) ,(FunctionDecl (14,1) (Ident "initialize" 0) [(Equation (14,1) (FunLhs (Ident "initialize" 0) [(VariablePattern (Ident "app" 2))]) (SimpleRhs (14,18) (Do [(StmtBind (VariablePattern (Ident "mod" 4)) (Variable (QualIdent (Just "System") (Ident "getProgName" 0)))),(StmtDecl [(PatternDecl (16,9) (VariablePattern (Ident "extFile" 5)) (SimpleRhs (16,19) (InfixApply (Variable (QualIdent Nothing (Ident "mod" 4))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ".ext"))) []))]),(StmtExpr (Apply (Apply (Variable (QualIdent (Just "IOExts") (Ident "setAssoc" 0))) (Literal (String "extfn"))) (Variable (QualIdent Nothing (Ident "extFile" 5))))),(StmtExpr (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "writeFile" 0))) (Variable (QualIdent Nothing (Ident "extFile" 5)))) (Literal (String "")))),(StmtBind (VariablePattern (Ident "mainR" 7)) (Variable (QualIdent (Just "CEventOracle") (Ident "initRef" 0)))),(StmtBind (VariablePattern (Ident "x" 8)) (Apply (Variable (QualIdent Nothing (Ident "app" 2))) (Variable (QualIdent Nothing (Ident "mainR" 7))))),(StmtBind (VariablePattern (Ident "st" 9)) (Apply (Variable (QualIdent (Just "Prelude") (Ident "getSearchTree" 0))) (Variable (QualIdent Nothing (Ident "x" 8))))),(StmtExpr (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "catchFail" 0))) (Paren (Do [(StmtExpr (Apply (Variable (QualIdent (Just "Prelude") (Ident "putStrLn" 0))) (Literal (String "starting to record oracle"))))] (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "return" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "$!!" 0))) (Variable (QualIdent Nothing (Ident "st" 9))))))) (Paren (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "putStrLn" 0))) (Literal (String "execution aborted. Writing oracle file"))) (InfixOp (QualIdent (Just "Prelude") (Ident ">>" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "return" 0))) (Variable (QualIdent (Just "Prelude") (Ident "failed" 0))))))))] (Apply (Variable (QualIdent (Just "CEventOracle") (Ident "finalize" 0))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "mod" 4))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ".steps")))))) []))]) ,(TypeSig (28,1) [(Ident "initRef" 0)] (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(ConstructorType (QualIdent Nothing (Ident "Ref" 0)) [])])) ,(FlatExternalDecl (29,1) [(Ident "initRef" 0)]) ,(TypeSig (32,1) [(Ident "finalize" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])]))) ,(FlatExternalDecl (33,1) [(Ident "finalize" 0)]) ,(TypeSig (35,1) [(Ident "fresh" 0)] (ArrowType (TupleType []) (ConstructorType (QualIdent Nothing (Ident "Ref" 0)) []))) ,(FlatExternalDecl (36,1) [(Ident "fresh" 0)]) ,(TypeSig (38,1) [(Ident "replace" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Ref" 0)) []) (ArrowType (VariableType (Ident "a" 0)) (VariableType (Ident "a" 0))))) ,(FlatExternalDecl (39,1) [(Ident "replace" 0)]) ,(TypeSig (41,1) [(Ident "collapse" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Ref" 0)) []) (ArrowType (VariableType (Ident "a" 0)) (VariableType (Ident "a" 0))))) ,(FlatExternalDecl (42,1) [(Ident "collapse" 0)]) ,(TypeSig (44,1) [(Ident "closeRef" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Ref" 0)) []) (ArrowType (VariableType (Ident "a" 0)) (VariableType (Ident "a" 0))))) ,(FlatExternalDecl (45,1) [(Ident "closeRef" 0)]) ,(TypeSig (47,1) [(Ident "expand" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Ref" 0)) []) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "Ref" 0)) [])) (ArrowType (VariableType (Ident "a" 0)) (VariableType (Ident "a" 0)))))) ,(FlatExternalDecl (48,1) [(Ident "expand" 0)]) ,(TypeSig (51,1) [(Ident "unknown" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Ref" 0)) []) (VariableType (Ident "a" 0)))) ,(FlatExternalDecl (52,1) [(Ident "unknown" 0)]) ,(TypeSig (54,1) [(Ident "$!" 0),(Ident "$!!" 0),(Ident "$#" 0),(Ident "$##" 0),(Ident "apply" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Ref" 0)) []) (ArrowType (VariableType (Ident "a" 0)) (VariableType (Ident "b" 0)))) (ArrowType (VariableType (Ident "a" 0)) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Ref" 0)) []) (VariableType (Ident "b" 0)))))) ,(FlatExternalDecl (55,1) [(Ident "$!" 0)]) ,(FlatExternalDecl (56,1) [(Ident "$!!" 0)]) ,(FlatExternalDecl (57,1) [(Ident "$#" 0)]) ,(FlatExternalDecl (58,1) [(Ident "$##" 0)]) ,(FlatExternalDecl (59,1) [(Ident "apply" 0)]) ]