CurryProg "FlatCurry" ["Prelude","Directory","ReadShowTerm","Distribution","FileGoodies"] [CType ("FlatCurry","Prog") Public [] [CCons ("FlatCurry","Prog") 5 Public [CTCons ("Prelude","String") [],CTCons ("Prelude","[]") [CTCons ("Prelude","String") []],CTCons ("Prelude","[]") [CTCons ("FlatCurry","TypeDecl") []],CTCons ("Prelude","[]") [CTCons ("FlatCurry","FuncDecl") []],CTCons ("Prelude","[]") [CTCons ("FlatCurry","OpDecl") []]]], CTypeSyn ("FlatCurry","QName") Public [] (CTCons ("Prelude","(,)") [CTCons ("Prelude","String") [],CTCons ("Prelude","String") []]), CType ("FlatCurry","Visibility") Public [] [CCons ("FlatCurry","Public") 0 Public [],CCons ("FlatCurry","Private") 0 Public []], CTypeSyn ("FlatCurry","TVarIndex") Public [] (CTCons ("Prelude","Int") []), CType ("FlatCurry","TypeDecl") Public [] [CCons ("FlatCurry","Type") 4 Public [CTCons ("FlatCurry","QName") [],CTCons ("FlatCurry","Visibility") [],CTCons ("Prelude","[]") [CTCons ("FlatCurry","TVarIndex") []],CTCons ("Prelude","[]") [CTCons ("FlatCurry","ConsDecl") []]],CCons ("FlatCurry","TypeSyn") 4 Public [CTCons ("FlatCurry","QName") [],CTCons ("FlatCurry","Visibility") [],CTCons ("Prelude","[]") [CTCons ("FlatCurry","TVarIndex") []],CTCons ("FlatCurry","TypeExpr") []]], CType ("FlatCurry","ConsDecl") Public [] [CCons ("FlatCurry","Cons") 4 Public [CTCons ("FlatCurry","QName") [],CTCons ("Prelude","Int") [],CTCons ("FlatCurry","Visibility") [],CTCons ("Prelude","[]") [CTCons ("FlatCurry","TypeExpr") []]]], CType ("FlatCurry","TypeExpr") Public [] [CCons ("FlatCurry","TVar") 1 Public [CTCons ("FlatCurry","TVarIndex") []],CCons ("FlatCurry","FuncType") 2 Public [CTCons ("FlatCurry","TypeExpr") [],CTCons ("FlatCurry","TypeExpr") []],CCons ("FlatCurry","TCons") 2 Public [CTCons ("FlatCurry","QName") [],CTCons ("Prelude","[]") [CTCons ("FlatCurry","TypeExpr") []]]], CType ("FlatCurry","OpDecl") Public [] [CCons ("FlatCurry","Op") 3 Public [CTCons ("FlatCurry","QName") [],CTCons ("FlatCurry","Fixity") [],CTCons ("Prelude","Int") []]], CType ("FlatCurry","Fixity") Public [] [CCons ("FlatCurry","InfixOp") 0 Public [],CCons ("FlatCurry","InfixlOp") 0 Public [],CCons ("FlatCurry","InfixrOp") 0 Public []], CTypeSyn ("FlatCurry","VarIndex") Public [] (CTCons ("Prelude","Int") []), CType ("FlatCurry","FuncDecl") Public [] [CCons ("FlatCurry","Func") 5 Public [CTCons ("FlatCurry","QName") [],CTCons ("Prelude","Int") [],CTCons ("FlatCurry","Visibility") [],CTCons ("FlatCurry","TypeExpr") [],CTCons ("FlatCurry","Rule") []]], CType ("FlatCurry","Rule") Public [] [CCons ("FlatCurry","Rule") 2 Public [CTCons ("Prelude","[]") [CTCons ("FlatCurry","VarIndex") []],CTCons ("FlatCurry","Expr") []],CCons ("FlatCurry","External") 1 Public [CTCons ("Prelude","String") []]], CType ("FlatCurry","CaseType") Public [] [CCons ("FlatCurry","Rigid") 0 Public [],CCons ("FlatCurry","Flex") 0 Public []], CType ("FlatCurry","CombType") Public [] [CCons ("FlatCurry","FuncCall") 0 Public [],CCons ("FlatCurry","ConsCall") 0 Public [],CCons ("FlatCurry","FuncPartCall") 1 Public [CTCons ("Prelude","Int") []],CCons ("FlatCurry","ConsPartCall") 1 Public [CTCons ("Prelude","Int") []]], CType ("FlatCurry","Expr") Public [] [CCons ("FlatCurry","Var") 1 Public [CTCons ("FlatCurry","VarIndex") []],CCons ("FlatCurry","Lit") 1 Public [CTCons ("FlatCurry","Literal") []],CCons ("FlatCurry","Comb") 3 Public [CTCons ("FlatCurry","CombType") [],CTCons ("FlatCurry","QName") [],CTCons ("Prelude","[]") [CTCons ("FlatCurry","Expr") []]],CCons ("FlatCurry","Let") 2 Public [CTCons ("Prelude","[]") [CTCons ("Prelude","(,)") [CTCons ("FlatCurry","VarIndex") [],CTCons ("FlatCurry","Expr") []]],CTCons ("FlatCurry","Expr") []],CCons ("FlatCurry","Free") 2 Public [CTCons ("Prelude","[]") [CTCons ("FlatCurry","VarIndex") []],CTCons ("FlatCurry","Expr") []],CCons ("FlatCurry","Or") 2 Public [CTCons ("FlatCurry","Expr") [],CTCons ("FlatCurry","Expr") []],CCons ("FlatCurry","Case") 3 Public [CTCons ("FlatCurry","CaseType") [],CTCons ("FlatCurry","Expr") [],CTCons ("Prelude","[]") [CTCons ("FlatCurry","BranchExpr") []]]], CType ("FlatCurry","BranchExpr") Public [] [CCons ("FlatCurry","Branch") 2 Public [CTCons ("FlatCurry","Pattern") [],CTCons ("FlatCurry","Expr") []]], CType ("FlatCurry","Pattern") Public [] [CCons ("FlatCurry","Pattern") 2 Public [CTCons ("FlatCurry","QName") [],CTCons ("Prelude","[]") [CTCons ("FlatCurry","VarIndex") []]],CCons ("FlatCurry","LPattern") 1 Public [CTCons ("FlatCurry","Literal") []]], CType ("FlatCurry","Literal") Public [] [CCons ("FlatCurry","Intc") 1 Public [CTCons ("Prelude","Int") []],CCons ("FlatCurry","Floatc") 1 Public [CTCons ("Prelude","Float") []],CCons ("FlatCurry","Charc") 1 Public [CTCons ("Prelude","Char") []]]] [CFunc ("FlatCurry","flatCurryFileName") 1 Public (CFuncType (CTCons ("Prelude","String") []) (CTCons ("Prelude","String") [])) (CRules CFlex [CRule [CPVar (0,"prog")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Distribution","inCurrySubdir")) (CApply (CApply (CSymbol ("Prelude","++")) (CApply (CSymbol ("FileGoodies","stripSuffix")) (CVar (0,"prog")))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'y'))) (CSymbol ("Prelude","[]"))))))))] []]), CFunc ("FlatCurry","flatCurryIntName") 1 Public (CFuncType (CTCons ("Prelude","String") []) (CTCons ("Prelude","String") [])) (CRules CFlex [CRule [CPVar (0,"prog")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Distribution","inCurrySubdir")) (CApply (CApply (CSymbol ("Prelude","++")) (CApply (CSymbol ("FileGoodies","stripSuffix")) (CVar (0,"prog")))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CSymbol ("Prelude","[]")))))))))] []]), CFunc ("FlatCurry","readFlatCurry") 1 Public (CFuncType (CTCons ("Prelude","String") []) (CTCons ("Prelude","IO") [CTCons ("FlatCurry","Prog") []])) (CRules CFlex [CRule [CPVar (0,"progfile")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("FlatCurry","readFlatCurryWithParseOptions")) (CVar (0,"progfile"))) (CApply (CApply (CSymbol ("Distribution","setQuiet")) (CSymbol ("Prelude","True"))) (CSymbol ("Distribution","defaultParams"))))] []]), CFunc ("FlatCurry","readFlatCurryFile") 1 Public (CFuncType (CTCons ("Prelude","String") []) (CTCons ("Prelude","IO") [CTCons ("FlatCurry","Prog") []])) (CRules CFlex [CRule [CPVar (0,"filename")] [(CSymbol ("Prelude","success"),CDoExpr [CSPat (CPVar (1,"exfcy")) (CApply (CSymbol ("Directory","doesFileExist")) (CVar (0,"filename"))),CSExpr (CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CVar (1,"exfcy"))) (CApply (CSymbol ("FlatCurry","readExistingFCY")) (CVar (0,"filename")))) (CDoExpr [CSLet [CLocalPat (CPVar (2,"subdirfilename")) (CApply (CSymbol ("Distribution","inCurrySubdir")) (CVar (0,"filename"))) []],CSPat (CPVar (3,"exdirfcy")) (CApply (CSymbol ("Directory","doesFileExist")) (CVar (2,"subdirfilename"))),CSExpr (CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CVar (3,"exdirfcy"))) (CApply (CSymbol ("FlatCurry","readExistingFCY")) (CVar (2,"subdirfilename")))) (CApply (CSymbol ("Prelude","error")) (CApply (CApply (CSymbol ("Prelude","++")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'E'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'X'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'I'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'S'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'T'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'E'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'N'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'C'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'E'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'E'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'R'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'R'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'O'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'R'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ':'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'F'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'C'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'y'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '\''))) (CSymbol ("Prelude","[]")))))))))))))))))))))))))))))))))))) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (0,"filename"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '\''))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'd'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'x'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CSymbol ("Prelude","[]"))))))))))))))))))))))]))])] [CLocalFunc (CFunc ("FlatCurry","readExistingFCY") 1 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPVar (1,"fname")] [(CSymbol ("Prelude","success"),CDoExpr [CSPat (CPVar (2,"filecontents")) (CApply (CSymbol ("Prelude","readFile")) (CVar (1,"fname"))),CSExpr (CApply (CSymbol ("Prelude","return")) (CApply (CSymbol ("ReadShowTerm","readTerm")) (CVar (2,"filecontents"))))])] []]))]]), CFunc ("FlatCurry","readFlatCurryInt") 1 Public (CFuncType (CTCons ("Prelude","String") []) (CTCons ("Prelude","IO") [CTCons ("FlatCurry","Prog") []])) (CRules CFlex [CRule [CPVar (0,"progname")] [(CSymbol ("Prelude","success"),CDoExpr [CSPat (CPVar (1,"existsCurry")) (CApply (CSymbol ("Directory","doesFileExist")) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (0,"progname"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'y'))) (CSymbol ("Prelude","[]")))))))))),CSPat (CPVar (2,"existsLCurry")) (CApply (CSymbol ("Directory","doesFileExist")) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (0,"progname"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'y'))) (CSymbol ("Prelude","[]"))))))))))),CSExpr (CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude","||")) (CVar (1,"existsCurry"))) (CVar (2,"existsLCurry")))) (CApply (CApply (CSymbol ("Distribution","callFrontend")) (CSymbol ("Distribution","FINT"))) (CVar (0,"progname")))) (CSymbol ("Prelude","done"))),CSPat (CPVar (3,"filename")) (CApply (CSymbol ("Distribution","findFileInLoadPath")) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (0,"progname"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CSymbol ("Prelude","[]"))))))))),CSExpr (CApply (CSymbol ("FlatCurry","readFlatCurryFile")) (CVar (3,"filename")))])] []]), CFunc ("FlatCurry","readFlatCurryWithParseOptions") 2 Public (CFuncType (CTCons ("Prelude","String") []) (CFuncType (CTCons ("Distribution","FrontendParams") []) (CTCons ("Prelude","IO") [CTCons ("FlatCurry","Prog") []]))) (CRules CFlex [CRule [CPVar (0,"progname"),CPVar (1,"options")] [(CSymbol ("Prelude","success"),CDoExpr [CSPat (CPVar (2,"mbCurryFile")) (CApply (CSymbol ("Distribution","lookupFileInLoadPath")) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (0,"progname"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'y'))) (CSymbol ("Prelude","[]")))))))))),CSPat (CPVar (3,"mbLCurryFile")) (CApply (CSymbol ("Distribution","lookupFileInLoadPath")) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (0,"progname"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'y'))) (CSymbol ("Prelude","[]"))))))))))),CSExpr (CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude","&&")) (CApply (CApply (CSymbol ("Prelude","==")) (CVar (2,"mbCurryFile"))) (CSymbol ("Prelude","Nothing")))) (CApply (CApply (CSymbol ("Prelude","==")) (CVar (3,"mbLCurryFile"))) (CSymbol ("Prelude","Nothing"))))) (CSymbol ("Prelude","done"))) (CApply (CApply (CApply (CSymbol ("Distribution","callFrontendWithParams")) (CSymbol ("Distribution","FCY"))) (CVar (1,"options"))) (CVar (0,"progname")))),CSPat (CPVar (4,"filename")) (CApply (CSymbol ("Distribution","findFileInLoadPath")) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (0,"progname"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'y'))) (CSymbol ("Prelude","[]")))))))),CSExpr (CApply (CSymbol ("FlatCurry","readFlatCurryFile")) (CVar (4,"filename")))])] []]), CFunc ("FlatCurry","showQNameInModule") 2 Public (CFuncType (CTCons ("Prelude","String") []) (CFuncType (CTCons ("Prelude","(,)") [CTCons ("Prelude","String") [],CTCons ("Prelude","String") []]) (CTCons ("Prelude","String") []))) (CRules CFlex [CRule [CPVar (0,"mod"),CPComb ("Prelude","(,)") [CPVar (1,"qmod"),CPVar (2,"name")]] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude","||")) (CApply (CApply (CSymbol ("Prelude","==")) (CVar (1,"qmod"))) (CVar (0,"mod")))) (CApply (CApply (CSymbol ("Prelude","==")) (CVar (1,"qmod"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'P'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'd'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CSymbol ("Prelude","[]")))))))))))) (CVar (2,"name"))) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (1,"qmod"))) (CApply (CApply (CSymbol ("Prelude","++")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CSymbol ("Prelude","[]")))) (CVar (2,"name")))))] []]), CFunc ("FlatCurry","writeFCY") 2 Public (CFuncType (CTCons ("Prelude","String") []) (CFuncType (CTCons ("FlatCurry","Prog") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []]))) (CRules CFlex [CRule [CPVar (0,"file"),CPVar (1,"prog")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","writeFile")) (CVar (0,"file"))) (CApply (CSymbol ("ReadShowTerm","showTerm")) (CVar (1,"prog"))))] []])] []