KiCS-prophecy (empty) → 0.1.0
raw patch · 43 files changed
+5895/−0 lines, 43 filesdep +KiCSdep +basedep +filepathbuild-type:Customsetup-changed
Dependencies added: KiCS, base, filepath
Files
- .curry/kics/prophecy.hs +21/−0
- Curry/Files/ProphecyPath.hs +17/−0
- Curry/Module/AddWorld.curry +39/−0
- Curry/Module/AddWorld.fcy +1/−0
- Curry/Module/AddWorld.fint +1/−0
- Curry/Module/CEventOracle.curry +59/−0
- Curry/Module/CEventOracle.fcy +1/−0
- Curry/Module/CEventOracle.fint +1/−0
- Curry/Module/CEventOracle.hs.include +168/−0
- Curry/Module/DebuggerPath.hs.include +6/−0
- Curry/Module/EventOracle.curry +118/−0
- Curry/Module/EventOracle.fcy +1/−0
- Curry/Module/EventOracle.fint +1/−0
- Curry/Module/LiftCases.curry +136/−0
- Curry/Module/LiftCases.fcy +1/−0
- Curry/Module/LiftCases.fint +1/−0
- Curry/Module/Make.curry +179/−0
- Curry/Module/Make.fcy +1/−0
- Curry/Module/Make.fint +1/−0
- Curry/Module/Oracle.curry +128/−0
- Curry/Module/Oracle.fcy +1/−0
- Curry/Module/Oracle.fint +1/−0
- Curry/Module/Transform.curry +293/−0
- Curry/Module/Transform.fcy +1/−0
- Curry/Module/Transform.fint +1/−0
- Curry/Module/Wrapper.curry +124/−0
- Curry/Module/Wrapper.fcy +1/−0
- Curry/Module/Wrapper.fint +1/−0
- KiCS-prophecy.cabal +58/−0
- LICENSE +34/−0
- Setup.hs +87/−0
- coracle/coracle.c +156/−0
- coracle/coracle.h +19/−0
- dist/build/Curry/Module/CEventOracle.hs +270/−0
- dist/build/Curry/Module/EventOracle.hs +311/−0
- dist/build/Curry/Module/LiftCases.hs +678/−0
- dist/build/Curry/Module/Make.hs +463/−0
- dist/build/Curry/Module/Oracle.hs +149/−0
- dist/build/prophecy/prophecy-tmp/Curry/Module/AddWorld.hs +91/−0
- dist/build/prophecy/prophecy-tmp/Curry/Module/LiftCases.hs +678/−0
- dist/build/prophecy/prophecy-tmp/Curry/Module/Make.hs +463/−0
- dist/build/prophecy/prophecy-tmp/Curry/Module/Transform.hs +732/−0
- dist/build/prophecy/prophecy-tmp/Curry/Module/Wrapper.hs +402/−0
+ .curry/kics/prophecy.hs view
@@ -0,0 +1,21 @@+{-# OPTIONS -cpp #-}++{-# LANGUAGE RankNTypes, ScopedTypeVariables, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances #-}++module Main (module Main) where++import Curry.RunTimeSystem+import Curry.Module.Prelude+import Curry.Module.Transform++++-- begin included++++-- end included++main = (Prelude.>>)(Curry.RunTimeSystem.setProgNameAndOrBased("Transform"))(Curry.Module.Prelude.curryIOVoid(Curry.Module.Transform.c_aux2))++
+ Curry/Files/ProphecyPath.hs view
@@ -0,0 +1,17 @@+module Curry.Files.ProphecyPath + (getProphecy+ ,getOracleLibDir+ ,prophecyVersion+ ) where++import Data.Version+import System.FilePath+import Paths_KiCS_prophecy++prophecyVersion = showVersion version++getProphecy = do+ execDir <- getBinDir+ return (execDir </> "prophecy")++getOracleLibDir = getDataDir
+ Curry/Module/AddWorld.curry view
@@ -0,0 +1,39 @@+import FlatCurryGoodies+import FlatCurry++main = readFlatCurry "Prelude" >>= writeFile "P.fcy" . show . addWorld++addWorld :: Prog -> Prog+addWorld = + updProgTypes (map (updTypeConsDecls (map (updConsArgs (map addWorldTE))))) .+ updProgTypes (map (updTypeSynonym addWorldTE)) .+ updProgFuncs addWorldFuncs++addWorldTE :: TypeExpr -> TypeExpr+addWorldTE = trTypeExpr TVar addWorldToIO FuncType+ where+ addWorldToIO mn args + | isIO mn = FuncType unit (TCons mn args)+ | otherwise = TCons mn args++prelude = "Prelude"++isIO :: QName -> Bool+isIO (m,n) = n=="IO" && m==prelude++unit :: TypeExpr+unit = TCons (prelude,"()") []++addWorldFuncs :: [FuncDecl] -> [FuncDecl]+addWorldFuncs = map (updFuncType addWorldTE) .+ map changeExtIOFunc +++changeExtIOFunc :: FuncDecl -> FuncDecl+changeExtIOFunc func+ | isExternal func && isTCons typ && isIO (tConsName typ) + = updFuncArity (+1) func+ | otherwise = func+ where+ typ = resultType (funcType func) + arity = funcArity func
+ Curry/Module/AddWorld.fcy view
@@ -0,0 +1,1 @@+Prog "AddWorld" ["FlatCurry","FlatCurryGoodies","Prelude"] [] [Func ("AddWorld","main") 0 Public (TCons ("Prelude","IO") [TCons ("Prelude","()") []]) (Rule [] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("FlatCurry","readFlatCurry") [Comb ConsCall ("Prelude",":") [Lit (Charc 'P'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude","[]") []]]]]]]]],Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","writeFile") [Comb ConsCall ("Prelude",":") [Lit (Charc 'P'),Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude","[]") []]]]]]],Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","show") [],Comb FuncCall ("AddWorld","addWorld") []]]])),Func ("AddWorld","addWorld") 0 Public (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") [])) (Rule [] (Comb FuncCall ("Prelude",".") [Comb FuncCall ("FlatCurryGoodies","updProgTypes") [Comb (FuncPartCall 1) ("Prelude","map") [Comb FuncCall ("FlatCurryGoodies","updTypeConsDecls") [Comb (FuncPartCall 1) ("Prelude","map") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","updConsArgs") [],Comb (FuncPartCall 1) ("Prelude","map") [Comb FuncCall ("AddWorld","addWorldTE") []]]]]]],Comb FuncCall ("Prelude",".") [Comb FuncCall ("FlatCurryGoodies","updProgTypes") [Comb (FuncPartCall 1) ("Prelude","map") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","updTypeSynonym") [],Comb FuncCall ("AddWorld","addWorldTE") []]]],Comb FuncCall ("FlatCurryGoodies","updProgFuncs") [Comb FuncCall ("AddWorld","addWorldFuncs") []]]])),Func ("AddWorld","addWorldTE") 0 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trTypeExpr") [Comb (ConsPartCall 1) ("FlatCurry","TVar") [],Comb (FuncPartCall 2) ("AddWorld","addWorldTE.addWorldToIO.7") [],Comb (ConsPartCall 2) ("FlatCurry","FuncType") []])),Func ("AddWorld","addWorldTE.addWorldToIO.7") 2 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (TCons ("FlatCurry","TypeExpr") []))) (Rule [1,2] (Case Rigid (Comb FuncCall ("AddWorld","isIO") [Var 1]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("FlatCurry","FuncType") [Comb FuncCall ("AddWorld","unit") [],Comb ConsCall ("FlatCurry","TCons") [Var 1,Var 2]]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("FlatCurry","TCons") [Var 1,Var 2]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])),Func ("AddWorld","prelude") 0 Public (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (Rule [] (Comb ConsCall ("Prelude",":") [Lit (Charc 'P'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude","[]") []]]]]]]])),Func ("AddWorld","isIO") 1 Public (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Comb FuncCall ("Prelude","&&") [Comb FuncCall ("Prelude","==") [Var 3,Comb ConsCall ("Prelude",":") [Lit (Charc 'I'),Comb ConsCall ("Prelude",":") [Lit (Charc 'O'),Comb ConsCall ("Prelude","[]") []]]],Comb FuncCall ("Prelude","==") [Var 2,Comb FuncCall ("AddWorld","prelude") []]])])),Func ("AddWorld","unit") 0 Public (TCons ("FlatCurry","TypeExpr") []) (Rule [] (Comb ConsCall ("FlatCurry","TCons") [Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("AddWorld","prelude") [],Comb ConsCall ("Prelude",":") [Lit (Charc '('),Comb ConsCall ("Prelude",":") [Lit (Charc ')'),Comb ConsCall ("Prelude","[]") []]]],Comb ConsCall ("Prelude","[]") []])),Func ("AddWorld","addWorldFuncs") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])) (Rule [] (Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","map") [Comb FuncCall ("FlatCurryGoodies","updFuncType") [Comb FuncCall ("AddWorld","addWorldTE") []]],Comb (FuncPartCall 1) ("Prelude","map") [Comb (FuncPartCall 1) ("AddWorld","changeExtIOFunc") []]])),Func ("AddWorld","changeExtIOFunc") 1 Public (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") [])) (Rule [1] (Let [(2,Comb FuncCall ("FlatCurryGoodies","resultType") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","funcType") [],Var 1]])] (Case Rigid (Comb FuncCall ("Prelude","&&") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","isExternal") [],Var 1],Comb FuncCall ("Prelude","&&") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","isTCons") [],Var 2],Comb FuncCall ("AddWorld","isIO") [Comb FuncCall ("FlatCurryGoodies","tConsName") [Var 2]]]]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","updFuncArity") [Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","+") [],Lit (Intc 1)]],Var 1]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Var 1),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])))] []
+ Curry/Module/AddWorld.fint view
@@ -0,0 +1,1 @@+Prog "AddWorld" ["FlatCurry","FlatCurryGoodies","Prelude"] [] [Func ("AddWorld","main") 0 Public (TCons ("Prelude","IO") [TCons ("Prelude","()") []]) (Rule [] (Var 0)),Func ("AddWorld","addWorld") 0 Public (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") [])) (Rule [] (Var 0)),Func ("AddWorld","addWorldTE") 0 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") [])) (Rule [] (Var 0)),Func ("AddWorld","prelude") 0 Public (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (Rule [] (Var 0)),Func ("AddWorld","isIO") 1 Public (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (Rule [] (Var 0)),Func ("AddWorld","unit") 0 Public (TCons ("FlatCurry","TypeExpr") []) (Rule [] (Var 0)),Func ("AddWorld","addWorldFuncs") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])) (Rule [] (Var 0)),Func ("AddWorld","changeExtIOFunc") 1 Public (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") [])) (Rule [] (Var 0))] []
+ Curry/Module/CEventOracle.curry view
@@ -0,0 +1,59 @@+module CEventOracle where++import IOExts (setAssoc)+import System (getProgName)+import Prelude as P++-------------------------+-- external variants +-------------------------++data Ref++initialize :: (Ref -> IO a) -> IO ()+initialize app = do+ mod <- getProgName+ let extFile = mod++".ext"+ setAssoc "extfn" extFile+ writeFile extFile ""+ mainR <- initRef+ x <- app mainR+ st <- getSearchTree x+ catchFail (do putStrLn "starting to record oracle" + return P.$!! st)+ (putStrLn "execution aborted. Writing oracle file" >>+ return failed)+ finalize (mod++".steps")++initRef :: IO Ref+initRef external+++finalize :: String -> IO ()+finalize external++fresh :: () -> Ref -- must not be a constant in Haskell+fresh external++replace :: Ref -> a -> a+replace external++collapse :: Ref -> a -> a+collapse external++closeRef :: Ref -> a -> a+closeRef external++expand :: Ref -> [Ref] -> a -> a+expand external++--- generating a fresh variable+unknown :: Ref -> a+unknown external++($!),($!!),($#),($##), apply :: (Ref -> a -> b) -> a -> Ref -> b+($!) external+($!!) external+($#) external+($##) external+apply external
+ Curry/Module/CEventOracle.fcy view
@@ -0,0 +1,1 @@+Prog "CEventOracle" ["IOExts","Prelude","System"] [Type ("CEventOracle","Ref") Public [] []] [Func ("CEventOracle","initialize") 1 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","IO") [TVar 0])) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [1] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("System","getProgName") [],Comb (FuncPartCall 1) ("CEventOracle","initialize._#lambda2") [Var 1]])),Func ("CEventOracle","initialize._#lambda2") 2 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","IO") [TVar 10])) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (Rule [1,2] (Let [(3,Comb FuncCall ("Prelude","++") [Var 2,Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'x'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude","[]") []]]]]])] (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("IOExts","setAssoc") [Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'x'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude","[]") []]]]]],Var 3],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","writeFile") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("CEventOracle","initRef") [],Comb (FuncPartCall 1) ("CEventOracle","initialize._#lambda2._#lambda3") [Var 1,Var 2]]]]))),Func ("CEventOracle","initialize._#lambda2._#lambda3") 3 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","IO") [TVar 10])) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))) (Rule [1,2,3] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Comb (FuncPartCall 1) ("CEventOracle","initialize._#lambda2._#lambda3._#lambda4") [Var 2]])),Func ("CEventOracle","initialize._#lambda2._#lambda3._#lambda4") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TVar 10) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (Rule [1,2] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude","getSearchTree") [Var 2],Comb (FuncPartCall 1) ("CEventOracle","initialize._#lambda2._#lambda3._#lambda4._#lambda5") [Var 1]])),Func ("CEventOracle","initialize._#lambda2._#lambda3._#lambda4._#lambda5") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","SearchTree") [TVar 10]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (Rule [1,2] (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","catchFail") [Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","putStrLn") [Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]],Comb FuncCall ("Prelude","$!!") [Comb (FuncPartCall 1) ("Prelude","return") [],Var 2]],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","putStrLn") [Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'x'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'b'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'W'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],Comb FuncCall ("Prelude","return") [Comb FuncCall ("Prelude","failed") []]]],Comb FuncCall ("CEventOracle","finalize") [Comb FuncCall ("Prelude","++") [Var 1,Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude","[]") []]]]]]]]]])),Func ("CEventOracle","initRef") 0 Public (TCons ("Prelude","IO") [TCons ("CEventOracle","Ref") []]) (External "CEventOracle.initRef"),Func ("CEventOracle","finalize") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (External "CEventOracle.finalize"),Func ("CEventOracle","fresh") 1 Public (FuncType (TCons ("Prelude","()") []) (TCons ("CEventOracle","Ref") [])) (External "CEventOracle.fresh"),Func ("CEventOracle","replace") 2 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 0))) (External "CEventOracle.replace"),Func ("CEventOracle","collapse") 2 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 0))) (External "CEventOracle.collapse"),Func ("CEventOracle","closeRef") 2 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 0))) (External "CEventOracle.closeRef"),Func ("CEventOracle","expand") 3 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("CEventOracle","Ref") []]) (FuncType (TVar 0) (TVar 0)))) (External "CEventOracle.expand"),Func ("CEventOracle","unknown") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0)) (External "CEventOracle.unknown"),Func ("CEventOracle","$!") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (External "CEventOracle.$!"),Func ("CEventOracle","$!!") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (External "CEventOracle.$!!"),Func ("CEventOracle","$#") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (External "CEventOracle.$#"),Func ("CEventOracle","$##") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (External "CEventOracle.$##"),Func ("CEventOracle","apply") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (External "CEventOracle.apply")] []
+ Curry/Module/CEventOracle.fint view
@@ -0,0 +1,1 @@+Prog "CEventOracle" ["IOExts","Prelude","System"] [Type ("CEventOracle","Ref") Public [] []] [Func ("CEventOracle","initialize") 1 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","IO") [TVar 0])) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [] (Var 0)),Func ("CEventOracle","initRef") 0 Public (TCons ("Prelude","IO") [TCons ("CEventOracle","Ref") []]) (External "CEventOracle.initRef"),Func ("CEventOracle","finalize") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (External "CEventOracle.finalize"),Func ("CEventOracle","fresh") 1 Public (FuncType (TCons ("Prelude","()") []) (TCons ("CEventOracle","Ref") [])) (External "CEventOracle.fresh"),Func ("CEventOracle","replace") 2 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 0))) (External "CEventOracle.replace"),Func ("CEventOracle","collapse") 2 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 0))) (External "CEventOracle.collapse"),Func ("CEventOracle","closeRef") 2 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 0))) (External "CEventOracle.closeRef"),Func ("CEventOracle","expand") 3 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("CEventOracle","Ref") []]) (FuncType (TVar 0) (TVar 0)))) (External "CEventOracle.expand"),Func ("CEventOracle","unknown") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0)) (External "CEventOracle.unknown"),Func ("CEventOracle","$!") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (External "CEventOracle.$!"),Func ("CEventOracle","$!!") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (External "CEventOracle.$!!"),Func ("CEventOracle","$#") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (External "CEventOracle.$#"),Func ("CEventOracle","$##") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (External "CEventOracle.$##"),Func ("CEventOracle","apply") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (External "CEventOracle.apply")] []
+ Curry/Module/CEventOracle.hs.include view
@@ -0,0 +1,168 @@+[ForType "Ref" Nothing+,ForFunction "initialize"+,ForFunction "finalize"+,ForFunction "fresh"+,ForFunction "replace"+,ForFunction "collapse"+,ForFunction "closeRef"+,ForFunction "expand"+,Pragma "LANGUAGE EmptyDataDecls, ForeignFunctionInterface"+,Pragma "INCLUDE <coracle.h>"+]++import Foreign++import Foreign+import Foreign.C.String ++foreign import ccall unsafe "static coracle.h init" cinitialize :: Ref+foreign import ccall unsafe "static coracle.h nextref" cfresh :: Int -> Ref++foreign import ccall unsafe "static coracle.h collapse" ccollapse :: Ref -> ()+foreign import ccall unsafe "static coracle.h close_ref" ccloseRef :: Ref -> ()+foreign import ccall unsafe "static coracle.h inconly" creplace :: Ref -> ()+foreign import ccall unsafe "static coracle.h expand" cexpand :: Ref -> Int -> ()++foreign import ccall unsafe "coracle.h finalize" cfinalize :: CString -> ()++data CRef++type Ref = Ptr CRef++newtype C_Ref = C_Ref Ref++instance Show C_Ref+instance Read C_Ref+instance Eq C_Ref+instance BaseCurry C_Ref+instance Curry C_Ref++initRef :: Result (C_IO C_Ref)+initRef = let ref = cinitialize in seq ref (Curry.Module.Prelude.return (C_Ref ref))++finalize :: C_String -> Result (C_IO T0)+finalize s _ = C_IO (\ _ -> do+ s' <- newCString (fromCurry s)+ seq (cfinalize s') (Prelude.return (IOVal (T0))))++--- Side effect that computes a fresh reference.+fresh :: a -> Result C_Ref+fresh _ _ = C_Ref (cfresh 0)++--- increase couter of ref by one+replace :: C_Ref -> a -> b -> a+replace (C_Ref ref) x _ = seq (creplace ref) x++--- Remove a ref and combine and counter +1+collapse :: C_Ref -> a -> b -> a+collapse (C_Ref ref) x _ = seq (ccollapse ref) x++--- Remove a ref and combine and counter +1+closeRef :: C_Ref -> a -> b -> a+closeRef (C_Ref ref) x _ = seq (ccloseRef ref) x+++--- Projection on last argument that releases an event as a side effect.+-- increment step counter of first ref and add remaining refs+-- list has to be at least of size 1+expand :: C_Ref -> List C_Ref -> a -> Result a+expand (C_Ref ref) refs x _+ = seq (cexpand ref (len refs)) (seq (evalRefs refs) x)+ where+ len List = 0+ len (_ :< rs) = 1+len rs++ evalRefs List = ()+ evalRefs (r :< rs) = seq r (evalRefs rs)++-- compare to BaseCurry.mapOr+c_onBranches :: (BaseCurry a,BaseCurry b) => + C_Ref -> (C_Ref -> a -> Result b) -> OrRef -> Branches a -> Result b+c_onBranches r cont orref bs = + evalRef' True (\ r x st -> replace r (cont r x st) st) (branching orref bs) r + +liftCase :: (BaseCurry a,BaseCurry b) => + C_Ref -> (C_Ref -> a -> Result b) -> OrRef -> Branches a -> (Int -> State) -> b+liftCase ref f orref bs = + expand' ref (length bs - 1) (\ refs -> lift ($) orref (zipWith f refs bs))++expand' :: C_Ref -> Int -> ([C_Ref] -> a) -> a+expand' (C_Ref ref) l cont = + cexpand ref l `seq`+ evalRefs refs `seq`+ cont (map C_Ref (ref:refs))+ where+ refs = map cfresh (replicate l 0)+ + evalRefs [] = ()+ evalRefs (r : rs) = seq r (evalRefs rs)+ ++--- generating a fresh variable+unknown :: Curry a => C_Ref -> Result a+unknown r st = freeF (\x -> gen r x st)++gen :: Curry a => C_Ref -> a -> Result a+gen r x st = case consKind x of+ Val -> push r x st+ Branching -> liftCase r gen (orRef x) (branches x) (const st)++push :: Curry a => C_Ref -> a -> Result a+push r x st = case foldCurry (\ _ n _ -> n+1) 0 x st of+ 0 -> collapse r x st+ 1 -> replace r (propagate (\_ -> gen r) x st) st+ n -> expand' r (n-1) (\ refs -> propagate (distRefs refs) x st)++ where+ distRefs rs i x = gen (rs!!i) x+ + +type RefFun a b = C_Ref -> Result (Prim (a -> Result b))++($!), ($#),($!!),($##), apply :: (Curry a,Curry b) => + Prim (RefFun a b) -> a -> C_Ref -> Result b+(cont $! x) r = Curry.Module.CEventOracle.prepApply hnfRef x cont r+(cont $# x) r = Curry.Module.CEventOracle.prepApply (evalRef True) x cont r+(cont $!! x) r st = Curry.Module.CEventOracle.prepApply hnfRef (nfCTC const x st) cont r st+(cont $## x) r st = Curry.Module.CEventOracle.prepApply (evalRef True) (gnfCTC const x st) cont r st+++apply cont x r = Curry.Module.CEventOracle.prepApply (\ cont' x' r' st' -> + replace r' (Curry.Module.Prelude.apply (cont' r' st') x' st') st') x cont r++prepApply :: (BaseCurry a,BaseCurry b) => + (RefFun b a -> b -> C_Ref -> Result a) -> b -> Prim (RefFun b a) -> C_Ref -> Result a+prepApply prep x (PrimValue f) cref st = prep f x cref st+prepApply prep x (PrimOr r bs) cref st = + c_onBranches cref (\ r' f' -> Curry.Module.CEventOracle.prepApply prep x f' r') r bs st+prepApply _ _ f r st = collapse r (patternFail "Prelude.prepApply" f) st++hnfRef :: (BaseCurry a,BaseCurry b) => RefFun b a -> b -> C_Ref -> Result a+hnfRef = evalRef False ++evalRef :: (BaseCurry a,BaseCurry b) => HNFMode -> RefFun a b -> a -> C_Ref -> Result b+evalRef mode cont = evalRef' mode (\ r x st -> replace r (Curry.Module.Prelude.apply (cont r st) x st) st)++evalRef' :: (BaseCurry a,BaseCurry b) => + HNFMode -> (C_Ref -> a -> Result b) -> a -> C_Ref -> Result b+evalRef' mode cont x r state = + case consKind x of+ Failed -> closeRef r (addException err x) state+ Branching -> let orref = orRef x+ bs = branches x in+ manipulateStore+ (closeRef r (Curry.RunTimeSystem.failed (curryError "=:=")) state)+ contEval+ (\ ref' contSt -> if mode || not (isGenerator orref)+ then liftCase r contEvalRef (narrowOrRef orref) bs contSt+ else cont r (branching ref' bs) state)+ (\ orref' x' st' -> branching orref' [contEval x' st'])+ orref bs state+ Val -> cont r x state++ where+ err = curryError ("Prelude."++if mode then "$#" else "$!")+ contEvalRef r' x' st' = evalRef' mode cont x' r' st'+ contEval = contEvalRef r++
+ Curry/Module/DebuggerPath.hs.include view
@@ -0,0 +1,6 @@+[ForFunction "debuggerLibPath"]++import Curry.Files.KiCSDebugPath++debuggerLibPath :: Result (C_IO C_String)+debuggerLibPath = ioFunc0 getOracleLibDir
+ Curry/Module/EventOracle.curry view
@@ -0,0 +1,118 @@+module EventOracle where++import IOExts+import Unsafe+import System (getProgName)+++type Ref = IORef Node+data Node = Node Ref Cost Ref | Marker | Collapsed+type Cost = Int++initialize :: (Ref -> IO a) -> IO ()+initialize app = do+ mod <- getProgName+ let extFile = mod++".ext"+ setAssoc "extfn" extFile+ writeFile extFile ""+ startMarker <- newIORef (error "startMarker")+ endMarker <- newIORef (error "endMarker")+ mainR <- newIORef (Node startMarker 0 endMarker)+ marker <- newIORef Marker+ writeIORef startMarker (Node marker 0 mainR)+ writeIORef endMarker (Node mainR 0 marker)+ x <- app mainR+ return Prelude.$!! x+ putStrLn "finalizing"+ finalize mod startMarker endMarker+ return ()++--- Signals the end of the computation.+finalize :: String -> Ref -> Ref -> IO ()+finalize mod fmR endR = do+ _:l <- pointerToList fmR endR+ writeFile (mod++".steps") (show l ++ "\n.\n")++--- Side effect that computes a fresh reference.+fresh :: () -> Ref -- must not be a constant in Haskell+fresh _ = unsafePerformIO (newIORef (error "fresh"))++--- increase counter of ref by one+replace :: Ref -> a -> a+replace ref x = unsafePerformIO (do+ --putChar '.'+ node <- readIORef ref+ case node of+ Collapsed -> warning "tried to replace collapsed ref"+ Node p c s -> writeIORef ref Prelude.$!! (Node p (c+1) s)+ return x)++--- Remove a ref and combine and counter +1+collapse :: Ref -> a -> a+collapse ref x = unsafePerformIO (do+ --putChar '%'+ node <- readIORef ref+ case node of+ Collapsed -> warning "tried to collapse collapsed ref"+ Node p c s -> do+ Node pp pc _ <- readIORef p+ Node _ sc ss <- readIORef s+ writeIORef ref Collapsed+ writeIORef p (Node pp pc s)+ writeIORef s Prelude.$!! (Node p (c+1+sc) ss)+ return x)++--- Remove a ref and combine without increment +-- (used in partCons, partCall only)+closeRef :: Ref -> a -> a+closeRef ref x = unsafePerformIO (do+ --putChar '!'+ node <- readIORef ref+ case node of+ Collapsed -> warning "tried to collapse collapsed ref"+ Node p c s -> do+ Node pp pc _ <- readIORef p+ Node _ sc ss <- readIORef s+ writeIORef ref Collapsed+ writeIORef p (Node pp pc s)+ writeIORef s Prelude.$!! (Node p (c+sc) ss)+ return x)+++--- Projection on last argument that releases an event as a side effect.+-- increment step counter of first ref and add remaining refs+-- list has to be at least of size 1+expand :: Ref -> [Ref] -> a -> a+expand ref refs x = unsafePerformIO (do+ --putChar ':'+ --putStr (show (length refs))+ node <- readIORef ref+ case node of+ Collapsed -> warning "tried to expand collapsed ref"+ Node p c s -> do+ last <- (toAssocList Prelude.$!! (c+1)) p (ref:refs) s+ suc <- readIORef s+ case suc of+ Collapsed -> warning "successor of expanded ref is already collapsed"+ Node _ sc ss -> writeIORef s (Node last sc ss) + Marker -> done+ return x)++toAssocList :: Cost -> Ref -> [Ref] -> Ref -> IO Ref+toAssocList c p [r] s = writeIORef r (Node p c s) >> return r+toAssocList c p (r:rs@(r':_)) s = do+ writeIORef r (Node p c r')+ toAssocList 0 r rs s++pointerToList :: Ref -> Ref -> IO [Cost]+pointerToList ref end = do+ node <- readIORef ref+ case node of+ Collapsed -> warning "final list contains collapsed reference" >> return []+ Node _ c s -> do+ cs <- pointerToList s end+ return (c:cs)+ Marker -> return []++warning :: String -> IO ()+warning msg = putStrLn $ "WARNING: " ++ msg
+ Curry/Module/EventOracle.fcy view
@@ -0,0 +1,1 @@+Prog "EventOracle" ["IOExts","Prelude","System","Unsafe"] [TypeSyn ("EventOracle","Ref") Public [] (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]),TypeSyn ("EventOracle","Cost") Public [] (TCons ("Prelude","Int") []),Type ("EventOracle","Node") Public [] [Cons ("EventOracle","Node") 3 Public [TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []],TCons ("Prelude","Int") [],TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]],Cons ("EventOracle","Marker") 0 Public [],Cons ("EventOracle","Collapsed") 0 Public []]] [Func ("EventOracle","initialize") 1 Public (FuncType (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TVar 0])) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [1] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("System","getProgName") [],Comb (FuncPartCall 1) ("EventOracle","initialize._#lambda2") [Var 1]])),Func ("EventOracle","initialize._#lambda2") 2 Private (FuncType (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TVar 59])) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (Rule [1,2] (Let [(3,Comb FuncCall ("Prelude","++") [Var 2,Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'x'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude","[]") []]]]]])] (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("IOExts","setAssoc") [Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'x'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude","[]") []]]]]],Var 3],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","writeFile") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","newIORef") [Comb FuncCall ("Prelude","error") [Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'M'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'k'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]],Comb (FuncPartCall 1) ("EventOracle","initialize._#lambda2._#lambda3") [Var 1,Var 2]]]]))),Func ("EventOracle","initialize._#lambda2._#lambda3") 3 Private (FuncType (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TVar 59])) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))) (Rule [1,2,3] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","newIORef") [Comb FuncCall ("Prelude","error") [Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'M'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'k'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]],Comb (FuncPartCall 1) ("EventOracle","initialize._#lambda2._#lambda3._#lambda4") [Var 1,Var 2,Var 3]])),Func ("EventOracle","initialize._#lambda2._#lambda3._#lambda4") 4 Private (FuncType (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TVar 59])) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))))) (Rule [1,2,3,4] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","newIORef") [Comb ConsCall ("EventOracle","Node") [Var 3,Lit (Intc 0),Var 4]],Comb (FuncPartCall 1) ("EventOracle","initialize._#lambda2._#lambda3._#lambda4._#lambda5") [Var 1,Var 4,Var 2,Var 3]])),Func ("EventOracle","initialize._#lambda2._#lambda3._#lambda4._#lambda5") 5 Private (FuncType (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TVar 59])) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))) (Rule [1,2,3,4,5] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","newIORef") [Comb ConsCall ("EventOracle","Marker") []],Comb (FuncPartCall 1) ("EventOracle","initialize._#lambda2._#lambda3._#lambda4._#lambda5._#lambda6") [Var 1,Var 2,Var 5,Var 3,Var 4]])),Func ("EventOracle","initialize._#lambda2._#lambda3._#lambda4._#lambda5._#lambda6") 6 Private (FuncType (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TVar 59])) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))))))) (Rule [1,2,3,4,5,6] (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("IOExts","writeIORef") [Var 5,Comb ConsCall ("EventOracle","Node") [Var 6,Lit (Intc 0),Var 3]],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("IOExts","writeIORef") [Var 2,Comb ConsCall ("EventOracle","Node") [Var 3,Lit (Intc 0),Var 6]],Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Comb (FuncPartCall 1) ("EventOracle","initialize._#lambda2._#lambda3._#lambda4._#lambda5._#lambda6._#lambda7") [Var 2,Var 4,Var 5]]]])),Func ("EventOracle","initialize._#lambda2._#lambda3._#lambda4._#lambda5._#lambda6._#lambda7") 4 Private (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TVar 59) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))))) (Rule [1,2,3,4] (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","$!!") [Comb (FuncPartCall 1) ("Prelude","return") [],Var 4],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","putStrLn") [Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'z'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("EventOracle","finalize") [Var 2,Var 3,Var 1],Comb FuncCall ("Prelude","return") [Comb ConsCall ("Prelude","()") []]]]])),Func ("EventOracle","finalize") 3 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))) (Rule [1,2,3] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("EventOracle","pointerToList") [Var 2,Var 3],Comb (FuncPartCall 1) ("EventOracle","finalize._#lambda8") [Var 1]])),Func ("EventOracle","finalize._#lambda8") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude",":") [3,4]) (Comb FuncCall ("Prelude","writeFile") [Comb FuncCall ("Prelude","++") [Var 1,Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude","[]") []]]]]]]],Comb FuncCall ("Prelude","++") [Comb FuncCall ("Prelude","show") [Var 4],Comb ConsCall ("Prelude",":") [Lit (Charc '\n'),Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc '\n'),Comb ConsCall ("Prelude","[]") []]]]]])])),Func ("EventOracle","fresh") 1 Public (FuncType (TCons ("Prelude","()") []) (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []])) (Rule [1] (Comb FuncCall ("Unsafe","unsafePerformIO") [Comb FuncCall ("IOExts","newIORef") [Comb FuncCall ("Prelude","error") [Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude","[]") []]]]]]]]])),Func ("EventOracle","replace") 2 Public (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TVar 0) (TVar 0))) (Rule [1,2] (Comb FuncCall ("Unsafe","unsafePerformIO") [Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 1],Comb (FuncPartCall 1) ("EventOracle","replace._#lambda9") [Var 1,Var 2]]])),Func ("EventOracle","replace._#lambda9") 3 Private (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TVar 76) (FuncType (TCons ("EventOracle","Node") []) (TCons ("Prelude","IO") [TVar 76])))) (Rule [1,2,3] (Comb FuncCall ("Prelude",">>") [Case Rigid (Var 3) [Branch (Pattern ("EventOracle","Collapsed") []) (Comb FuncCall ("EventOracle","warning") [Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]),Branch (Pattern ("EventOracle","Node") [4,5,6]) (Comb FuncCall ("Prelude","$!!") [Comb (FuncPartCall 1) ("IOExts","writeIORef") [Var 1],Comb ConsCall ("EventOracle","Node") [Var 4,Comb FuncCall ("Prelude","+") [Var 5,Lit (Intc 1)],Var 6]]),Branch (Pattern ("EventOracle","Marker") []) (Comb FuncCall ("Prelude","failed") [])],Comb FuncCall ("Prelude","return") [Var 2]])),Func ("EventOracle","collapse") 2 Public (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TVar 0) (TVar 0))) (Rule [1,2] (Comb FuncCall ("Unsafe","unsafePerformIO") [Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 1],Comb (FuncPartCall 1) ("EventOracle","collapse._#lambda11") [Var 1,Var 2]]])),Func ("EventOracle","collapse._#lambda11") 3 Private (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TVar 93) (FuncType (TCons ("EventOracle","Node") []) (TCons ("Prelude","IO") [TVar 93])))) (Rule [1,2,3] (Comb FuncCall ("Prelude",">>") [Case Rigid (Var 3) [Branch (Pattern ("EventOracle","Collapsed") []) (Comb FuncCall ("EventOracle","warning") [Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]),Branch (Pattern ("EventOracle","Node") [4,5,6]) (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 4],Comb (FuncPartCall 1) ("EventOracle","collapse._#lambda11._#lambda13") [Var 5,Var 4,Var 1,Var 6]]),Branch (Pattern ("EventOracle","Marker") []) (Comb FuncCall ("Prelude","failed") [])],Comb FuncCall ("Prelude","return") [Var 2]])),Func ("EventOracle","collapse._#lambda11._#lambda13") 5 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("EventOracle","Node") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))) (Rule [1,2,3,4,5] (Case Flex (Var 5) [Branch (Pattern ("EventOracle","Node") [6,7,8]) (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 4],Comb (FuncPartCall 1) ("EventOracle","collapse._#lambda11._#lambda13._#lambda14") [Var 1,Var 2,Var 7,Var 6,Var 3,Var 4]])])),Func ("EventOracle","collapse._#lambda11._#lambda13._#lambda14") 7 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("EventOracle","Node") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))))) (Rule [1,2,3,4,5,6,7] (Case Flex (Var 7) [Branch (Pattern ("EventOracle","Node") [8,9,10]) (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("IOExts","writeIORef") [Var 5,Comb ConsCall ("EventOracle","Collapsed") []],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("IOExts","writeIORef") [Var 2,Comb ConsCall ("EventOracle","Node") [Var 4,Var 3,Var 6]],Comb FuncCall ("Prelude","$!!") [Comb (FuncPartCall 1) ("IOExts","writeIORef") [Var 6],Comb ConsCall ("EventOracle","Node") [Var 2,Comb FuncCall ("Prelude","+") [Comb FuncCall ("Prelude","+") [Var 1,Lit (Intc 1)],Var 9],Var 10]]]])])),Func ("EventOracle","closeRef") 2 Public (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TVar 0) (TVar 0))) (Rule [1,2] (Comb FuncCall ("Unsafe","unsafePerformIO") [Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 1],Comb (FuncPartCall 1) ("EventOracle","closeRef._#lambda15") [Var 1,Var 2]]])),Func ("EventOracle","closeRef._#lambda15") 3 Private (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TVar 123) (FuncType (TCons ("EventOracle","Node") []) (TCons ("Prelude","IO") [TVar 123])))) (Rule [1,2,3] (Comb FuncCall ("Prelude",">>") [Case Rigid (Var 3) [Branch (Pattern ("EventOracle","Collapsed") []) (Comb FuncCall ("EventOracle","warning") [Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]),Branch (Pattern ("EventOracle","Node") [4,5,6]) (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 4],Comb (FuncPartCall 1) ("EventOracle","closeRef._#lambda15._#lambda17") [Var 5,Var 4,Var 1,Var 6]]),Branch (Pattern ("EventOracle","Marker") []) (Comb FuncCall ("Prelude","failed") [])],Comb FuncCall ("Prelude","return") [Var 2]])),Func ("EventOracle","closeRef._#lambda15._#lambda17") 5 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("EventOracle","Node") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))) (Rule [1,2,3,4,5] (Case Flex (Var 5) [Branch (Pattern ("EventOracle","Node") [6,7,8]) (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 4],Comb (FuncPartCall 1) ("EventOracle","closeRef._#lambda15._#lambda17._#lambda18") [Var 1,Var 2,Var 7,Var 6,Var 3,Var 4]])])),Func ("EventOracle","closeRef._#lambda15._#lambda17._#lambda18") 7 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("EventOracle","Node") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))))) (Rule [1,2,3,4,5,6,7] (Case Flex (Var 7) [Branch (Pattern ("EventOracle","Node") [8,9,10]) (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("IOExts","writeIORef") [Var 5,Comb ConsCall ("EventOracle","Collapsed") []],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("IOExts","writeIORef") [Var 2,Comb ConsCall ("EventOracle","Node") [Var 4,Var 3,Var 6]],Comb FuncCall ("Prelude","$!!") [Comb (FuncPartCall 1) ("IOExts","writeIORef") [Var 6],Comb ConsCall ("EventOracle","Node") [Var 2,Comb FuncCall ("Prelude","+") [Var 1,Var 9],Var 10]]]])])),Func ("EventOracle","expand") 3 Public (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("Prelude","[]") [TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]]) (FuncType (TVar 0) (TVar 0)))) (Rule [1,2,3] (Comb FuncCall ("Unsafe","unsafePerformIO") [Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 1],Comb (FuncPartCall 1) ("EventOracle","expand._#lambda19") [Var 1,Var 2,Var 3]]])),Func ("EventOracle","expand._#lambda19") 4 Private (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("Prelude","[]") [TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]]) (FuncType (TVar 175) (FuncType (TCons ("EventOracle","Node") []) (TCons ("Prelude","IO") [TVar 175]))))) (Rule [1,2,3,4] (Comb FuncCall ("Prelude",">>") [Case Rigid (Var 4) [Branch (Pattern ("EventOracle","Collapsed") []) (Comb FuncCall ("EventOracle","warning") [Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'x'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]),Branch (Pattern ("EventOracle","Node") [5,6,7]) (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","$!!") [Comb (FuncPartCall 4) ("EventOracle","toAssocList") [],Comb FuncCall ("Prelude","+") [Var 6,Lit (Intc 1)]],Var 5],Comb ConsCall ("Prelude",":") [Var 1,Var 2]],Var 7],Comb (FuncPartCall 1) ("EventOracle","expand._#lambda19._#lambda21") [Var 7]]),Branch (Pattern ("EventOracle","Marker") []) (Comb FuncCall ("Prelude","failed") [])],Comb FuncCall ("Prelude","return") [Var 3]])),Func ("EventOracle","expand._#lambda19._#lambda21") 2 Private (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (Rule [1,2] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 1],Comb (FuncPartCall 1) ("EventOracle","expand._#lambda19._#lambda21._#lambda22") [Var 2,Var 1]])),Func ("EventOracle","expand._#lambda19._#lambda21._#lambda22") 3 Private (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("EventOracle","Node") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))) (Rule [1,2,3] (Case Rigid (Var 3) [Branch (Pattern ("EventOracle","Collapsed") []) (Comb FuncCall ("EventOracle","warning") [Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'x'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]),Branch (Pattern ("EventOracle","Node") [4,5,6]) (Comb FuncCall ("IOExts","writeIORef") [Var 2,Comb ConsCall ("EventOracle","Node") [Var 1,Var 5,Var 6]]),Branch (Pattern ("EventOracle","Marker") []) (Comb FuncCall ("Prelude","done") [])])),Func ("EventOracle","toAssocList") 4 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("Prelude","[]") [TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]]))))) (Rule [1,2,3,4] (Case Flex (Var 3) [Branch (Pattern ("Prelude",":") [5,6]) (Case Flex (Var 6) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("IOExts","writeIORef") [Var 5,Comb ConsCall ("EventOracle","Node") [Var 2,Var 1,Var 4]],Comb FuncCall ("Prelude","return") [Var 5]]),Branch (Pattern ("Prelude",":") [7,8]) (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("IOExts","writeIORef") [Var 5,Comb ConsCall ("EventOracle","Node") [Var 2,Var 1,Var 7]],Comb FuncCall ("EventOracle","toAssocList") [Lit (Intc 0),Var 5,Var 6,Var 4]])])])),Func ("EventOracle","pointerToList") 2 Public (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]))) (Rule [1,2] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 1],Comb (FuncPartCall 1) ("EventOracle","pointerToList._#lambda24") [Var 2]])),Func ("EventOracle","pointerToList._#lambda24") 2 Private (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("EventOracle","Node") []) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]))) (Rule [1,2] (Case Rigid (Var 2) [Branch (Pattern ("EventOracle","Collapsed") []) (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("EventOracle","warning") [Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],Comb FuncCall ("Prelude","return") [Comb ConsCall ("Prelude","[]") []]]),Branch (Pattern ("EventOracle","Node") [3,4,5]) (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("EventOracle","pointerToList") [Var 5,Var 1],Comb (FuncPartCall 1) ("EventOracle","pointerToList._#lambda24._#lambda26") [Var 4]]),Branch (Pattern ("EventOracle","Marker") []) (Comb FuncCall ("Prelude","return") [Comb ConsCall ("Prelude","[]") []])])),Func ("EventOracle","pointerToList._#lambda24._#lambda26") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]))) (Rule [1,2] (Comb FuncCall ("Prelude","return") [Comb ConsCall ("Prelude",":") [Var 1,Var 2]])),Func ("EventOracle","warning") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [1] (Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Prelude","putStrLn") [],Comb FuncCall ("Prelude","++") [Comb ConsCall ("Prelude",":") [Lit (Charc 'W'),Comb ConsCall ("Prelude",":") [Lit (Charc 'A'),Comb ConsCall ("Prelude",":") [Lit (Charc 'R'),Comb ConsCall ("Prelude",":") [Lit (Charc 'N'),Comb ConsCall ("Prelude",":") [Lit (Charc 'I'),Comb ConsCall ("Prelude",":") [Lit (Charc 'N'),Comb ConsCall ("Prelude",":") [Lit (Charc 'G'),Comb ConsCall ("Prelude",":") [Lit (Charc ':'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude","[]") []]]]]]]]]],Var 1]]))] []
+ Curry/Module/EventOracle.fint view
@@ -0,0 +1,1 @@+Prog "EventOracle" ["IOExts","Prelude","System","Unsafe"] [TypeSyn ("EventOracle","Ref") Public [] (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]),TypeSyn ("EventOracle","Cost") Public [] (TCons ("Prelude","Int") []),Type ("EventOracle","Node") Public [] [Cons ("EventOracle","Node") 3 Public [TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []],TCons ("Prelude","Int") [],TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]],Cons ("EventOracle","Marker") 0 Public [],Cons ("EventOracle","Collapsed") 0 Public []]] [Func ("EventOracle","initialize") 1 Public (FuncType (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TVar 0])) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [] (Var 0)),Func ("EventOracle","finalize") 3 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))) (Rule [] (Var 0)),Func ("EventOracle","fresh") 1 Public (FuncType (TCons ("Prelude","()") []) (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []])) (Rule [] (Var 0)),Func ("EventOracle","replace") 2 Public (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TVar 0) (TVar 0))) (Rule [] (Var 0)),Func ("EventOracle","collapse") 2 Public (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TVar 0) (TVar 0))) (Rule [] (Var 0)),Func ("EventOracle","closeRef") 2 Public (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TVar 0) (TVar 0))) (Rule [] (Var 0)),Func ("EventOracle","expand") 3 Public (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("Prelude","[]") [TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]]) (FuncType (TVar 0) (TVar 0)))) (Rule [] (Var 0)),Func ("EventOracle","toAssocList") 4 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("Prelude","[]") [TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]]))))) (Rule [] (Var 0)),Func ("EventOracle","pointerToList") 2 Public (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]))) (Rule [] (Var 0)),Func ("EventOracle","warning") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [] (Var 0))] []
+ Curry/Module/LiftCases.curry view
@@ -0,0 +1,136 @@+------------------------------------------------------------------+--- This module provides a transformation on FlatCurry programs.+--- The result contains a new function for each nested case +--- contained in the original program. +--- The new functions have the names "_case_ ... i" where i+--- is a number and there are as many underscores as necessary +--- to avoid name clashes. (Example: _case_0)+--- In addition, all the cases are normalized, i.e. applied to +--- a variable. This variable is always the last argument of +--- the newly generated function.+--- The first argument of liftCases is a boolean flag, meaning:+--- False: introduce function for EACH case of original program+--- True: introduce function for nested and not normalized +--- cases only+---+--- Some possible improvements:+--- 1) Up to now the newly generated functions are not correctly +--- typed but have type (TVar (-42)).+---+--- @author bbr,sebf+--- @version October 2006+------------------------------------------------------------------++module LiftCases (liftCases,isCaseAuxFuncName,isCaseAuxFuncType) where++import FlatCurry+import FlatCurryGoodies+import List (isPrefixOf,partition,delete)+import FiniteMap++isCaseAuxFuncName :: String -> Bool+isCaseAuxFuncName n = take 6 n == "_case_"++isCaseAuxFuncType :: TypeExpr -> Bool+isCaseAuxFuncType t = t==TVar (-42)++--- @param - the program to be transformed+liftCases :: Bool -> Prog -> Prog+liftCases nestedOnly p = + let fs = progFuncs p+ aux = genAuxName (map (snd . funcName) fs)+ (exts,ins) = partition isExternal fs+ (newFsf,_,auxFf) = foldr (liftCasesFunc nestedOnly (progName p) aux) + (id,0,id) + ins+ in updProgFuncs (const (newFsf (auxFf exts))) p++type FuncList = [FuncDecl] -> [FuncDecl]+type Result = (FuncList,Int,FuncList)++liftCasesFunc :: Bool -> String -> String -> FuncDecl -> Result -> Result+liftCasesFunc onlyNested mod aux f (esMain,i0,ffMain) = + ((updFuncBody (const exp) f:) . esMain,iMain,ffMain . ffeMain)+ where+ body = funcBody f++ (exp,iMain,ffeMain,_) = + if onlyNested then (case body of+ Case cm (Var v) bs -> + let (e',i',ffe,_) = trans (Var v) i0+ (bs',i'',ffbs,_) = + fold i' (map (\ (Branch pat be) -> branch pat (trans be)) bs)+ in (Case cm e' bs', i'',ffe . ffbs,[])+ _ -> trans body i0)+ else trans body i0+ + trans = trExpr var lit comb leT freE or casE branch++ var v i = (Var v,i,id,[v])+ lit l i = (Lit l,i,id,[])+ comb ct n args i = let (args',i',ff,vs) = fold i args+ in (Comb ct n args',i',ff,vs)+ leT bs e i = + let (vs,es) = unzip bs + (es',i',ffes,ves) = fold i es+ (e',i'',ffe,ve) = e i'+ in (Let (zip vs es') e',i'', ffes . ffe,+ filter (not . elemOf vs) (ves ++ ve))+ freE vs e i = + let (e',i',ff,ve) = e i + in (Free vs e',i',ff,filter (not . elemOf vs) ve)+ or e1 e2 i = + let ([e1',e2'],i',ff,vs) = fold i [e1,e2]+ in (Or e1' e2',i',ff,vs)+ casE ct e bs i = + let (e',i',ffe,ve) = e i+ (bs',i'',ffbs,vbs) = fold i' bs+ envRes = nub (ve ++ vbs)+ env = case e' of+ Var v -> delete v envRes+ _ -> envRes+ in (genFuncCall mod aux i'' env e',i''+1,+ (genFunc mod aux i'' env e' ct bs':) . ffe . ffbs,+ envRes)+ branch p e i = + let (e',i',ff,ve) = e i+ in (Branch p e',i',ff,removePVars ve p)++fold :: a -> [a -> (c,a,d -> d,[e])] -> ([c],a,d -> d,[e])+fold i = foldr once ([],i,id,[])+ where+ once f (es,j,ff1,vs1) = let (e,k,ff2,vs2) = f j+ in (e:es,k,ff1 . ff2,vs1++vs2)++genFuncCall :: String -> String -> Int -> [VarIndex] -> Expr -> Expr+genFuncCall mod aux i env e = + Comb FuncCall (mod,aux++show i) (map Var env ++ [e])++genFunc :: String -> String -> Int -> [VarIndex] -> Expr ->+ CaseType -> [BranchExpr] -> FuncDecl+genFunc mod aux i env e ct bs = + Func (mod,aux++show i) (length env+1) Private (TVar (-42)) $+ Rule (env++[v]) (Case ct (Var v) bs)+ where+ v = case e of + Var idx -> idx+ _ -> foldr max 0 (env++concatMap allVarsBranch bs) + 1+ + allVarsBranch (Branch p pe) = + trPattern (\ _ xs -> xs) (\ _ -> []) p ++ allVars pe++removePVars :: [Int] -> Pattern -> [Int]+removePVars e = trPattern (\ _ vs -> filter (not . elemOf vs) e) (const e)++genAuxName :: [String] -> String+genAuxName = foldl addUnderscores "_case_"++addUnderscores :: String -> String -> String+addUnderscores n m = if isPrefixOf n m then addUnderscores (n++"_") m else n ++elemOf = flip elem++nub xs = map fst $ fmToList $ listToFM (<) $ zip xs (repeat ())+++
+ Curry/Module/LiftCases.fcy view
@@ -0,0 +1,1 @@+Prog "LiftCases" ["FiniteMap","FlatCurry","FlatCurryGoodies","List","Prelude"] [TypeSyn ("LiftCases","FuncList") Private [] (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])),TypeSyn ("LiftCases","Result") Private [] (TCons ("Prelude","(,,)") [FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])])] [Func ("LiftCases","isCaseAuxFuncName") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb FuncCall ("Prelude","==") [Comb FuncCall ("Prelude","take") [Lit (Intc 6),Var 1],Comb ConsCall ("Prelude",":") [Lit (Charc '_'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc '_'),Comb ConsCall ("Prelude","[]") []]]]]]]])),Func ("LiftCases","isCaseAuxFuncType") 1 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb FuncCall ("Prelude","==") [Var 1,Comb ConsCall ("FlatCurry","TVar") [Comb FuncCall ("Prelude","negate") [Lit (Intc 42)]]])),Func ("LiftCases","liftCases") 2 Public (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") []))) (Rule [1,2] (Let [(3,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","progFuncs") [],Var 2])] (Let [(4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("LiftCases","genAuxName") [],Comb FuncCall ("Prelude","map") [Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","snd") [],Comb FuncCall ("FlatCurryGoodies","funcName") []],Var 3]])] (Let [(5,Comb FuncCall ("List","partition") [Comb FuncCall ("FlatCurryGoodies","isExternal") [],Var 3])] (Let [(6,Comb FuncCall ("LiftCases","liftCases._#selFP6#exts") [Var 5])] (Let [(7,Comb FuncCall ("LiftCases","liftCases._#selFP7#ins") [Var 5])] (Let [(8,Comb FuncCall ("Prelude","foldr") [Comb (FuncPartCall 2) ("LiftCases","liftCasesFunc") [Var 1,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","progName") [],Var 2],Var 4],Comb ConsCall ("Prelude","(,,)") [Comb (FuncPartCall 1) ("Prelude","id") [],Lit (Intc 0),Comb (FuncPartCall 1) ("Prelude","id") []],Var 7])] (Let [(9,Comb FuncCall ("LiftCases","liftCases._#selFP4#newFsf") [Var 8])] (Let [(10,Comb FuncCall ("LiftCases","liftCases._#selFP5#auxFf") [Var 8])] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","updProgFuncs") [Comb (FuncPartCall 1) ("Prelude","const") [Comb FuncCall ("Prelude","apply") [Var 9,Comb FuncCall ("Prelude","apply") [Var 10,Var 6]]]],Var 2])))))))))),Func ("LiftCases","liftCases._#selFP6#exts") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []],TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("LiftCases","liftCases._#selFP7#ins") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []],TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("LiftCases","liftCases._#selFP4#newFsf") 1 Private (FuncType (TCons ("Prelude","(,,)") [FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,)") [2,3,4]) (Var 2)])),Func ("LiftCases","liftCases._#selFP5#auxFf") 1 Private (FuncType (TCons ("Prelude","(,,)") [FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,)") [2,3,4]) (Var 4)])),Func ("LiftCases","liftCasesFunc") 5 Private (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("FlatCurry","FuncDecl") []) (FuncType (TCons ("Prelude","(,,)") [FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])]) (TCons ("Prelude","(,,)") [FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])])))))) (Rule [1,2,3,4,5] (Case Flex (Var 5) [Branch (Pattern ("Prelude","(,,)") [6,7,8]) (Let [(9,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","funcBody") [],Var 4])] (Let [(10,Comb (FuncPartCall 1) ("FlatCurryGoodies","trExpr") [Comb (FuncPartCall 2) ("LiftCases","liftCasesFunc.var.18") [],Comb (FuncPartCall 2) ("LiftCases","liftCasesFunc.lit.18") [],Comb (FuncPartCall 4) ("LiftCases","liftCasesFunc.comb.18") [],Comb (FuncPartCall 3) ("LiftCases","liftCasesFunc.leT.18") [],Comb (FuncPartCall 3) ("LiftCases","liftCasesFunc.freE.18") [],Comb (FuncPartCall 3) ("LiftCases","liftCasesFunc.or.18") [],Comb (FuncPartCall 4) ("LiftCases","liftCasesFunc.casE.18") [Var 3,Var 2],Comb (FuncPartCall 3) ("LiftCases","liftCasesFunc.branch.18") []])] (Let [(11,Case Rigid (Var 1) [Branch (Pattern ("Prelude","True") []) (Case Rigid (Var 9) [Branch (Pattern ("FlatCurry","Case") [12,13,14]) (Case Rigid (Var 13) [Branch (Pattern ("FlatCurry","Var") [15]) (Let [(16,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Comb ConsCall ("FlatCurry","Var") [Var 15]],Var 7])] (Let [(17,Comb FuncCall ("LiftCases","liftCasesFunc._#selFP58#e'") [Var 16])] (Let [(18,Comb FuncCall ("LiftCases","liftCasesFunc._#selFP59#i'") [Var 16])] (Let [(19,Comb FuncCall ("LiftCases","liftCasesFunc._#selFP60#ffe") [Var 16])] (Let [(20,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("LiftCases","fold") [Var 18],Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("LiftCases","liftCasesFunc._#lambda3") [Var 10],Var 14]])] (Let [(21,Comb FuncCall ("LiftCases","liftCasesFunc._#selFP55#bs'") [Var 20])] (Let [(22,Comb FuncCall ("LiftCases","liftCasesFunc._#selFP56#i''") [Var 20])] (Let [(23,Comb FuncCall ("LiftCases","liftCasesFunc._#selFP57#ffbs") [Var 20])] (Comb ConsCall ("Prelude","(,,,)") [Comb ConsCall ("FlatCurry","Case") [Var 12,Var 17,Var 21],Var 22,Comb FuncCall ("Prelude",".") [Var 19,Var 23],Comb ConsCall ("Prelude","[]") []]))))))))),Branch (Pattern ("FlatCurry","Lit") [24]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7]),Branch (Pattern ("FlatCurry","Comb") [25,26,27]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7]),Branch (Pattern ("FlatCurry","Let") [28,29]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7]),Branch (Pattern ("FlatCurry","Free") [30,31]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7]),Branch (Pattern ("FlatCurry","Or") [32,33]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7]),Branch (Pattern ("FlatCurry","Case") [34,35,36]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7])]),Branch (Pattern ("FlatCurry","Var") [37]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7]),Branch (Pattern ("FlatCurry","Lit") [38]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7]),Branch (Pattern ("FlatCurry","Comb") [39,40,41]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7]),Branch (Pattern ("FlatCurry","Let") [42,43]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7]),Branch (Pattern ("FlatCurry","Free") [44,45]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7]),Branch (Pattern ("FlatCurry","Or") [46,47]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7])]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 10,Var 9],Var 7])])] (Let [(48,Comb FuncCall ("LiftCases","liftCasesFunc._#selFP61#exp") [Var 11])] (Let [(49,Comb FuncCall ("LiftCases","liftCasesFunc._#selFP62#iMain") [Var 11])] (Let [(50,Comb FuncCall ("LiftCases","liftCasesFunc._#selFP63#ffeMain") [Var 11])] (Comb ConsCall ("Prelude","(,,)") [Comb FuncCall ("Prelude",".") [Comb (ConsPartCall 1) ("Prelude",":") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","updFuncBody") [],Comb (FuncPartCall 1) ("Prelude","const") [Var 48]],Var 4]],Var 6],Var 49,Comb FuncCall ("Prelude",".") [Var 8,Var 50]])))))))])),Func ("LiftCases","liftCasesFunc.var.18") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 0,FuncType (TVar 1) (TVar 1),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]))) (Rule [1,2] (Comb ConsCall ("Prelude","(,,,)") [Comb ConsCall ("FlatCurry","Var") [Var 1],Var 2,Comb (FuncPartCall 1) ("Prelude","id") [],Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude","[]") []]])),Func ("LiftCases","liftCasesFunc.lit.18") 2 Private (FuncType (TCons ("FlatCurry","Literal") []) (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 0,FuncType (TVar 1) (TVar 1),TCons ("Prelude","[]") [TVar 2]]))) (Rule [1,2] (Comb ConsCall ("Prelude","(,,,)") [Comb ConsCall ("FlatCurry","Lit") [Var 1],Var 2,Comb (FuncPartCall 1) ("Prelude","id") [],Comb ConsCall ("Prelude","[]") []])),Func ("LiftCases","liftCasesFunc.comb.18") 4 Private (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 0,FuncType (TVar 1) (TVar 1),TCons ("Prelude","[]") [TVar 2]])]) (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 0,FuncType (TVar 1) (TVar 1),TCons ("Prelude","[]") [TVar 2]]))))) (Rule [1,2,3,4] (Let [(5,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("LiftCases","fold") [Var 4],Var 3])] (Let [(6,Comb FuncCall ("LiftCases","liftCasesFunc.comb.18._#selFP10#args'") [Var 5])] (Let [(7,Comb FuncCall ("LiftCases","liftCasesFunc.comb.18._#selFP11#i'") [Var 5])] (Let [(8,Comb FuncCall ("LiftCases","liftCasesFunc.comb.18._#selFP12#ff") [Var 5])] (Let [(9,Comb FuncCall ("LiftCases","liftCasesFunc.comb.18._#selFP13#vs") [Var 5])] (Comb ConsCall ("Prelude","(,,,)") [Comb ConsCall ("FlatCurry","Comb") [Var 1,Var 2,Var 6],Var 7,Var 8,Var 9]))))))),Func ("LiftCases","liftCasesFunc.comb.18._#selFP10#args'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 149,FuncType (TVar 156) (TVar 156),TCons ("Prelude","[]") [TVar 157]]) (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","liftCasesFunc.comb.18._#selFP11#i'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 149,FuncType (TVar 156) (TVar 156),TCons ("Prelude","[]") [TVar 157]]) (TVar 149)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","liftCasesFunc.comb.18._#selFP12#ff") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 149,FuncType (TVar 156) (TVar 156),TCons ("Prelude","[]") [TVar 157]]) (FuncType (TVar 156) (TVar 156))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","liftCasesFunc.comb.18._#selFP13#vs") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 149,FuncType (TVar 156) (TVar 156),TCons ("Prelude","[]") [TVar 157]]) (TCons ("Prelude","[]") [TVar 157])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 5)])),Func ("LiftCases","liftCasesFunc.leT.18") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 0,FuncType (TVar 1) (TVar 1),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])]]) (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 2,FuncType (TVar 3) (TVar 1),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])) (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 2,FuncType (TVar 3) (TVar 1),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])))) (Rule [1,2,3] (Let [(4,Comb FuncCall ("Prelude","unzip") [Var 1])] (Let [(5,Comb FuncCall ("LiftCases","liftCasesFunc.leT.18._#selFP25#vs") [Var 4])] (Let [(6,Comb FuncCall ("LiftCases","liftCasesFunc.leT.18._#selFP26#es") [Var 4])] (Let [(7,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("LiftCases","fold") [Var 3],Var 6])] (Let [(8,Comb FuncCall ("LiftCases","liftCasesFunc.leT.18._#selFP21#es'") [Var 7])] (Let [(9,Comb FuncCall ("LiftCases","liftCasesFunc.leT.18._#selFP22#i'") [Var 7])] (Let [(10,Comb FuncCall ("LiftCases","liftCasesFunc.leT.18._#selFP23#ffes") [Var 7])] (Let [(11,Comb FuncCall ("LiftCases","liftCasesFunc.leT.18._#selFP24#ves") [Var 7])] (Let [(12,Comb FuncCall ("Prelude","apply") [Var 2,Var 9])] (Let [(13,Comb FuncCall ("LiftCases","liftCasesFunc.leT.18._#selFP17#e'") [Var 12])] (Let [(14,Comb FuncCall ("LiftCases","liftCasesFunc.leT.18._#selFP18#i''") [Var 12])] (Let [(15,Comb FuncCall ("LiftCases","liftCasesFunc.leT.18._#selFP19#ffe") [Var 12])] (Let [(16,Comb FuncCall ("LiftCases","liftCasesFunc.leT.18._#selFP20#ve") [Var 12])] (Comb ConsCall ("Prelude","(,,,)") [Comb ConsCall ("FlatCurry","Let") [Comb FuncCall ("Prelude","zip") [Var 5,Var 8],Var 13],Var 14,Comb FuncCall ("Prelude",".") [Var 10,Var 15],Comb FuncCall ("Prelude","filter") [Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","not") [],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("LiftCases","elemOf") [],Var 5]],Comb FuncCall ("Prelude","++") [Var 11,Var 16]]]))))))))))))))),Func ("LiftCases","liftCasesFunc.leT.18._#selFP25#vs") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Int") []],TCons ("Prelude","[]") [FuncType (TVar 161) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 161,FuncType (TVar 172) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])]]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("LiftCases","liftCasesFunc.leT.18._#selFP26#es") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Int") []],TCons ("Prelude","[]") [FuncType (TVar 161) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 161,FuncType (TVar 172) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])]]) (TCons ("Prelude","[]") [FuncType (TVar 161) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 161,FuncType (TVar 172) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("LiftCases","liftCasesFunc.leT.18._#selFP21#es'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 161,FuncType (TVar 172) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","liftCasesFunc.leT.18._#selFP22#i'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 161,FuncType (TVar 172) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TVar 161)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","liftCasesFunc.leT.18._#selFP23#ffes") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 161,FuncType (TVar 172) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (FuncType (TVar 172) (TVar 172))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","liftCasesFunc.leT.18._#selFP24#ves") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 161,FuncType (TVar 172) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 5)])),Func ("LiftCases","liftCasesFunc.leT.18._#selFP17#e'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 175,FuncType (TVar 184) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","liftCasesFunc.leT.18._#selFP18#i''") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 175,FuncType (TVar 184) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TVar 175)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","liftCasesFunc.leT.18._#selFP19#ffe") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 175,FuncType (TVar 184) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (FuncType (TVar 184) (TVar 172))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","liftCasesFunc.leT.18._#selFP20#ve") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 175,FuncType (TVar 184) (TVar 172),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 5)])),Func ("LiftCases","liftCasesFunc.freE.18") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 1,TVar 2,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])) (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 1,TVar 2,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])))) (Rule [1,2,3] (Let [(4,Comb FuncCall ("Prelude","apply") [Var 2,Var 3])] (Let [(5,Comb FuncCall ("LiftCases","liftCasesFunc.freE.18._#selFP28#e'") [Var 4])] (Let [(6,Comb FuncCall ("LiftCases","liftCasesFunc.freE.18._#selFP29#i'") [Var 4])] (Let [(7,Comb FuncCall ("LiftCases","liftCasesFunc.freE.18._#selFP30#ff") [Var 4])] (Let [(8,Comb FuncCall ("LiftCases","liftCasesFunc.freE.18._#selFP31#ve") [Var 4])] (Comb ConsCall ("Prelude","(,,,)") [Comb ConsCall ("FlatCurry","Free") [Var 1,Var 5],Var 6,Var 7,Comb FuncCall ("Prelude","filter") [Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","not") [],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("LiftCases","elemOf") [],Var 1]],Var 8]]))))))),Func ("LiftCases","liftCasesFunc.freE.18._#selFP28#e'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 196,TVar 197,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","liftCasesFunc.freE.18._#selFP29#i'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 196,TVar 197,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TVar 196)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","liftCasesFunc.freE.18._#selFP30#ff") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 196,TVar 197,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TVar 197)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","liftCasesFunc.freE.18._#selFP31#ve") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 196,TVar 197,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 5)])),Func ("LiftCases","liftCasesFunc.or.18") 3 Private (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 0,FuncType (TVar 1) (TVar 1),TCons ("Prelude","[]") [TVar 2]])) (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 0,FuncType (TVar 1) (TVar 1),TCons ("Prelude","[]") [TVar 2]])) (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 0,FuncType (TVar 1) (TVar 1),TCons ("Prelude","[]") [TVar 2]])))) (Rule [1,2,3] (Let [(4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("LiftCases","fold") [Var 3],Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]])] (Let [(5,Comb FuncCall ("LiftCases","liftCasesFunc.or.18._#selFP33#e1'") [Var 4])] (Let [(6,Comb FuncCall ("LiftCases","liftCasesFunc.or.18._#selFP34#e2'") [Var 4])] (Let [(7,Comb FuncCall ("LiftCases","liftCasesFunc.or.18._#selFP35#i'") [Var 4])] (Let [(8,Comb FuncCall ("LiftCases","liftCasesFunc.or.18._#selFP36#ff") [Var 4])] (Let [(9,Comb FuncCall ("LiftCases","liftCasesFunc.or.18._#selFP37#vs") [Var 4])] (Comb ConsCall ("Prelude","(,,,)") [Comb ConsCall ("FlatCurry","Or") [Var 5,Var 6],Var 7,Var 8,Var 9])))))))),Func ("LiftCases","liftCasesFunc.or.18._#selFP33#e1'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 209,FuncType (TVar 218) (TVar 218),TCons ("Prelude","[]") [TVar 219]]) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Case Flex (Var 2) [Branch (Pattern ("Prelude",":") [6,7]) (Case Flex (Var 7) [Branch (Pattern ("Prelude",":") [8,9]) (Case Flex (Var 9) [Branch (Pattern ("Prelude","[]") []) (Var 6)])])])])),Func ("LiftCases","liftCasesFunc.or.18._#selFP34#e2'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 209,FuncType (TVar 218) (TVar 218),TCons ("Prelude","[]") [TVar 219]]) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Case Flex (Var 2) [Branch (Pattern ("Prelude",":") [6,7]) (Case Flex (Var 7) [Branch (Pattern ("Prelude",":") [8,9]) (Case Flex (Var 9) [Branch (Pattern ("Prelude","[]") []) (Var 8)])])])])),Func ("LiftCases","liftCasesFunc.or.18._#selFP35#i'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 209,FuncType (TVar 218) (TVar 218),TCons ("Prelude","[]") [TVar 219]]) (TVar 209)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Case Flex (Var 2) [Branch (Pattern ("Prelude",":") [6,7]) (Case Flex (Var 7) [Branch (Pattern ("Prelude",":") [8,9]) (Case Flex (Var 9) [Branch (Pattern ("Prelude","[]") []) (Var 3)])])])])),Func ("LiftCases","liftCasesFunc.or.18._#selFP36#ff") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 209,FuncType (TVar 218) (TVar 218),TCons ("Prelude","[]") [TVar 219]]) (FuncType (TVar 218) (TVar 218))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Case Flex (Var 2) [Branch (Pattern ("Prelude",":") [6,7]) (Case Flex (Var 7) [Branch (Pattern ("Prelude",":") [8,9]) (Case Flex (Var 9) [Branch (Pattern ("Prelude","[]") []) (Var 4)])])])])),Func ("LiftCases","liftCasesFunc.or.18._#selFP37#vs") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TVar 209,FuncType (TVar 218) (TVar 218),TCons ("Prelude","[]") [TVar 219]]) (TCons ("Prelude","[]") [TVar 219])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Case Flex (Var 2) [Branch (Pattern ("Prelude",":") [6,7]) (Case Flex (Var 7) [Branch (Pattern ("Prelude",":") [8,9]) (Case Flex (Var 9) [Branch (Pattern ("Prelude","[]") []) (Var 5)])])])])),Func ("LiftCases","liftCasesFunc.casE.18") 6 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("FlatCurry","CaseType") []) (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TVar 1) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])) (FuncType (TCons ("Prelude","[]") [FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","BranchExpr") [],TCons ("Prelude","Int") [],FuncType (TVar 1) (TVar 1),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])]) (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TVar 1) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]))))))) (Rule [1,2,3,4,5,6] (Let [(7,Comb FuncCall ("Prelude","apply") [Var 4,Var 6])] (Let [(8,Comb FuncCall ("LiftCases","liftCasesFunc.casE.18._#selFP44#e'") [Var 7])] (Let [(9,Comb FuncCall ("LiftCases","liftCasesFunc.casE.18._#selFP45#i'") [Var 7])] (Let [(10,Comb FuncCall ("LiftCases","liftCasesFunc.casE.18._#selFP46#ffe") [Var 7])] (Let [(11,Comb FuncCall ("LiftCases","liftCasesFunc.casE.18._#selFP47#ve") [Var 7])] (Let [(12,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("LiftCases","fold") [Var 9],Var 5])] (Let [(13,Comb FuncCall ("LiftCases","liftCasesFunc.casE.18._#selFP40#bs'") [Var 12])] (Let [(14,Comb FuncCall ("LiftCases","liftCasesFunc.casE.18._#selFP41#i''") [Var 12])] (Let [(15,Comb FuncCall ("LiftCases","liftCasesFunc.casE.18._#selFP42#ffbs") [Var 12])] (Let [(16,Comb FuncCall ("LiftCases","liftCasesFunc.casE.18._#selFP43#vbs") [Var 12])] (Let [(17,Comb FuncCall ("LiftCases","nub") [Comb FuncCall ("Prelude","++") [Var 11,Var 16]])] (Let [(18,Case Rigid (Var 8) [Branch (Pattern ("FlatCurry","Var") [19]) (Comb FuncCall ("List","delete") [Var 19,Var 17]),Branch (Pattern ("FlatCurry","Lit") [20]) (Var 17),Branch (Pattern ("FlatCurry","Comb") [21,22,23]) (Var 17),Branch (Pattern ("FlatCurry","Let") [24,25]) (Var 17),Branch (Pattern ("FlatCurry","Free") [26,27]) (Var 17),Branch (Pattern ("FlatCurry","Or") [28,29]) (Var 17),Branch (Pattern ("FlatCurry","Case") [30,31,32]) (Var 17)])] (Comb ConsCall ("Prelude","(,,,)") [Comb FuncCall ("LiftCases","genFuncCall") [Var 2,Var 1,Var 14,Var 18,Var 8],Comb FuncCall ("Prelude","+") [Var 14,Lit (Intc 1)],Comb FuncCall ("Prelude",".") [Comb (ConsPartCall 1) ("Prelude",":") [Comb FuncCall ("LiftCases","genFunc") [Var 2,Var 1,Var 14,Var 18,Var 8,Var 3,Var 13]],Comb FuncCall ("Prelude",".") [Var 10,Var 15]],Var 17])))))))))))))),Func ("LiftCases","liftCasesFunc.casE.18._#selFP44#e'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TVar 238) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","liftCasesFunc.casE.18._#selFP45#i'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TVar 238) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","liftCasesFunc.casE.18._#selFP46#ffe") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TVar 238) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (FuncType (TVar 238) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","liftCasesFunc.casE.18._#selFP47#ve") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TVar 238) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 5)])),Func ("LiftCases","liftCasesFunc.casE.18._#selFP40#bs'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []],TCons ("Prelude","Int") [],FuncType (TVar 238) (TVar 238),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","liftCasesFunc.casE.18._#selFP41#i''") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []],TCons ("Prelude","Int") [],FuncType (TVar 238) (TVar 238),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","liftCasesFunc.casE.18._#selFP42#ffbs") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []],TCons ("Prelude","Int") [],FuncType (TVar 238) (TVar 238),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (FuncType (TVar 238) (TVar 238))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","liftCasesFunc.casE.18._#selFP43#vbs") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []],TCons ("Prelude","Int") [],FuncType (TVar 238) (TVar 238),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 5)])),Func ("LiftCases","liftCasesFunc.branch.18") 3 Private (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 1,TVar 2,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])) (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","BranchExpr") [],TVar 1,TVar 2,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])))) (Rule [1,2,3] (Let [(4,Comb FuncCall ("Prelude","apply") [Var 2,Var 3])] (Let [(5,Comb FuncCall ("LiftCases","liftCasesFunc.branch.18._#selFP49#e'") [Var 4])] (Let [(6,Comb FuncCall ("LiftCases","liftCasesFunc.branch.18._#selFP50#i'") [Var 4])] (Let [(7,Comb FuncCall ("LiftCases","liftCasesFunc.branch.18._#selFP51#ff") [Var 4])] (Let [(8,Comb FuncCall ("LiftCases","liftCasesFunc.branch.18._#selFP52#ve") [Var 4])] (Comb ConsCall ("Prelude","(,,,)") [Comb ConsCall ("FlatCurry","Branch") [Var 1,Var 5],Var 6,Var 7,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("LiftCases","removePVars") [Var 8],Var 1]]))))))),Func ("LiftCases","liftCasesFunc.branch.18._#selFP49#e'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 260,TVar 261,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","liftCasesFunc.branch.18._#selFP50#i'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 260,TVar 261,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TVar 260)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","liftCasesFunc.branch.18._#selFP51#ff") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 260,TVar 261,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TVar 261)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","liftCasesFunc.branch.18._#selFP52#ve") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TVar 260,TVar 261,TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 5)])),Func ("LiftCases","liftCasesFunc._#selFP58#e'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","liftCasesFunc._#selFP59#i'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","liftCasesFunc._#selFP60#ffe") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","liftCasesFunc._#lambda3") 2 Private (FuncType (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]))) (FuncType (TCons ("FlatCurry","BranchExpr") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","BranchExpr") [],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]])))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("FlatCurry","Branch") [3,4]) (Comb (FuncPartCall 1) ("LiftCases","liftCasesFunc.branch.18") [Var 3,Comb FuncCall ("Prelude","apply") [Var 1,Var 4]])])),Func ("LiftCases","liftCasesFunc._#selFP55#bs'") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","liftCasesFunc._#selFP56#i''") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","liftCasesFunc._#selFP57#ffbs") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","liftCasesFunc._#selFP61#exp") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","liftCasesFunc._#selFP62#iMain") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","liftCasesFunc._#selFP63#ffeMain") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TCons ("FlatCurry","Expr") [],TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","fold") 1 Private (FuncType (TVar 0) (FuncType (TCons ("Prelude","[]") [FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TVar 1,TVar 0,FuncType (TVar 2) (TVar 2),TCons ("Prelude","[]") [TVar 3]])]) (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TVar 1],TVar 0,FuncType (TVar 2) (TVar 2),TCons ("Prelude","[]") [TVar 3]]))) (Rule [1] (Comb (FuncPartCall 1) ("Prelude","foldr") [Comb (FuncPartCall 2) ("LiftCases","fold.once.74") [],Comb ConsCall ("Prelude","(,,,)") [Comb ConsCall ("Prelude","[]") [],Var 1,Comb (FuncPartCall 1) ("Prelude","id") [],Comb ConsCall ("Prelude","[]") []]])),Func ("LiftCases","fold.once.74") 2 Private (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,,,)") [TVar 1,TVar 2,FuncType (TVar 3) (TVar 4),TCons ("Prelude","[]") [TVar 5]])) (FuncType (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TVar 1],TVar 0,FuncType (TVar 4) (TVar 6),TCons ("Prelude","[]") [TVar 5]]) (TCons ("Prelude","(,,,)") [TCons ("Prelude","[]") [TVar 1],TVar 2,FuncType (TVar 3) (TVar 6),TCons ("Prelude","[]") [TVar 5]]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","(,,,)") [3,4,5,6]) (Let [(7,Comb FuncCall ("Prelude","apply") [Var 1,Var 4])] (Let [(8,Comb FuncCall ("LiftCases","fold.once.74._#selFP65#e") [Var 7])] (Let [(9,Comb FuncCall ("LiftCases","fold.once.74._#selFP66#k") [Var 7])] (Let [(10,Comb FuncCall ("LiftCases","fold.once.74._#selFP67#ff2") [Var 7])] (Let [(11,Comb FuncCall ("LiftCases","fold.once.74._#selFP68#vs2") [Var 7])] (Comb ConsCall ("Prelude","(,,,)") [Comb ConsCall ("Prelude",":") [Var 8,Var 3],Var 9,Comb FuncCall ("Prelude",".") [Var 5,Var 10],Comb FuncCall ("Prelude","++") [Var 6,Var 11]]))))))])),Func ("LiftCases","fold.once.74._#selFP65#e") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TVar 21,TVar 22,FuncType (TVar 30) (TVar 28),TCons ("Prelude","[]") [TVar 31]]) (TVar 21)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 2)])),Func ("LiftCases","fold.once.74._#selFP66#k") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TVar 21,TVar 22,FuncType (TVar 30) (TVar 28),TCons ("Prelude","[]") [TVar 31]]) (TVar 22)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 3)])),Func ("LiftCases","fold.once.74._#selFP67#ff2") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TVar 21,TVar 22,FuncType (TVar 30) (TVar 28),TCons ("Prelude","[]") [TVar 31]]) (FuncType (TVar 30) (TVar 28))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 4)])),Func ("LiftCases","fold.once.74._#selFP68#vs2") 1 Private (FuncType (TCons ("Prelude","(,,,)") [TVar 21,TVar 22,FuncType (TVar 30) (TVar 28),TCons ("Prelude","[]") [TVar 31]]) (TCons ("Prelude","[]") [TVar 31])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,,)") [2,3,4,5]) (Var 5)])),Func ("LiftCases","genFuncCall") 5 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])))))) (Rule [1,2,3,4,5] (Comb ConsCall ("FlatCurry","Comb") [Comb ConsCall ("FlatCurry","FuncCall") [],Comb ConsCall ("Prelude","(,)") [Var 1,Comb FuncCall ("Prelude","++") [Var 2,Comb FuncCall ("Prelude","show") [Var 3]]],Comb FuncCall ("Prelude","++") [Comb FuncCall ("Prelude","map") [Comb (ConsPartCall 1) ("FlatCurry","Var") [],Var 4],Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []]]])),Func ("LiftCases","genFunc") 7 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("FlatCurry","CaseType") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []]) (TCons ("FlatCurry","FuncDecl") [])))))))) (Rule [1,2,3,4,5,6,7] (Let [(8,Case Rigid (Var 5) [Branch (Pattern ("FlatCurry","Var") [9]) (Var 9),Branch (Pattern ("FlatCurry","Lit") [10]) (Comb FuncCall ("Prelude","+") [Comb FuncCall ("Prelude","foldr") [Comb (FuncPartCall 2) ("Prelude","max") [],Lit (Intc 0),Comb FuncCall ("Prelude","++") [Var 4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","concatMap") [Comb (FuncPartCall 1) ("LiftCases","genFunc.allVarsBranch.82") []],Var 7]]],Lit (Intc 1)]),Branch (Pattern ("FlatCurry","Comb") [11,12,13]) (Comb FuncCall ("Prelude","+") [Comb FuncCall ("Prelude","foldr") [Comb (FuncPartCall 2) ("Prelude","max") [],Lit (Intc 0),Comb FuncCall ("Prelude","++") [Var 4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","concatMap") [Comb (FuncPartCall 1) ("LiftCases","genFunc.allVarsBranch.82") []],Var 7]]],Lit (Intc 1)]),Branch (Pattern ("FlatCurry","Let") [14,15]) (Comb FuncCall ("Prelude","+") [Comb FuncCall ("Prelude","foldr") [Comb (FuncPartCall 2) ("Prelude","max") [],Lit (Intc 0),Comb FuncCall ("Prelude","++") [Var 4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","concatMap") [Comb (FuncPartCall 1) ("LiftCases","genFunc.allVarsBranch.82") []],Var 7]]],Lit (Intc 1)]),Branch (Pattern ("FlatCurry","Free") [16,17]) (Comb FuncCall ("Prelude","+") [Comb FuncCall ("Prelude","foldr") [Comb (FuncPartCall 2) ("Prelude","max") [],Lit (Intc 0),Comb FuncCall ("Prelude","++") [Var 4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","concatMap") [Comb (FuncPartCall 1) ("LiftCases","genFunc.allVarsBranch.82") []],Var 7]]],Lit (Intc 1)]),Branch (Pattern ("FlatCurry","Or") [18,19]) (Comb FuncCall ("Prelude","+") [Comb FuncCall ("Prelude","foldr") [Comb (FuncPartCall 2) ("Prelude","max") [],Lit (Intc 0),Comb FuncCall ("Prelude","++") [Var 4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","concatMap") [Comb (FuncPartCall 1) ("LiftCases","genFunc.allVarsBranch.82") []],Var 7]]],Lit (Intc 1)]),Branch (Pattern ("FlatCurry","Case") [20,21,22]) (Comb FuncCall ("Prelude","+") [Comb FuncCall ("Prelude","foldr") [Comb (FuncPartCall 2) ("Prelude","max") [],Lit (Intc 0),Comb FuncCall ("Prelude","++") [Var 4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","concatMap") [Comb (FuncPartCall 1) ("LiftCases","genFunc.allVarsBranch.82") []],Var 7]]],Lit (Intc 1)])])] (Comb FuncCall ("Prelude","$") [Comb (ConsPartCall 1) ("FlatCurry","Func") [Comb ConsCall ("Prelude","(,)") [Var 1,Comb FuncCall ("Prelude","++") [Var 2,Comb FuncCall ("Prelude","show") [Var 3]]],Comb FuncCall ("Prelude","+") [Comb FuncCall ("Prelude","length") [Var 4],Lit (Intc 1)],Comb ConsCall ("FlatCurry","Private") [],Comb ConsCall ("FlatCurry","TVar") [Comb FuncCall ("Prelude","negate") [Lit (Intc 42)]]],Comb ConsCall ("FlatCurry","Rule") [Comb FuncCall ("Prelude","++") [Var 4,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude","[]") []]],Comb ConsCall ("FlatCurry","Case") [Var 6,Comb ConsCall ("FlatCurry","Var") [Var 8],Var 7]]]))),Func ("LiftCases","genFunc.allVarsBranch.82") 1 Private (FuncType (TCons ("FlatCurry","BranchExpr") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","Branch") [2,3]) (Comb FuncCall ("Prelude","++") [Comb FuncCall ("FlatCurryGoodies","trPattern") [Comb (FuncPartCall 2) ("LiftCases","genFunc.allVarsBranch.82._#lambda6") [],Comb (FuncPartCall 1) ("LiftCases","genFunc.allVarsBranch.82._#lambda7") [],Var 2],Comb FuncCall ("FlatCurryGoodies","allVars") [Var 3]])])),Func ("LiftCases","genFunc.allVarsBranch.82._#lambda6") 2 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (Rule [1,2] (Var 2)),Func ("LiftCases","genFunc.allVarsBranch.82._#lambda7") 1 Private (FuncType (TCons ("FlatCurry","Literal") []) (TCons ("Prelude","[]") [TVar 262])) (Rule [1] (Comb ConsCall ("Prelude","[]") [])),Func ("LiftCases","removePVars") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (Rule [1] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trPattern") [Comb (FuncPartCall 2) ("LiftCases","removePVars._#lambda8") [Var 1],Comb (FuncPartCall 1) ("Prelude","const") [Var 1]])),Func ("LiftCases","removePVars._#lambda8") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))) (Rule [1,2,3] (Comb FuncCall ("Prelude","filter") [Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","not") [],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("LiftCases","elemOf") [],Var 3]],Var 1])),Func ("LiftCases","genAuxName") 0 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [] (Comb (FuncPartCall 1) ("Prelude","foldl") [Comb (FuncPartCall 2) ("LiftCases","addUnderscores") [],Comb ConsCall ("Prelude",":") [Lit (Charc '_'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc '_'),Comb ConsCall ("Prelude","[]") []]]]]]]])),Func ("LiftCases","addUnderscores") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]))) (Rule [1,2] (Case Rigid (Comb FuncCall ("List","isPrefixOf") [Var 1,Var 2]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("LiftCases","addUnderscores") [Comb FuncCall ("Prelude","++") [Var 1,Comb ConsCall ("Prelude",":") [Lit (Charc '_'),Comb ConsCall ("Prelude","[]") []]],Var 2]),Branch (Pattern ("Prelude","False") []) (Var 1)])),Func ("LiftCases","elemOf") 0 Private (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (Rule [] (Comb (FuncPartCall 2) ("Prelude","flip") [Comb (FuncPartCall 1) ("Prelude","elem") []])),Func ("LiftCases","nub") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Prelude","map") [Comb (FuncPartCall 1) ("Prelude","fst") []],Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("FiniteMap","fmToList") [],Comb FuncCall ("Prelude","$") [Comb FuncCall ("FiniteMap","listToFM") [Comb (FuncPartCall 2) ("Prelude","<") []],Comb FuncCall ("Prelude","zip") [Var 1,Comb FuncCall ("Prelude","repeat") [Comb ConsCall ("Prelude","()") []]]]]]))] []
+ Curry/Module/LiftCases.fint view
@@ -0,0 +1,1 @@+Prog "LiftCases" ["FiniteMap","FlatCurry","FlatCurryGoodies","List","Prelude"] [TypeSyn ("LiftCases","FuncList") Private [] (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])),TypeSyn ("LiftCases","Result") Private [] (TCons ("Prelude","(,,)") [FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]),TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])])] [Func ("LiftCases","isCaseAuxFuncName") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","Bool") [])) (Rule [] (Var 0)),Func ("LiftCases","isCaseAuxFuncType") 1 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") [])) (Rule [] (Var 0)),Func ("LiftCases","liftCases") 2 Public (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") []))) (Rule [] (Var 0))] []
+ Curry/Module/Make.curry view
@@ -0,0 +1,179 @@+-------------------------------------------------------+-- This module provides basic make functionality for +-- curry programs. The provided actions traverse the+-- import tree and execute a given action only if +-- necessary.+-------------------------------------------------------++module Make (+ ModuleName,+ Path,+ FileName,+ make, makeWithFrontendParams, obsolete, unless,++ parseArgs,Parameter,+ quiet,force,modulename,output) where++import FlatCurry+import FlatCurryGoodies (progImports)+import Distribution as D+import FiniteMap+import IOExts+import Sort (leqString)+import FileGoodies +import Time+import Directory+import System (getArgs)++type ModuleName = String+type Path = String+type FileName = String++type TestAct a = Path -> ModuleName -> IO (Maybe a)+type ProgAct a = Path -> [a] -> Prog -> IO a++type Done a = IORef (FM String a)++data Parameter = Parameter Bool Bool (Maybe String) (Maybe String) String++defaults :: Parameter+defaults = Parameter False False Nothing Nothing ""++type Getter a = Parameter -> a+type Setter a = a -> Parameter -> Parameter++quiet :: Getter Bool+quiet (Parameter x _ _ _ _) = x++setQuiet :: Setter Bool+setQuiet x (Parameter _ y z e m) = Parameter x y z e m++force :: Getter Bool+force (Parameter _ x _ _ _) = x++setForce :: Setter Bool+setForce x (Parameter y _ z e m) = Parameter y x z e m++output :: Getter (Maybe String)+output (Parameter _ _ x _ _) = x++setOutput :: Setter (Maybe String)+setOutput x (Parameter y z _ e m) = Parameter y z x e m++main :: Getter (Maybe String)+main (Parameter _ _ _ x _) = x++setMain :: Setter (Maybe String)+setMain x (Parameter y z m _ e) = Parameter y z m x e++modulename :: Getter String+modulename (Parameter _ _ _ _ x) = x++setModulename :: Setter String+setModulename x (Parameter y z m e _) = Parameter y z m e x++parseArgs :: IO Parameter+parseArgs = getArgs >>= return . parse defaults+ where+ parse _ [] = usage+ parse p (x:xs) + | x=="-q" = parse (setQuiet True p) xs+ | x=="--quiet" = parse (setQuiet True p) xs+ | x=="-f" = parse (setForce True p) xs+ | x=="--force" = parse (setForce True p) xs+ | x=="-o" = case xs of+ o:xs' -> parse (setOutput (Just o) p) xs'+ | x=="-m" = case xs of+ o:xs' -> parse (setMain (Just o) p) xs'+ | null xs = setModulename x p+ + usage = error "usage: <-f/--force> <-q/--quiet> <-o outputdir> modulename"++--- calls act on each imported module transitively+--- if test returns Nothing.+make :: Bool -> ModuleName -> TestAct a -> ProgAct a -> IO ()+make = makeWithFrontendParams defaultParams++makeWithFrontendParams :: FrontendParams -> Bool -> ModuleName -> TestAct a -> ProgAct a -> IO ()+makeWithFrontendParams givenParams qu file test act = do+ let (dir,modu) = splitDirectoryBaseName file+ path <- maybe getLoadPath return (fullPath givenParams)+ let loadPath = if dir=="." then path else dir:path+ params = setFullPath loadPath givenParams+ mCurryFile <- lookupFileInPath modu [".curry",".lcurry"] loadPath+ unless (mCurryFile==Nothing)+ (do+ unless qu $ putStrLn "ensuring existence of fcy/fint files..."+ callFrontendWithParams FCY (D.setQuiet True params) modu+ unless qu $ putStrLn "...ensured")+ done <- newIORef (emptyFM (\ x y -> not (leqString x y)))+ workUpDependence loadPath done test act modu+ return ()++workUpDependence :: [String] -> Done a -> TestAct a -> ProgAct a -> ModuleName -> IO a+workUpDependence path done test act modu = do+ fm <- readIORef done+ maybe (process path done test act modu) return (lookupFM fm modu)++process :: [String] -> Done a -> TestAct a -> ProgAct a -> ModuleName -> IO a+process path done test act modu = do+ fn <- getFileInPath (modu++".fcy") [""] path+ imps <- fastReadImports fn >>= mapIO (workUpDependence path done test act)+ let dir = dirName fn++"/"+ result <- test dir modu >>= + maybe (readFlatCurryFile fn >>= act dir imps) return + updateIORef done (\fm -> addToFM fm modu result)+ return result++--- a standard test if a given file is newer than a list of other files+--- if other files do not exist, the given file is assumed to be up-to-date+--- on up-to-date files a given action is performed+obsolete :: Bool -> (String -> String -> String) -> [String -> String] + -> ([String] -> IO a) -> TestAct a+obsolete qu f fs action dir modu = do+ let fn = f dir modu+ fns = map ((dir++).($modu)) fs+ ex <- doesFileExist fn+ if ex then do+ t <- getModificationTime fn+ ns <- mapIO (isNewerThan t) fns+ if or ns+ then do+ unless qu $ putStrLn $ "obsolete : " ++ fn+ return Nothing+ else do+ unless qu $ putStrLn $ "up-to-date: " ++ fn+ action fns >>= return . Just+ else do unless qu $ putStrLn ("missing : "++ fn) + return Nothing+ where+ isNewerThan t file = do + ex <- doesFileExist file+ if not ex then return False else do+ t' <- getModificationTime file+ return (compareClockTime t t'/=GT)++fastReadImports :: FileName -> IO [String]+fastReadImports fn = do + cont <- readFile fn+ return (strings (takeWhile (/=']') (dropWhile (/='[') cont)))++strings :: String -> [String]+strings [] = []+strings (c:cs) | c=='"' = case break (=='"') cs of+ (s,_:rest) -> s : strings rest+ | otherwise = strings cs++updateIORef :: IORef a -> (a -> a) -> IO ()+updateIORef ref f = do+ x <- readIORef ref+ writeIORef ref (f x)++unless :: Bool -> IO () -> IO ()+unless True _ = return ()+unless False act = act++ ++ +
+ Curry/Module/Make.fcy view
@@ -0,0 +1,1 @@+Prog "Make" ["Directory","Distribution","FileGoodies","FiniteMap","FlatCurry","IOExts","Prelude","Sort","System","Time","FlatCurryGoodies"] [TypeSyn ("Make","ModuleName") Public [] (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]),TypeSyn ("Make","Path") Public [] (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]),TypeSyn ("Make","FileName") Public [] (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]),TypeSyn ("Make","TestAct") Private [0] (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 0]]))),TypeSyn ("Make","ProgAct") Private [0] (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","IO") [TVar 0])))),TypeSyn ("Make","Done") Private [0] (TCons ("IOExts","IORef") [TCons ("FiniteMap","FM") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TVar 0]]),TypeSyn ("Make","Getter") Private [0] (FuncType (TCons ("Make","Parameter") []) (TVar 0)),TypeSyn ("Make","Setter") Private [0] (FuncType (TVar 0) (FuncType (TCons ("Make","Parameter") []) (TCons ("Make","Parameter") []))),Type ("Make","Parameter") Public [] [Cons ("Make","Parameter") 5 Private [TCons ("Prelude","Bool") [],TCons ("Prelude","Bool") [],TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]],TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]]] [Func ("Make","defaults") 0 Private (TCons ("Make","Parameter") []) (Rule [] (Comb ConsCall ("Make","Parameter") [Comb ConsCall ("Prelude","False") [],Comb ConsCall ("Prelude","False") [],Comb ConsCall ("Prelude","Nothing") [],Comb ConsCall ("Prelude","Nothing") [],Comb ConsCall ("Prelude","[]") []])),Func ("Make","quiet") 1 Public (FuncType (TCons ("Make","Parameter") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Make","Parameter") [2,3,4,5,6]) (Var 2)])),Func ("Make","setQuiet") 2 Private (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Make","Parameter") []) (TCons ("Make","Parameter") []))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Make","Parameter") [3,4,5,6,7]) (Comb ConsCall ("Make","Parameter") [Var 1,Var 4,Var 5,Var 6,Var 7])])),Func ("Make","force") 1 Public (FuncType (TCons ("Make","Parameter") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Make","Parameter") [2,3,4,5,6]) (Var 3)])),Func ("Make","setForce") 2 Private (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Make","Parameter") []) (TCons ("Make","Parameter") []))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Make","Parameter") [3,4,5,6,7]) (Comb ConsCall ("Make","Parameter") [Var 3,Var 1,Var 5,Var 6,Var 7])])),Func ("Make","output") 1 Public (FuncType (TCons ("Make","Parameter") []) (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Make","Parameter") [2,3,4,5,6]) (Var 4)])),Func ("Make","setOutput") 2 Private (FuncType (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Make","Parameter") []) (TCons ("Make","Parameter") []))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Make","Parameter") [3,4,5,6,7]) (Comb ConsCall ("Make","Parameter") [Var 3,Var 4,Var 1,Var 6,Var 7])])),Func ("Make","main") 1 Private (FuncType (TCons ("Make","Parameter") []) (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Make","Parameter") [2,3,4,5,6]) (Var 5)])),Func ("Make","setMain") 2 Private (FuncType (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Make","Parameter") []) (TCons ("Make","Parameter") []))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Make","Parameter") [3,4,5,6,7]) (Comb ConsCall ("Make","Parameter") [Var 3,Var 4,Var 5,Var 1,Var 7])])),Func ("Make","modulename") 1 Public (FuncType (TCons ("Make","Parameter") []) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Make","Parameter") [2,3,4,5,6]) (Var 6)])),Func ("Make","setModulename") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Make","Parameter") []) (TCons ("Make","Parameter") []))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Make","Parameter") [3,4,5,6,7]) (Comb ConsCall ("Make","Parameter") [Var 3,Var 4,Var 5,Var 6,Var 1])])),Func ("Make","parseArgs") 0 Public (TCons ("Prelude","IO") [TCons ("Make","Parameter") []]) (Rule [] (Let [(1,Comb FuncCall ("Prelude","error") [Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc ':'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc '<'),Comb ConsCall ("Prelude",":") [Lit (Charc '-'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc '/'),Comb ConsCall ("Prelude",":") [Lit (Charc '-'),Comb ConsCall ("Prelude",":") [Lit (Charc '-'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc '>'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc '<'),Comb ConsCall ("Prelude",":") [Lit (Charc '-'),Comb ConsCall ("Prelude",":") [Lit (Charc 'q'),Comb ConsCall ("Prelude",":") [Lit (Charc '/'),Comb ConsCall ("Prelude",":") [Lit (Charc '-'),Comb ConsCall ("Prelude",":") [Lit (Charc '-'),Comb ConsCall ("Prelude",":") [Lit (Charc 'q'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc '>'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc '<'),Comb ConsCall ("Prelude",":") [Lit (Charc '-'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc '>'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'm'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'm'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]])] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("System","getArgs") [],Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","return") [],Comb (FuncPartCall 1) ("Make","parseArgs.parse.50") [Var 1,Comb FuncCall ("Make","defaults") []]]]))),Func ("Make","parseArgs.parse.50") 3 Private (FuncType (TCons ("Make","Parameter") []) (FuncType (TCons ("Make","Parameter") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Make","Parameter") [])))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("Prelude","[]") []) (Var 1),Branch (Pattern ("Prelude",":") [4,5]) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 4,Comb ConsCall ("Prelude",":") [Lit (Charc '-'),Comb ConsCall ("Prelude",":") [Lit (Charc 'q'),Comb ConsCall ("Prelude","[]") []]]]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Make","parseArgs.parse.50") [Var 1,Comb FuncCall ("Make","setQuiet") [Comb ConsCall ("Prelude","True") [],Var 2],Var 5]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 4,Comb ConsCall ("Prelude",":") [Lit (Charc '-'),Comb ConsCall ("Prelude",":") [Lit (Charc '-'),Comb ConsCall ("Prelude",":") [Lit (Charc 'q'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude","[]") []]]]]]]]]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Make","parseArgs.parse.50") [Var 1,Comb FuncCall ("Make","setQuiet") [Comb ConsCall ("Prelude","True") [],Var 2],Var 5]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 4,Comb ConsCall ("Prelude",":") [Lit (Charc '-'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude","[]") []]]]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Make","parseArgs.parse.50") [Var 1,Comb FuncCall ("Make","setForce") [Comb ConsCall ("Prelude","True") [],Var 2],Var 5]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 4,Comb ConsCall ("Prelude",":") [Lit (Charc '-'),Comb ConsCall ("Prelude",":") [Lit (Charc '-'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude","[]") []]]]]]]]]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Make","parseArgs.parse.50") [Var 1,Comb FuncCall ("Make","setForce") [Comb ConsCall ("Prelude","True") [],Var 2],Var 5]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 4,Comb ConsCall ("Prelude",":") [Lit (Charc '-'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude","[]") []]]]) [Branch (Pattern ("Prelude","True") []) (Case Rigid (Var 5) [Branch (Pattern ("Prelude",":") [6,7]) (Comb FuncCall ("Make","parseArgs.parse.50") [Var 1,Comb FuncCall ("Make","setOutput") [Comb ConsCall ("Prelude","Just") [Var 6],Var 2],Var 7]),Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("Prelude","failed") [])]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 4,Comb ConsCall ("Prelude",":") [Lit (Charc '-'),Comb ConsCall ("Prelude",":") [Lit (Charc 'm'),Comb ConsCall ("Prelude","[]") []]]]) [Branch (Pattern ("Prelude","True") []) (Case Rigid (Var 5) [Branch (Pattern ("Prelude",":") [8,9]) (Comb FuncCall ("Make","parseArgs.parse.50") [Var 1,Comb FuncCall ("Make","setMain") [Comb ConsCall ("Prelude","Just") [Var 8],Var 2],Var 9]),Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("Prelude","failed") [])]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","null") [Var 5]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Make","setModulename") [Var 4,Var 2]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])])])])])])),Func ("Make","make") 0 Public (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 0]]))) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","IO") [TVar 0])))) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))))) (Rule [] (Comb (FuncPartCall 4) ("Make","makeWithFrontendParams") [Comb FuncCall ("Distribution","defaultParams") []])),Func ("Make","makeWithFrontendParams") 5 Public (FuncType (TCons ("Distribution","FrontendParams") []) (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 0]]))) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","IO") [TVar 0])))) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))) (Rule [1,2,3,4,5] (Let [(6,Comb FuncCall ("FileGoodies","splitDirectoryBaseName") [Var 3])] (Let [(7,Comb FuncCall ("Make","makeWithFrontendParams._#selFP3#dir") [Var 6])] (Let [(8,Comb FuncCall ("Make","makeWithFrontendParams._#selFP4#modu") [Var 6])] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude","maybe") [Comb FuncCall ("Distribution","getLoadPath") [],Comb (FuncPartCall 1) ("Prelude","return") [],Comb FuncCall ("Distribution","fullPath") [Var 1]],Comb (FuncPartCall 1) ("Make","makeWithFrontendParams._#lambda4") [Var 5,Var 7,Var 1,Var 8,Var 2,Var 4]]))))),Func ("Make","makeWithFrontendParams._#selFP3#dir") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Make","makeWithFrontendParams._#selFP4#modu") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Make","makeWithFrontendParams._#lambda4") 7 Private (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TVar 209]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","IO") [TVar 209])))) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Distribution","FrontendParams") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","Bool") []) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 209]]))) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))))) (Rule [1,2,3,4,5,6,7] (Let [(8,Case Rigid (Comb FuncCall ("Prelude","==") [Var 2,Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude","[]") []]]) [Branch (Pattern ("Prelude","True") []) (Var 7),Branch (Pattern ("Prelude","False") []) (Comb ConsCall ("Prelude",":") [Var 2,Var 7])])] (Let [(9,Comb FuncCall ("Distribution","setFullPath") [Var 8,Var 3])] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("FileGoodies","lookupFileInPath") [Var 4,Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude","[]") []]]]]]],Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude","[]") []]]]]]]],Comb ConsCall ("Prelude","[]") []]],Var 8],Comb (FuncPartCall 1) ("Make","makeWithFrontendParams._#lambda4._#lambda5") [Var 1,Var 8,Var 4,Var 9,Var 5,Var 6]])))),Func ("Make","makeWithFrontendParams._#lambda4._#lambda5") 7 Private (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TVar 209]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","IO") [TVar 209])))) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Distribution","FrontendParams") []) (FuncType (TCons ("Prelude","Bool") []) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 209]]))) (FuncType (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))))) (Rule [1,2,3,4,5,6,7] (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Make","unless") [Comb FuncCall ("Prelude","==") [Var 7,Comb ConsCall ("Prelude","Nothing") []],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Make","unless") [Var 5],Comb FuncCall ("Prelude","putStrLn") [Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'x'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude",":") [Lit (Charc '/'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Distribution","callFrontendWithParams") [Comb ConsCall ("Distribution","FCY") [],Comb FuncCall ("Distribution","setQuiet") [Comb ConsCall ("Prelude","True") [],Var 4],Var 3],Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Make","unless") [Var 5],Comb FuncCall ("Prelude","putStrLn") [Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]],Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","newIORef") [Comb FuncCall ("FiniteMap","emptyFM") [Comb (FuncPartCall 2) ("Make","makeWithFrontendParams._#lambda4._#lambda5._#lambda6") []]],Comb (FuncPartCall 1) ("Make","makeWithFrontendParams._#lambda4._#lambda5._#lambda7") [Var 1,Var 2,Var 3,Var 6]]])),Func ("Make","makeWithFrontendParams._#lambda4._#lambda5._#lambda6") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","not") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Sort","leqString") [],Var 1],Var 2]])),Func ("Make","makeWithFrontendParams._#lambda4._#lambda5._#lambda7") 5 Private (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TVar 209]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","IO") [TVar 209])))) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 209]]))) (FuncType (TCons ("IOExts","IORef") [TCons ("FiniteMap","FM") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TVar 209]]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))) (Rule [1,2,3,4,5] (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Make","workUpDependence") [Var 2,Var 5,Var 4,Var 1,Var 3],Comb FuncCall ("Prelude","return") [Comb ConsCall ("Prelude","()") []]])),Func ("Make","workUpDependence") 5 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("IOExts","IORef") [TCons ("FiniteMap","FM") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TVar 0]]) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 0]]))) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","IO") [TVar 0])))) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TVar 0])))))) (Rule [1,2,3,4,5] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 2],Comb (FuncPartCall 1) ("Make","workUpDependence._#lambda8") [Var 4,Var 2,Var 5,Var 1,Var 3]])),Func ("Make","workUpDependence._#lambda8") 6 Private (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TVar 141]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","IO") [TVar 141])))) (FuncType (TCons ("IOExts","IORef") [TCons ("FiniteMap","FM") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TVar 141]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 141]]))) (FuncType (TCons ("FiniteMap","FM") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TVar 141]) (TCons ("Prelude","IO") [TVar 141]))))))) (Rule [1,2,3,4,5,6] (Comb FuncCall ("Prelude","maybe") [Comb FuncCall ("Make","process") [Var 4,Var 2,Var 5,Var 1,Var 3],Comb (FuncPartCall 1) ("Prelude","return") [],Comb FuncCall ("FiniteMap","lookupFM") [Var 6,Var 3]])),Func ("Make","process") 5 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("IOExts","IORef") [TCons ("FiniteMap","FM") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TVar 0]]) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 0]]))) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","IO") [TVar 0])))) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TVar 0])))))) (Rule [1,2,3,4,5] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("FileGoodies","getFileInPath") [Comb FuncCall ("Prelude","++") [Var 5,Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude","[]") []]]]]],Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude","[]") [],Comb ConsCall ("Prelude","[]") []],Var 1],Comb (FuncPartCall 1) ("Make","process._#lambda9") [Var 4,Var 2,Var 5,Var 1,Var 3]])),Func ("Make","process._#lambda9") 6 Private (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TVar 167]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","IO") [TVar 167])))) (FuncType (TCons ("IOExts","IORef") [TCons ("FiniteMap","FM") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TVar 167]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 167]]))) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TVar 167]))))))) (Rule [1,2,3,4,5,6] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Make","fastReadImports") [Var 6],Comb FuncCall ("Prelude","mapIO") [Comb (FuncPartCall 1) ("Make","workUpDependence") [Var 4,Var 2,Var 5,Var 1]]],Comb (FuncPartCall 1) ("Make","process._#lambda9._#lambda10") [Var 1,Var 2,Var 6,Var 3,Var 5]])),Func ("Make","process._#lambda9._#lambda10") 6 Private (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TVar 167]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","IO") [TVar 167])))) (FuncType (TCons ("IOExts","IORef") [TCons ("FiniteMap","FM") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TVar 167]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 167]]))) (FuncType (TCons ("Prelude","[]") [TVar 167]) (TCons ("Prelude","IO") [TVar 167]))))))) (Rule [1,2,3,4,5,6] (Let [(7,Comb FuncCall ("Prelude","++") [Comb FuncCall ("FileGoodies","dirName") [Var 3],Comb ConsCall ("Prelude",":") [Lit (Charc '/'),Comb ConsCall ("Prelude","[]") []]])] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 5,Var 7],Var 4],Comb (FuncPartCall 1) ("Prelude","maybe") [Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("FlatCurry","readFlatCurryFile") [Var 3],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 7],Var 6]],Comb (FuncPartCall 1) ("Prelude","return") []]],Comb (FuncPartCall 1) ("Make","process._#lambda9._#lambda10._#lambda11") [Var 2,Var 4]]))),Func ("Make","process._#lambda9._#lambda10._#lambda11") 3 Private (FuncType (TCons ("IOExts","IORef") [TCons ("FiniteMap","FM") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TVar 167]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TVar 167) (TCons ("Prelude","IO") [TVar 167])))) (Rule [1,2,3] (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Make","updateIORef") [Var 1,Comb (FuncPartCall 1) ("Make","process._#lambda9._#lambda10._#lambda11._#lambda12") [Var 2,Var 3]],Comb FuncCall ("Prelude","return") [Var 3]])),Func ("Make","process._#lambda9._#lambda10._#lambda11._#lambda12") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TVar 167) (FuncType (TCons ("FiniteMap","FM") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TVar 167]) (TCons ("FiniteMap","FM") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TVar 167])))) (Rule [1,2,3] (Comb FuncCall ("FiniteMap","addToFM") [Var 3,Var 1,Var 2])),Func ("Make","obsolete") 6 Public (FuncType (TCons ("Prelude","Bool") []) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]))) (FuncType (TCons ("Prelude","[]") [FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])]) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","IO") [TVar 0])) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 0]]))))))) (Rule [1,2,3,4,5,6] (Let [(7,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 2,Var 5],Var 6])] (Let [(8,Comb FuncCall ("Prelude","map") [Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","++") [Var 5],Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","$") [],Var 6]],Var 3])] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Directory","doesFileExist") [Var 7],Comb (FuncPartCall 1) ("Make","obsolete._#lambda15") [Var 4,Var 7,Var 8,Var 1]])))),Func ("Make","obsolete.isNewerThan.86") 2 Private (FuncType (TCons ("Time","ClockTime") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Bool") []]))) (Rule [1,2] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Directory","doesFileExist") [Var 2],Comb (FuncPartCall 1) ("Make","obsolete.isNewerThan.86._#lambda13") [Var 2,Var 1]])),Func ("Make","obsolete.isNewerThan.86._#lambda13") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Time","ClockTime") []) (FuncType (TCons ("Prelude","Bool") []) (TCons ("Prelude","IO") [TCons ("Prelude","Bool") []])))) (Rule [1,2,3] (Case Rigid (Comb FuncCall ("Prelude","not") [Var 3]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","return") [Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Directory","getModificationTime") [Var 1],Comb (FuncPartCall 1) ("Make","obsolete.isNewerThan.86._#lambda13._#lambda14") [Var 2]])])),Func ("Make","obsolete.isNewerThan.86._#lambda13._#lambda14") 2 Private (FuncType (TCons ("Time","ClockTime") []) (FuncType (TCons ("Time","ClockTime") []) (TCons ("Prelude","IO") [TCons ("Prelude","Bool") []]))) (Rule [1,2] (Comb FuncCall ("Prelude","return") [Comb FuncCall ("Prelude","/=") [Comb FuncCall ("Time","compareClockTime") [Var 1,Var 2],Comb ConsCall ("Prelude","GT") []]])),Func ("Make","obsolete._#lambda15") 5 Private (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","IO") [TVar 287])) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","Bool") []) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 287]])))))) (Rule [1,2,3,4,5] (Case Rigid (Var 5) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Directory","getModificationTime") [Var 2],Comb (FuncPartCall 1) ("Make","obsolete._#lambda15._#lambda16") [Var 1,Var 2,Var 3,Var 4]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Make","unless") [Var 4],Comb FuncCall ("Prelude","putStrLn") [Comb FuncCall ("Prelude","++") [Comb ConsCall ("Prelude",":") [Lit (Charc 'm'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc ':'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]],Var 2]]],Comb FuncCall ("Prelude","return") [Comb ConsCall ("Prelude","Nothing") []]])])),Func ("Make","obsolete._#lambda15._#lambda16") 5 Private (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","IO") [TVar 287])) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Time","ClockTime") []) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 287]])))))) (Rule [1,2,3,4,5] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","mapIO") [Comb (FuncPartCall 1) ("Make","obsolete.isNewerThan.86") [Var 5]],Var 3],Comb (FuncPartCall 1) ("Make","obsolete._#lambda15._#lambda16._#lambda17") [Var 1,Var 2,Var 3,Var 4]])),Func ("Make","obsolete._#lambda15._#lambda16._#lambda17") 5 Private (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","IO") [TVar 287])) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Bool") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 287]])))))) (Rule [1,2,3,4,5] (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","or") [],Var 5]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Make","unless") [Var 4],Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Prelude","putStrLn") [],Comb FuncCall ("Prelude","++") [Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'b'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc ':'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]],Var 2]]],Comb FuncCall ("Prelude","return") [Comb ConsCall ("Prelude","Nothing") []]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Make","unless") [Var 4],Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Prelude","putStrLn") [],Comb FuncCall ("Prelude","++") [Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc '-'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc '-'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc ':'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]],Var 2]]],Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","return") [],Comb (ConsPartCall 1) ("Prelude","Just") []]]])])),Func ("Make","fastReadImports") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]])) (Rule [1] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude","readFile") [Var 1],Comb (FuncPartCall 1) ("Make","fastReadImports._#lambda18") []])),Func ("Make","fastReadImports._#lambda18") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]])) (Rule [1] (Comb FuncCall ("Prelude","return") [Comb FuncCall ("Make","strings") [Comb FuncCall ("Prelude","takeWhile") [Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","/=") [],Lit (Charc ']')],Comb FuncCall ("Prelude","dropWhile") [Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","/=") [],Lit (Charc '[')],Var 1]]]])),Func ("Make","strings") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [2,3]) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 2,Lit (Charc '"')]) [Branch (Pattern ("Prelude","True") []) (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","break") [Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","==") [],Lit (Charc '"')]],Var 3]) [Branch (Pattern ("Prelude","(,)") [4,5]) (Case Rigid (Var 5) [Branch (Pattern ("Prelude",":") [6,7]) (Comb ConsCall ("Prelude",":") [Var 4,Comb FuncCall ("Make","strings") [Var 7]]),Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("Prelude","failed") [])])]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Make","strings") [Var 3]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])),Func ("Make","updateIORef") 2 Private (FuncType (TCons ("IOExts","IORef") [TVar 0]) (FuncType (FuncType (TVar 0) (TVar 0)) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (Rule [1,2] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 1],Comb (FuncPartCall 1) ("Make","updateIORef._#lambda20") [Var 2,Var 1]])),Func ("Make","updateIORef._#lambda20") 3 Private (FuncType (FuncType (TVar 127) (TVar 127)) (FuncType (TCons ("IOExts","IORef") [TVar 127]) (FuncType (TVar 127) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))) (Rule [1,2,3] (Comb FuncCall ("IOExts","writeIORef") [Var 2,Comb FuncCall ("Prelude","apply") [Var 1,Var 3]])),Func ("Make","unless") 2 Public (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","IO") [TCons ("Prelude","()") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","return") [Comb ConsCall ("Prelude","()") []]),Branch (Pattern ("Prelude","False") []) (Var 2)]))] []
+ Curry/Module/Make.fint view
@@ -0,0 +1,1 @@+Prog "Make" ["Directory","Distribution","FileGoodies","FiniteMap","FlatCurry","IOExts","Prelude","Sort","System","Time","FlatCurryGoodies"] [TypeSyn ("Make","ModuleName") Public [] (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]),TypeSyn ("Make","Path") Public [] (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]),TypeSyn ("Make","FileName") Public [] (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]),TypeSyn ("Make","TestAct") Private [0] (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 0]]))),TypeSyn ("Make","ProgAct") Private [0] (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","IO") [TVar 0])))),TypeSyn ("Make","Done") Private [0] (TCons ("IOExts","IORef") [TCons ("FiniteMap","FM") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TVar 0]]),TypeSyn ("Make","Getter") Private [0] (FuncType (TCons ("Make","Parameter") []) (TVar 0)),TypeSyn ("Make","Setter") Private [0] (FuncType (TVar 0) (FuncType (TCons ("Make","Parameter") []) (TCons ("Make","Parameter") []))),Type ("Make","Parameter") Public [] []] [Func ("Make","quiet") 1 Public (FuncType (TCons ("Make","Parameter") []) (TCons ("Prelude","Bool") [])) (Rule [] (Var 0)),Func ("Make","force") 1 Public (FuncType (TCons ("Make","Parameter") []) (TCons ("Prelude","Bool") [])) (Rule [] (Var 0)),Func ("Make","output") 1 Public (FuncType (TCons ("Make","Parameter") []) (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (Rule [] (Var 0)),Func ("Make","modulename") 1 Public (FuncType (TCons ("Make","Parameter") []) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [] (Var 0)),Func ("Make","parseArgs") 0 Public (TCons ("Prelude","IO") [TCons ("Make","Parameter") []]) (Rule [] (Var 0)),Func ("Make","make") 0 Public (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 0]]))) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","IO") [TVar 0])))) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))))) (Rule [] (Var 0)),Func ("Make","makeWithFrontendParams") 5 Public (FuncType (TCons ("Distribution","FrontendParams") []) (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 0]]))) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","IO") [TVar 0])))) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))) (Rule [] (Var 0)),Func ("Make","obsolete") 6 Public (FuncType (TCons ("Prelude","Bool") []) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]))) (FuncType (TCons ("Prelude","[]") [FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])]) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","IO") [TVar 0])) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 0]]))))))) (Rule [] (Var 0)),Func ("Make","unless") 2 Public (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","IO") [TCons ("Prelude","()") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (Rule [] (Var 0))] []
+ Curry/Module/Oracle.curry view
@@ -0,0 +1,128 @@+--- Provides the interface that is used to generate and send events.+---+--- @version Feb, 2007+---+module Oracle (+ Ref, ++ partCons, partFunc, partCall,+ apply, ($!) ,($!!), ($#), ($##), (>>=),+ compose, unknown,++ oracle, oracleIO,++ fresh, replace, collapse, closeRef, expand++ )where++import IOExts (getAssoc)+import CEventOracle+import qualified Meta+import qualified Unsafe (unsafePerformIO)+--import Global++--extFileName :: Global String+--extFileName = global "" Temporary++infixr 0 $!, $!!, $#, $##++--- Wrapper for constructor with one missing argument.+-- We have to close the reference here, since+-- a value is constructed+partCons :: (a -> b) -> Ref -> a -> b+partCons c r x = closeRef r (c x)+-- partCons c r = collapse r c++--- Wrapper for function with one missing argument.+-- We should not count a step here, since+-- the wrapper is not part of the original program.+partFunc :: (a -> Ref -> b) -> Ref -> a -> b+partFunc f r x = f x r++--- Wrapper for call with more than one missing argument.+partCall :: a -> Ref -> a+partCall x r = closeRef r x++--- Wrapper for apply function.+apply :: (Ref -> a -> b) -> a -> Ref -> b+apply f x r = CEventOracle.apply f x r++--- Wrapper for hnf apply function.+($!) :: (Ref -> a -> b) -> a -> Ref -> b+(f $! x) r = (f CEventOracle.$! x) r ++--- Wrapper for nf apply function.+($!!) :: (Ref -> a -> b) -> a -> Ref -> b+($!!) f x r = (f CEventOracle.$!! x) r ++--- Wrapper for ghnf apply function.+($#) :: (Ref -> a -> b) -> a -> Ref -> b+($#) f x r = (f CEventOracle.$# x) r ++--- Wrapper for gnf apply function.+($##) :: (Ref -> a -> b) -> a -> Ref -> b+($##) f x r = (f CEventOracle.$## x) r ++headNormalFormIO :: (Ref -> a -> Ref -> () -> IO b) -> a -> Ref -> Ref -> () -> IO b+headNormalFormIO f x r = error "headNormalFormIO"++prim_unsafePerformIO :: (Ref -> () -> IO a) -> Ref -> a+prim_unsafePerformIO act ref = replace ref (Unsafe.unsafePerformIO (act ref ()))+++lambda_world :: IO a -> Ref -> () -> IO a+lambda_world act ref _ = collapse ref act++--- Wrapper for bind in io monad+(>>=) :: (Ref -> () -> IO a) -> (Ref -> a -> Ref -> () -> IO b) -> Ref -> Ref -> () -> IO b+(>>=) act cont ref = collapse ref (partFunc (bind act cont))++bind :: (Ref -> () -> IO a) -> (Ref -> a -> Ref -> () -> IO b) -> () -> Ref -> IO b+bind act cont world ref = + let ref2 = fresh () + in expand ref [ref2] (apply act world ref Prelude.>>= bind2 cont world ref2)++bind2 :: (Ref -> a -> Ref -> () -> IO b) -> () -> Ref -> a -> IO b +bind2 cont world ref2 x =+ let ref3 = fresh () + in expand ref2 [ref3] (apply (apply cont x ref2) world ref3)++-- catchFail is also an external higher order function+catchFail :: (Ref -> () -> IO a) -> (Ref -> () -> IO a) -> Ref -> Ref -> () -> IO a+catchFail act1 act2 ref = + collapse ref (partFunc (catch act1 act2))++catch :: (Ref -> () -> IO a) -> (Ref -> () -> IO a) -> () -> Ref -> IO a+catch act1 act2 world ref = let ref' = fresh () in+ expand ref [ref'] + (Prelude.catchFail + (apply act1 world ref Prelude.>>= return . (,) True)+ (apply act2 world ref' Prelude.>>= return . (,) False) Prelude.>>=+ \ (b,res) -> safeIOResult (return b) >> return res)+ ++--- Function composition (Prelude version may be transformed)+compose :: (b -> c) -> (a -> b) -> a -> c+compose f g x = f (g x)++--- Computes the oracle for a computation. +oracle :: (Ref -> a) -> IO ()+oracle expr = initialize (return . expr)++oracleIO :: (Ref -> Ref -> () -> IO a) -> IO ()+oracleIO app = initialize (\ mainR -> + let appRef = fresh () + in expand mainR [appRef] (app mainR appRef ()))+++safeIOResult :: IO a -> IO a+safeIOResult act = do + Just fn <- getAssoc "extfn"+ x <- act+ let sx = show x+ appendFile fn (show (length sx)++'\n':sx)+ return x+++unknown :: Ref -> a+unknown r = CEventOracle.unknown r
+ Curry/Module/Oracle.fcy view
@@ -0,0 +1,1 @@+Prog "Oracle" ["CEventOracle","IOExts","Prelude","Unsafe","Meta"] [] [Func ("Oracle","partCons") 3 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1)))) (Rule [1,2,3] (Comb FuncCall ("CEventOracle","closeRef") [Var 2,Comb FuncCall ("Prelude","apply") [Var 1,Var 3]])),Func ("Oracle","partFunc") 3 Public (FuncType (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1)))) (Rule [1,2,3] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Var 2])),Func ("Oracle","partCall") 2 Public (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0))) (Rule [1,2] (Comb FuncCall ("CEventOracle","closeRef") [Var 2,Var 1])),Func ("Oracle","apply") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (Rule [1,2,3] (Comb FuncCall ("CEventOracle","apply") [Var 1,Var 2,Var 3])),Func ("Oracle","$!") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (Rule [1,2,3] (Comb FuncCall ("CEventOracle","$!") [Var 1,Var 2,Var 3])),Func ("Oracle","$!!") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (Rule [1,2,3] (Comb FuncCall ("CEventOracle","$!!") [Var 1,Var 2,Var 3])),Func ("Oracle","$#") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (Rule [1,2,3] (Comb FuncCall ("CEventOracle","$#") [Var 1,Var 2,Var 3])),Func ("Oracle","$##") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (Rule [1,2,3] (Comb FuncCall ("CEventOracle","$##") [Var 1,Var 2,Var 3])),Func ("Oracle","headNormalFormIO") 3 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 1]))))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 1])))))) (Rule [1,2,3] (Comb FuncCall ("Prelude","error") [Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'N'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'm'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'F'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'm'),Comb ConsCall ("Prelude",":") [Lit (Charc 'I'),Comb ConsCall ("Prelude",":") [Lit (Charc 'O'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]])),Func ("Oracle","prim_unsafePerformIO") 2 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 0]))) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0))) (Rule [1,2] (Comb FuncCall ("CEventOracle","replace") [Var 2,Comb FuncCall ("Unsafe","unsafePerformIO") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 2],Comb ConsCall ("Prelude","()") []]]])),Func ("Oracle","lambda_world") 3 Private (FuncType (TCons ("Prelude","IO") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 0])))) (Rule [1,2,3] (Comb FuncCall ("CEventOracle","collapse") [Var 2,Var 1])),Func ("Oracle",">>=") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 0]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 1]))))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 1])))))) (Rule [1,2,3] (Comb FuncCall ("CEventOracle","collapse") [Var 3,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("Oracle","bind") [Var 1,Var 2]]])),Func ("Oracle","bind") 4 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 0]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 1]))))) (FuncType (TCons ("Prelude","()") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","IO") [TVar 1]))))) (Rule [1,2,3,4] (Let [(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Oracle","apply") [Var 1,Var 3,Var 4],Comb (FuncPartCall 1) ("Oracle","bind2") [Var 2,Var 3,Var 5]]]))),Func ("Oracle","bind2") 4 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 1]))))) (FuncType (TCons ("Prelude","()") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TCons ("Prelude","IO") [TVar 1]))))) (Rule [1,2,3,4] (Let [(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 3,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Var 1,Var 4,Var 3],Var 2,Var 5]]))),Func ("Oracle","catchFail") 3 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 0]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 0]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 0])))))) (Rule [1,2,3] (Comb FuncCall ("CEventOracle","collapse") [Var 3,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("Oracle","catch") [Var 1,Var 2]]])),Func ("Oracle","catch") 4 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 0]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 0]))) (FuncType (TCons ("Prelude","()") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","IO") [TVar 0]))))) (Rule [1,2,3,4] (Let [(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude","catchFail") [Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Oracle","apply") [Var 1,Var 3,Var 4],Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","return") [],Comb (ConsPartCall 1) ("Prelude","(,)") [Comb ConsCall ("Prelude","True") []]]],Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Oracle","apply") [Var 2,Var 3,Var 5],Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","return") [],Comb (ConsPartCall 1) ("Prelude","(,)") [Comb ConsCall ("Prelude","False") []]]]],Comb (FuncPartCall 1) ("Oracle","catch._#lambda2") []]]))),Func ("Oracle","catch._#lambda2") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","Bool") [],TVar 162]) (TCons ("Prelude","IO") [TVar 162])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Oracle","safeIOResult") [Comb FuncCall ("Prelude","return") [Var 2]],Comb FuncCall ("Prelude","return") [Var 3]])])),Func ("Oracle","compose") 3 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (FuncType (TVar 2) (TVar 0)) (FuncType (TVar 2) (TVar 1)))) (Rule [1,2,3] (Comb FuncCall ("Prelude","apply") [Var 1,Comb FuncCall ("Prelude","apply") [Var 2,Var 3]])),Func ("Oracle","oracle") 1 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0)) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [1] (Comb FuncCall ("CEventOracle","initialize") [Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","return") [],Var 1]])),Func ("Oracle","oracleIO") 1 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 0])))) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [1] (Comb FuncCall ("CEventOracle","initialize") [Comb (FuncPartCall 1) ("Oracle","oracleIO._#lambda3") [Var 1]])),Func ("Oracle","oracleIO._#lambda3") 2 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 195])))) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","IO") [TVar 195]))) (Rule [1,2] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 2,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 2],Var 3],Comb ConsCall ("Prelude","()") []]]))),Func ("Oracle","safeIOResult") 1 Private (FuncType (TCons ("Prelude","IO") [TVar 0]) (TCons ("Prelude","IO") [TVar 0])) (Rule [1] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","getAssoc") [Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'x'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude","[]") []]]]]]],Comb (FuncPartCall 1) ("Oracle","safeIOResult._#lambda4") [Var 1]])),Func ("Oracle","safeIOResult._#lambda4") 2 Private (FuncType (TCons ("Prelude","IO") [TVar 120]) (FuncType (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","IO") [TVar 120]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","Just") [3]) (Comb FuncCall ("Prelude",">>=") [Var 1,Comb (FuncPartCall 1) ("Oracle","safeIOResult._#lambda4._#lambda5") [Var 3]])])),Func ("Oracle","safeIOResult._#lambda4._#lambda5") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TVar 120) (TCons ("Prelude","IO") [TVar 120]))) (Rule [1,2] (Let [(3,Comb FuncCall ("Prelude","show") [Var 2])] (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","appendFile") [Var 1,Comb FuncCall ("Prelude","++") [Comb FuncCall ("Prelude","show") [Comb FuncCall ("Prelude","length") [Var 3]],Comb ConsCall ("Prelude",":") [Lit (Charc '\n'),Var 3]]],Comb FuncCall ("Prelude","return") [Var 2]]))),Func ("Oracle","unknown") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0)) (Rule [1] (Comb FuncCall ("CEventOracle","unknown") [Var 1]))] [Op ("Oracle","$!") InfixrOp 0,Op ("Oracle","$!!") InfixrOp 0,Op ("Oracle","$#") InfixrOp 0,Op ("Oracle","$##") InfixrOp 0]
+ Curry/Module/Oracle.fint view
@@ -0,0 +1,1 @@+Prog "Oracle" ["CEventOracle","IOExts","Prelude","Unsafe","Meta"] [Type ("CEventOracle","Ref") Public [] []] [Func ("CEventOracle","fresh") 1 Public (FuncType (TCons ("Prelude","()") []) (TCons ("CEventOracle","Ref") [])) (Rule [] (Var 0)),Func ("CEventOracle","replace") 2 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 0))) (Rule [] (Var 0)),Func ("CEventOracle","collapse") 2 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 0))) (Rule [] (Var 0)),Func ("CEventOracle","closeRef") 2 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 0))) (Rule [] (Var 0)),Func ("CEventOracle","expand") 3 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("CEventOracle","Ref") []]) (FuncType (TVar 0) (TVar 0)))) (Rule [] (Var 0)),Func ("Oracle","partCons") 3 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1)))) (Rule [] (Var 0)),Func ("Oracle","partFunc") 3 Public (FuncType (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1)))) (Rule [] (Var 0)),Func ("Oracle","partCall") 2 Public (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0))) (Rule [] (Var 0)),Func ("Oracle","apply") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (Rule [] (Var 0)),Func ("Oracle","$!") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (Rule [] (Var 0)),Func ("Oracle","$!!") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (Rule [] (Var 0)),Func ("Oracle","$#") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (Rule [] (Var 0)),Func ("Oracle","$##") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (Rule [] (Var 0)),Func ("Oracle",">>=") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 0]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 1]))))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 1])))))) (Rule [] (Var 0)),Func ("Oracle","compose") 3 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (FuncType (TVar 2) (TVar 0)) (FuncType (TVar 2) (TVar 1)))) (Rule [] (Var 0)),Func ("Oracle","oracle") 1 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0)) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [] (Var 0)),Func ("Oracle","oracleIO") 1 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 0])))) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [] (Var 0)),Func ("Oracle","unknown") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0)) (Rule [] (Var 0))] [Op ("Oracle","$!") InfixrOp 0,Op ("Oracle","$!!") InfixrOp 0,Op ("Oracle","$#") InfixrOp 0,Op ("Oracle","$##") InfixrOp 0]
+ Curry/Module/Transform.curry view
@@ -0,0 +1,293 @@+--- Program transformation to compute the oracle.+---+--- @version July 2007+--- new: employ make for modulewise transformation+---++module Transform where++import System (getArgs)+import Directory +import Integer ( maxlist )+import List +import Maybe +import Distribution (getStdLibDir)+import ReadShowTerm++import FlatCurry+import FlatCurryGoodies++import Wrapper+import Make+import AddWorld (addWorld)+import LiftCases (liftCases)++main :: IO () +main = do+ putStrLn "this is the curry prophecy generator"+ params <- parseArgs+ libdir <- getStdLibDir + maybe done mayCreateDirectory (output params)+ transform libdir (force params) (quiet params) (output params) (modulename params)+ putStrLn "curry prophecy generator finished"++mayCreateDirectory :: String -> IO ()+mayCreateDirectory dir = do + ex <- doesDirectoryExist dir+ unless ex (createDirectory dir)++transform :: String -> Bool -> Bool -> Maybe String -> String -> IO ()+transform libdir force quiet outdir mod = make quiet mod tester (writeTrans outdir)+ where+ tester = if force then (\ fn _ -> readTypes [fn] >>= return . Just)+ else myObsolete+ readTypes fns = do+ prog <- readFile (head fns)+ let typeString = dropWhile (/='[') $ dropWhile (/=']') $ dropWhile (/='[') prog+ types = fst $ head $ readsTerm typeString+ return $ filter hasHOTypeArg types++ obso = obsolete quiet (\ dir -> addFcy . addOrc dir outdir) [addFcy] readTypes ++ myObsolete path modu = do+ ob <- obso path modu+ if isJust ob || isJust outdir || not (isPrefixOf libdir path)+ then return ob+ else do+ unless quiet (putStrLn (modu ++ " is a standard library")) + ts <- readTypes [path++addFcy modu]+ return (Just ts)++writeTrans :: Maybe String -> String -> [[TypeDecl]] -> Prog -> IO [TypeDecl]+writeTrans outdir path imps prog = do+ let fn = addOrc path outdir (progName prog)+ (trTypes,trProg) = transProg (concat imps) (liftCases False prog)+ res = show trProg+ putStrLn ("generating "++fn)+ writeFile (fn++".fcy") res+ writeFile (fn++".fint") res+ return trTypes++transProg :: [TypeDecl] -> Prog -> ([TypeDecl],Prog)+transProg impTypes prog+ = (typesToTransform,+ updProg newModName + (\imps -> eventMod:oracle:ioexts:progName prog:imps ++ map newModName imps)+ (map (transType isTrType) . filter (isTrType . typeName))+ (concatMap (transFunc isTrType isTrCons))+ (map (updOpName newModNameQ)) prog')+ where+ prog' = rnmAllVarsInProg (+1) (addWorld prog) -- relies on vars starting from 1+ typesToTransform = fst (fixDependence (withHo++impTypes) noHo) + (withHo,noHo) = partition hasHOTypeArg (progTypes prog)++ fixDependence knowns unknowns = + case partition (dependsOnTypes (map typeName knowns)) unknowns of+ ([],indeps) -> (knowns,indeps)+ (deps,indeps) -> fixDependence (knowns++deps) indeps+ + dependsOnTypes ts = trType (\_ _ _ -> any (any (containsTypes ts) . consArgs))+ (\_ _ _ -> containsTypes ts)+ containsTypes ts = trTypeExpr (\_->False) (\qn args -> or (elem qn ts:args)) (||)+ + isTrType t = elem t $ map typeName typesToTransform+ isTrCons c = elem c $ map consName $ concatMap typeConsDecls + $ filter (not . isTypeSyn) typesToTransform++hasHOTypeArg :: TypeDecl -> Bool+hasHOTypeArg = trType (\_ _ _ cs -> any isFuncType (concatMap consArgs cs)) + (\_ _ _ _ -> False)++transType :: (QName -> Bool) -> TypeDecl -> TypeDecl+transType isTr t + | isTr (typeName t) = updTypeName newModNameQ $+ updTypeConsDecls (map (updCons newModNameQ id id + (map (rType isTr)))) t+ | otherwise = t++when :: (a -> Bool) -> (a -> a) -> a -> a+when p f x = if p x then f x else x++rType :: (QName -> Bool) -> TypeExpr -> TypeExpr+rType _ t@(TVar _) = t+rType isTr (TCons name args) = TCons (when isTr newModNameQ name) (map (rType isTr) args)+rType isTr (FuncType dom ran) = + FuncType tRef (FuncType (updQNamesInTypeExpr (when isTr newModNameQ) + (rType isTr dom)) + (rType isTr ran))++transFunc :: (QName -> Bool) -> Options -> FuncDecl -> [FuncDecl]+transFunc isTr opts func@(Func name arity vis t _)+ | name==("Global","global") || name `elem` implementedInOracle = []+ | isExternal func && isIO typ+ = let call | isComplexIO typ = extIO (safeIOResult (extCall arity))+ | otherwise = extIO (extCall arity) in+ [Func newName arity vis (transFuncType (arity-1) isTr t) $+ Rule (reverse [1 .. arity]) $ collapse ref call]+ | isExternal func + = [Func newName (arity+1) vis (transFuncType arity isTr t) $+ Rule (reverse args) $ collapse ref $ extCall (arity+1)]+ | isGlobal func + = if isValue (head (combArgs (funcBody func)))+ then [Func newName (arity+1) vis (transFuncType arity isTr t) $+ Rule (reverse args) $ collapse ref $ extCall (arity+1)]+ else error (fst name ++ '.':snd name +++ ": cannot treat global states initialized with \+ \unevaluated expression\n\+ \possible solution: do some inlining and evaluating.")+ | otherwise+ = case transExpr opts (funcBody func) nextVar of+ Right (ns,vs,exp) -> [updFunc newModNameQ + (+1)+ id+ (transFuncType arity isTr)+ (updRule (++[1])+ (const ({-if take 6 (snd name) == "_case_"+ then exp+ else-} event ns ref vs exp))+ id)+ func]+ Left err -> [Func newName (arity+1) vis (transFuncType arity isTr t) $+ Rule args $ errorCall $ + fst newName ++ '.':snd newName ++':':err]+ where+ typ = resultType t+ funcVars = allVarsInFunc func+ nextVar = if null funcVars then 2 else maxlist funcVars + 1+ args = [1..arity+1]+ newName = newModNameQ name++ isIO x = isTCons x && tConsName x==(prelude,"IO")+ isComplexIO (TVar _) = False+ isComplexIO (TCons _ as) = + as/=[TCons (prelude,"()") []] + && not (elem name specialIOs)+ isGlobal f = case funcBody f of+ Comb FuncCall g [_,_] -> g==("Global","global") + _ -> False++ extCall i = Comb FuncCall name (map Var (reverse (tail [1 .. i])))+ isValue = trExpr (const False) (const True) (\ x _ xs -> and (isCombTypeConsCall x:xs))+ (\ bs x -> and (x:map snd bs)) (\ _ x -> x) (&&) (\_ _ _ -> False) (\_ _ -> False)++transFuncType :: Int -> (QName -> Bool) -> TypeExpr -> TypeExpr+transFuncType n isTr t@(TVar v) = + if v==(-42) || n/=0 then t else FuncType tRef (rType isTr t)+transFuncType 0 isTr t@(TCons _ _) = FuncType tRef (rType isTr t)+transFuncType n isTr t@(FuncType dom ran)+ | n == 0 = FuncType tRef (rType isTr t)+ | otherwise = FuncType (rType isTr dom) (transFuncType (n-1) isTr ran)++transExpr :: Options -> Expr -> Int -> Either String ([Int],[Int],Expr)+transExpr opts exp n = + case trExpr var lit comb leT freE oR casE branch exp opts n [ref] of+ Right (_,ns,vs,e) -> Right (ns,vs [],e)+ Left s -> Left s++ +type Options = QName -> Bool+type T a = Options+ -> Int -- next unused reference+ -> [Int] -- references to reuse+ -> Either + String -- Error for non-supported constructs+ (Int -- next unused reference+ ,[Int] -- references to reuse+ ,[Int]->[Int] -- references to be introduced+ ,a) -- monadic result+ ++ret :: a -> T a+ret x _ n ns = Right (n,ns,id,x)++(.>>=) :: T a -> (a -> T b) -> T b+(ta .>>= f) isTr n ns+ = case ta isTr n ns of+ Right (m,ms,vs,a) -> case f a isTr m ms of+ Right (l,ls,ws,b) -> Right (l,ls,vs . ws,b)+ Left s -> Left s+ Left s -> Left s++sequence :: [T a] -> T [a]+sequence [] = ret []+sequence (tx:txs) = tx .>>= \x -> sequence txs .>>= \xs -> ret (x:xs)++nextRef :: T Int+nextRef _ n [] = Right (n+1,[],(n:),n)+nextRef _ n (m:ms) = Right (n,ms,id,m)++renameCons :: QName -> T QName+renameCons n isTr = ret (when isTr newModNameQ n) isTr++var :: Int -> T Expr+var x = ret (Var x)++lit :: Literal -> T Expr+lit l = ret (Lit l)++comb :: CombType -> QName -> [T Expr] -> T Expr+comb ct@ConsCall name targs+ = sequence targs .>>= \args ->+ renameCons name .>>= \name' ->+ ret (Comb ct name' args)++comb ct@(ConsPartCall m) name targs+ = sequence targs .>>= \args ->+ renameCons name .>>= \name' ->+ ret (partCons m (Comb ct name' args))++comb ct@FuncCall name targs+ = sequence targs .>>= \args ->+ nextRef .>>= \r ->+ let args' = args++[Var r] in+ if name `elem` implementedInOracle++ then ret (inOraclePartCall (snd name) args') + else ret (Comb ct (newModNameQ name) args')+ ++comb (FuncPartCall m) name targs+ = sequence targs .>>= \args ->+ ret $ partFunc m $+ if name `elem` implementedInOracle+ then inOraclePartCall (snd name) args+ else pc (newModNameQ name) args+ where+ pc = Comb (FuncPartCall (m+1))++leT :: [(Int,T Expr)] -> T Expr -> T Expr+leT tbs texp+ = sequence (map snd tbs) .>>= \es ->+ nextRef .>>= \r isTr n [] -> case texp isTr n [r] of+ Right (m,ms,fvs,exp) -> let bs = zip (map fst tbs) es+ in Right (m,[],id,Let bs (event ms r (fvs []) exp))+ Left s -> Left s++freE :: [Int] -> T Expr -> T Expr+freE vs te = sequence (replicate (length vs) freeVar) .>>= \ es ->+ te .>>= \ e ->+ ret (Let (zip vs es) e)+ where+ freeVar = nextRef .>>= (ret . Wrapper.unknown . Var)++oR :: T Expr -> T Expr -> T Expr+oR te1 te2 = te1 .>>= \ e1 -> + te2 .>>= \ e2 ->+ ret (FlatCurry.Or e1 e2)++casE :: CaseType -> T Expr -> [Int -> T BranchExpr] -> T Expr+casE ct texp tbs+ = texp .>>= \exp ->+ nextRef .>>= \cr ->+ sequence (map ($cr) tbs) .>>= \bs ->+ ret (Case ct exp bs) ++branch :: Pattern -> T Expr -> Int -> T BranchExpr+branch pat texp cr isTr n []+ = case texp isTr n [cr] of+ Right (m,ms,fvs,exp) -> Right (m,[],id,Branch (updPatCons (when isTr newModNameQ) pat) + (event ms cr (fvs []) exp))+ Left s -> Left s+ + +
+ Curry/Module/Transform.fcy view
@@ -0,0 +1,1 @@+Prog "Transform" ["AddWorld","Directory","Distribution","FlatCurry","FlatCurryGoodies","Integer","LiftCases","List","Make","Maybe","Prelude","ReadShowTerm","Wrapper","System"] [TypeSyn ("Transform","Options") Public [] (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])),TypeSyn ("Transform","T") Public [0] (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TVar 0]]))))] [Func ("Transform","main") 0 Public (TCons ("Prelude","IO") [TCons ("Prelude","()") []]) (Rule [] (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","putStrLn") [Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Make","parseArgs") [],Comb (FuncPartCall 1) ("Transform","main._#lambda2") []]])),Func ("Transform","main._#lambda2") 1 Private (FuncType (TCons ("Make","Parameter") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [1] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Distribution","getStdLibDir") [],Comb (FuncPartCall 1) ("Transform","main._#lambda2._#lambda3") [Var 1]])),Func ("Transform","main._#lambda2._#lambda3") 2 Private (FuncType (TCons ("Make","Parameter") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (Rule [1,2] (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","maybe") [Comb FuncCall ("Prelude","done") [],Comb (FuncPartCall 1) ("Transform","mayCreateDirectory") [],Comb FuncCall ("Make","output") [Var 1]],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Transform","transform") [Var 2,Comb FuncCall ("Make","force") [Var 1],Comb FuncCall ("Make","quiet") [Var 1],Comb FuncCall ("Make","output") [Var 1],Comb FuncCall ("Make","modulename") [Var 1]],Comb FuncCall ("Prelude","putStrLn") [Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]])),Func ("Transform","mayCreateDirectory") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [1] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Directory","doesDirectoryExist") [Var 1],Comb (FuncPartCall 1) ("Transform","mayCreateDirectory._#lambda4") [Var 1]])),Func ("Transform","mayCreateDirectory._#lambda4") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","Bool") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (Rule [1,2] (Comb FuncCall ("Make","unless") [Var 2,Comb FuncCall ("Directory","createDirectory") [Var 1]])),Func ("Transform","transform") 5 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))) (Rule [1,2,3,4,5] (Let [(6,Comb (FuncPartCall 2) ("Make","obsolete") [Var 3,Comb (FuncPartCall 1) ("Transform","transform._#lambda7") [Var 4],Comb ConsCall ("Prelude",":") [Comb FuncCall ("Wrapper","addFcy") [],Comb ConsCall ("Prelude","[]") []],Comb (FuncPartCall 1) ("Transform","transform.readTypes.10") []])] (Let [(7,Case Rigid (Var 2) [Branch (Pattern ("Prelude","True") []) (Comb (FuncPartCall 2) ("Transform","transform._#lambda5") []),Branch (Pattern ("Prelude","False") []) (Comb (FuncPartCall 2) ("Transform","transform.myObsolete.10") [Var 1,Var 6,Var 4,Var 3])])] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Make","make") [],Var 3],Var 5],Var 7],Comb (FuncPartCall 3) ("Transform","writeTrans") [Var 4]])))),Func ("Transform","transform.readTypes.10") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]])) (Rule [1] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude","readFile") [Comb FuncCall ("Prelude","head") [Var 1]],Comb (FuncPartCall 1) ("Transform","transform.readTypes.10._#lambda6") []])),Func ("Transform","transform.readTypes.10._#lambda6") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]])) (Rule [1] (Let [(2,Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Prelude","dropWhile") [Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","/=") [],Lit (Charc '[')]],Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Prelude","dropWhile") [Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","/=") [],Lit (Charc ']')]],Comb FuncCall ("Prelude","dropWhile") [Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","/=") [],Lit (Charc '[')],Var 1]]])] (Let [(3,Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Prelude","fst") [],Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Prelude","head") [],Comb FuncCall ("ReadShowTerm","readsTerm") [Var 2]]])] (Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Prelude","return") [],Comb FuncCall ("Prelude","filter") [Comb FuncCall ("Transform","hasHOTypeArg") [],Var 3]])))),Func ("Transform","transform._#lambda7") 2 Private (FuncType (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])))) (Rule [1,2] (Comb FuncCall ("Prelude",".") [Comb FuncCall ("Wrapper","addFcy") [],Comb (FuncPartCall 1) ("Wrapper","addOrc") [Var 2,Var 1]])),Func ("Transform","transform.myObsolete.10") 6 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]]))) (FuncType (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]]))))))) (Rule [1,2,3,4,5,6] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 2,Var 5],Var 6],Comb (FuncPartCall 1) ("Transform","transform.myObsolete.10._#lambda8") [Var 1,Var 6,Var 3,Var 5,Var 4]])),Func ("Transform","transform.myObsolete.10._#lambda8") 6 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]]))))))) (Rule [1,2,3,4,5,6] (Case Rigid (Comb FuncCall ("Prelude","||") [Comb FuncCall ("Maybe","isJust") [Var 6],Comb FuncCall ("Prelude","||") [Comb FuncCall ("Maybe","isJust") [Var 3],Comb FuncCall ("Prelude","not") [Comb FuncCall ("List","isPrefixOf") [Var 1,Var 4]]]]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","return") [Var 6]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Make","unless") [Var 5,Comb FuncCall ("Prelude","putStrLn") [Comb FuncCall ("Prelude","++") [Var 2,Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'b'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]],Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Transform","transform.readTypes.10") [Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","++") [Var 4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","addFcy") [],Var 2]],Comb ConsCall ("Prelude","[]") []]],Comb (FuncPartCall 1) ("Transform","transform.myObsolete.10._#lambda8._#lambda9") []]])])),Func ("Transform","transform.myObsolete.10._#lambda8._#lambda9") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]])) (Rule [1] (Comb FuncCall ("Prelude","return") [Comb ConsCall ("Prelude","Just") [Var 1]])),Func ("Transform","transform._#lambda5") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]]))) (Rule [1,2] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Transform","transform.readTypes.10") [Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","return") [],Comb (ConsPartCall 1) ("Prelude","Just") []]])),Func ("Transform","writeTrans") 4 Public (FuncType (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]))))) (Rule [1,2,3,4] (Let [(5,Comb FuncCall ("Wrapper","addOrc") [Var 2,Var 1,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","progName") [],Var 4]])] (Let [(6,Comb FuncCall ("Transform","transProg") [Comb FuncCall ("Prelude","concat") [Var 3],Comb FuncCall ("LiftCases","liftCases") [Comb ConsCall ("Prelude","False") [],Var 4]])] (Let [(7,Comb FuncCall ("Transform","writeTrans._#selFP3#trTypes") [Var 6])] (Let [(8,Comb FuncCall ("Transform","writeTrans._#selFP4#trProg") [Var 6])] (Let [(9,Comb FuncCall ("Prelude","show") [Var 8])] (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","putStrLn") [Comb FuncCall ("Prelude","++") [Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]],Var 5]],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","writeFile") [Comb FuncCall ("Prelude","++") [Var 5,Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude","[]") []]]]]],Var 9],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","writeFile") [Comb FuncCall ("Prelude","++") [Var 5,Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude","[]") []]]]]]],Var 9],Comb FuncCall ("Prelude","return") [Var 7]]]]))))))),Func ("Transform","writeTrans._#selFP3#trTypes") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []],TCons ("FlatCurry","Prog") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Transform","writeTrans._#selFP4#trProg") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []],TCons ("FlatCurry","Prog") []]) (TCons ("FlatCurry","Prog") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Transform","transProg") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []],TCons ("FlatCurry","Prog") []]))) (Rule [1,2] (Let [(3,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","rnmAllVarsInProg") [],Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","+") [],Lit (Intc 1)]],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("AddWorld","addWorld") [],Var 2]])] (Let [(4,Comb FuncCall ("List","partition") [Comb FuncCall ("Transform","hasHOTypeArg") [],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","progTypes") [],Var 2]])] (Let [(5,Comb FuncCall ("Transform","transProg._#selFP6#withHo") [Var 4])] (Let [(6,Comb FuncCall ("Transform","transProg._#selFP7#noHo") [Var 4])] (Let [(7,Comb FuncCall ("Prelude","fst") [Comb FuncCall ("Transform","transProg.fixDependence.33") [Comb FuncCall ("Prelude","++") [Var 5,Var 1],Var 6]])] (Comb ConsCall ("Prelude","(,)") [Var 7,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","updProg") [Comb (FuncPartCall 1) ("Wrapper","newModName") [],Comb (FuncPartCall 1) ("Transform","transProg._#lambda15") [Var 2],Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","map") [Comb (FuncPartCall 1) ("Transform","transType") [Comb (FuncPartCall 1) ("Transform","transProg.isTrType.33") [Var 7]]],Comb (FuncPartCall 1) ("Prelude","filter") [Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Transform","transProg.isTrType.33") [Var 7],Comb FuncCall ("FlatCurryGoodies","typeName") []]]],Comb FuncCall ("Prelude","concatMap") [Comb (FuncPartCall 1) ("Transform","transFunc") [Comb (FuncPartCall 1) ("Transform","transProg.isTrType.33") [Var 7],Comb (FuncPartCall 1) ("Transform","transProg.isTrCons.33") [Var 7]]],Comb (FuncPartCall 1) ("Prelude","map") [Comb FuncCall ("FlatCurryGoodies","updOpName") [Comb (FuncPartCall 1) ("Wrapper","newModNameQ") []]]],Var 3]]))))))),Func ("Transform","transProg._#selFP6#withHo") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []],TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Transform","transProg._#selFP7#noHo") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []],TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Transform","transProg.containsTypes.33") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") []))) (Rule [1] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trTypeExpr") [Comb (FuncPartCall 1) ("Transform","transProg.containsTypes.33._#lambda13") [],Comb (FuncPartCall 2) ("Transform","transProg.containsTypes.33._#lambda14") [Var 1],Comb (FuncPartCall 2) ("Prelude","||") []])),Func ("Transform","transProg.containsTypes.33._#lambda13") 1 Private (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb ConsCall ("Prelude","False") [])),Func ("Transform","transProg.containsTypes.33._#lambda14") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]]) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Bool") []]) (TCons ("Prelude","Bool") [])))) (Rule [1,2,3] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","or") [],Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","elem") [Var 2],Var 1],Var 3]])),Func ("Transform","transProg.dependsOnTypes.33") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]]) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("Prelude","Bool") []))) (Rule [1] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trType") [Comb (FuncPartCall 3) ("Transform","transProg.dependsOnTypes.33._#lambda11") [Var 1],Comb (FuncPartCall 3) ("Transform","transProg.dependsOnTypes.33._#lambda12") [Var 1]])),Func ("Transform","transProg.dependsOnTypes.33._#lambda11") 4 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]]) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (TCons ("Prelude","Bool") [])))))) (Rule [1,2,3,4] (Comb FuncCall ("Prelude","any") [Comb FuncCall ("Prelude",".") [Comb FuncCall ("Prelude","any") [Comb FuncCall ("Transform","transProg.containsTypes.33") [Var 1]],Comb FuncCall ("FlatCurryGoodies","consArgs") []]])),Func ("Transform","transProg.dependsOnTypes.33._#lambda12") 4 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]]) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") [])))))) (Rule [1,2,3,4] (Comb FuncCall ("Transform","transProg.containsTypes.33") [Var 1])),Func ("Transform","transProg.fixDependence.33") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []],TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]))) (Rule [1,2] (Case Rigid (Comb FuncCall ("List","partition") [Comb FuncCall ("Transform","transProg.dependsOnTypes.33") [Comb FuncCall ("Prelude","map") [Comb FuncCall ("FlatCurryGoodies","typeName") [],Var 1]],Var 2]) [Branch (Pattern ("Prelude","(,)") [3,4]) (Case Rigid (Var 3) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","(,)") [Var 1,Var 4]),Branch (Pattern ("Prelude",":") [5,6]) (Comb FuncCall ("Transform","transProg.fixDependence.33") [Comb FuncCall ("Prelude","++") [Var 1,Comb ConsCall ("Prelude",":") [Var 5,Var 6]],Var 4])])])),Func ("Transform","transProg.isTrType.33") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","$") [Comb FuncCall ("Prelude","elem") [Var 2],Comb FuncCall ("Prelude","map") [Comb FuncCall ("FlatCurryGoodies","typeName") [],Var 1]])),Func ("Transform","transProg.isTrCons.33") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","$") [Comb FuncCall ("Prelude","elem") [Var 2],Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Prelude","map") [Comb FuncCall ("FlatCurryGoodies","consName") []],Comb FuncCall ("Prelude","$") [Comb FuncCall ("Prelude","concatMap") [Comb FuncCall ("FlatCurryGoodies","typeConsDecls") []],Comb FuncCall ("Prelude","filter") [Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","not") [],Comb FuncCall ("FlatCurryGoodies","isTypeSyn") []],Var 1]]]])),Func ("Transform","transProg._#lambda15") 2 Private (FuncType (TCons ("FlatCurry","Prog") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (Rule [1,2] (Comb ConsCall ("Prelude",":") [Comb FuncCall ("Wrapper","eventMod") [],Comb ConsCall ("Prelude",":") [Comb FuncCall ("Wrapper","oracle") [],Comb ConsCall ("Prelude",":") [Comb FuncCall ("Wrapper","ioexts") [],Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","progName") [],Var 1],Comb FuncCall ("Prelude","++") [Var 2,Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("Wrapper","newModName") [],Var 2]]]]]])),Func ("Transform","hasHOTypeArg") 0 Public (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("Prelude","Bool") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trType") [Comb (FuncPartCall 4) ("Transform","hasHOTypeArg._#lambda16") [],Comb (FuncPartCall 4) ("Transform","hasHOTypeArg._#lambda17") []])),Func ("Transform","hasHOTypeArg._#lambda16") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (TCons ("Prelude","Bool") []))))) (Rule [1,2,3,4] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","any") [Comb FuncCall ("FlatCurryGoodies","isFuncType") []],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","concatMap") [Comb FuncCall ("FlatCurryGoodies","consArgs") []],Var 4]])),Func ("Transform","hasHOTypeArg._#lambda17") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") []))))) (Rule [1,2,3,4] (Comb ConsCall ("Prelude","False") [])),Func ("Transform","transType") 2 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","TypeDecl") []))) (Rule [1,2] (Case Rigid (Comb FuncCall ("Prelude","apply") [Var 1,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","typeName") [],Var 2]]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","$") [Comb FuncCall ("FlatCurryGoodies","updTypeName") [Comb (FuncPartCall 1) ("Wrapper","newModNameQ") []],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","updTypeConsDecls") [Comb (FuncPartCall 1) ("Prelude","map") [Comb FuncCall ("FlatCurryGoodies","updCons") [Comb (FuncPartCall 1) ("Wrapper","newModNameQ") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","map") [Comb (FuncPartCall 1) ("Transform","rType") [Var 1]]]]],Var 2]]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Var 2),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])),Func ("Transform","when") 3 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","Bool") [])) (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TVar 0)))) (Rule [1,2,3] (Case Rigid (Comb FuncCall ("Prelude","apply") [Var 1,Var 3]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","apply") [Var 2,Var 3]),Branch (Pattern ("Prelude","False") []) (Var 3)])),Func ("Transform","rType") 2 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("FlatCurry","TVar") [3]) (Var 2),Branch (Pattern ("FlatCurry","TCons") [4,5]) (Comb ConsCall ("FlatCurry","TCons") [Comb FuncCall ("Transform","when") [Var 1,Comb (FuncPartCall 1) ("Wrapper","newModNameQ") [],Var 4],Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("Transform","rType") [Var 1],Var 5]]),Branch (Pattern ("FlatCurry","FuncType") [6,7]) (Comb ConsCall ("FlatCurry","FuncType") [Comb FuncCall ("Wrapper","tRef") [],Comb ConsCall ("FlatCurry","FuncType") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","updQNamesInTypeExpr") [Comb (FuncPartCall 1) ("Transform","when") [Var 1,Comb (FuncPartCall 1) ("Wrapper","newModNameQ") []]],Comb FuncCall ("Transform","rType") [Var 1,Var 6]],Comb FuncCall ("Transform","rType") [Var 1,Var 7]]])])),Func ("Transform","transFunc") 3 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("FlatCurry","Func") [4,5,6,7,8]) (Let [(9,Comb FuncCall ("FlatCurryGoodies","resultType") [Var 7])] (Let [(10,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","allVarsInFunc") [],Var 3])] (Let [(11,Case Rigid (Comb FuncCall ("Prelude","null") [Var 10]) [Branch (Pattern ("Prelude","True") []) (Lit (Intc 2)),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","+") [Comb FuncCall ("Integer","maxlist") [Var 10],Lit (Intc 1)])])] (Let [(12,Comb FuncCall ("Prelude","enumFromTo") [Lit (Intc 1),Comb FuncCall ("Prelude","+") [Var 5,Lit (Intc 1)]])] (Let [(13,Comb FuncCall ("Wrapper","newModNameQ") [Var 4])] (Let [(14,Comb (FuncPartCall 1) ("FlatCurryGoodies","trExpr") [Comb (FuncPartCall 1) ("Prelude","const") [Comb ConsCall ("Prelude","False") []],Comb (FuncPartCall 1) ("Prelude","const") [Comb ConsCall ("Prelude","True") []],Comb (FuncPartCall 3) ("Transform","transFunc._#lambda19") [],Comb (FuncPartCall 2) ("Transform","transFunc._#lambda20") [],Comb (FuncPartCall 2) ("Transform","transFunc._#lambda21") [],Comb (FuncPartCall 2) ("Prelude","&&") [],Comb (FuncPartCall 3) ("Transform","transFunc._#lambda22") [],Comb (FuncPartCall 2) ("Transform","transFunc._#lambda23") []])] (Case Rigid (Comb FuncCall ("Prelude","||") [Comb FuncCall ("Prelude","==") [Var 4,Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude",":") [Lit (Charc 'G'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'b'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude","[]") []]]]]]],Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'b'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude","[]") []]]]]]]]],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","elem") [Var 4],Comb FuncCall ("Wrapper","implementedInOracle") []]]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","&&") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","isExternal") [],Var 3],Comb FuncCall ("Transform","transFunc.isIO.89") [Var 9]]) [Branch (Pattern ("Prelude","True") []) (Let [(15,Case Rigid (Comb FuncCall ("Transform","transFunc.isComplexIO.89") [Var 4,Var 9]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Wrapper","extIO") [Comb FuncCall ("Wrapper","safeIOResult") [Comb FuncCall ("Transform","transFunc.extCall.89") [Var 4,Var 5]]]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Wrapper","extIO") [Comb FuncCall ("Transform","transFunc.extCall.89") [Var 4,Var 5]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])] (Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","$") [Comb (ConsPartCall 1) ("FlatCurry","Func") [Var 13,Var 5,Var 6,Comb FuncCall ("Transform","transFuncType") [Comb FuncCall ("Prelude","-") [Var 5,Lit (Intc 1)],Var 1,Var 7]],Comb FuncCall ("Prelude","$") [Comb (ConsPartCall 1) ("FlatCurry","Rule") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","reverse") [],Comb FuncCall ("Prelude","enumFromTo") [Lit (Intc 1),Var 5]]],Comb FuncCall ("Wrapper","collapse") [Comb FuncCall ("Wrapper","ref") [],Var 15]]],Comb ConsCall ("Prelude","[]") []])),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","isExternal") [],Var 3]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","$") [Comb (ConsPartCall 1) ("FlatCurry","Func") [Var 13,Comb FuncCall ("Prelude","+") [Var 5,Lit (Intc 1)],Var 6,Comb FuncCall ("Transform","transFuncType") [Var 5,Var 1,Var 7]],Comb FuncCall ("Prelude","$") [Comb (ConsPartCall 1) ("FlatCurry","Rule") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","reverse") [],Var 12]],Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Wrapper","collapse") [Comb FuncCall ("Wrapper","ref") []],Comb FuncCall ("Transform","transFunc.extCall.89") [Var 4,Comb FuncCall ("Prelude","+") [Var 5,Lit (Intc 1)]]]]],Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Transform","transFunc.isGlobal.89") [Var 3]) [Branch (Pattern ("Prelude","True") []) (Case Rigid (Comb FuncCall ("Prelude","apply") [Var 14,Comb FuncCall ("Prelude","head") [Comb FuncCall ("FlatCurryGoodies","combArgs") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","funcBody") [],Var 3]]]]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","$") [Comb (ConsPartCall 1) ("FlatCurry","Func") [Var 13,Comb FuncCall ("Prelude","+") [Var 5,Lit (Intc 1)],Var 6,Comb FuncCall ("Transform","transFuncType") [Var 5,Var 1,Var 7]],Comb FuncCall ("Prelude","$") [Comb (ConsPartCall 1) ("FlatCurry","Rule") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","reverse") [],Var 12]],Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Wrapper","collapse") [Comb FuncCall ("Wrapper","ref") []],Comb FuncCall ("Transform","transFunc.extCall.89") [Var 4,Comb FuncCall ("Prelude","+") [Var 5,Lit (Intc 1)]]]]],Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","error") [Comb FuncCall ("Prelude","++") [Comb FuncCall ("Prelude","fst") [Var 4],Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb FuncCall ("Prelude","++") [Comb FuncCall ("Prelude","snd") [Var 4],Comb ConsCall ("Prelude",":") [Lit (Charc ':'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'b'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'z'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'w'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'v'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'x'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc '\n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'b'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc ':'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'm'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'v'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]])]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Case Rigid (Comb FuncCall ("Transform","transExpr") [Var 2,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","funcBody") [],Var 3],Var 11]) [Branch (Pattern ("Prelude","Right") [16]) (Case Rigid (Var 16) [Branch (Pattern ("Prelude","(,,)") [17,18,19]) (Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","updFunc") [Comb (FuncPartCall 1) ("Wrapper","newModNameQ") [],Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","+") [],Lit (Intc 1)],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Transform","transFuncType") [Var 5,Var 1],Comb FuncCall ("FlatCurryGoodies","updRule") [Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","++") [],Comb ConsCall ("Prelude",":") [Lit (Intc 1),Comb ConsCall ("Prelude","[]") []]],Comb (FuncPartCall 1) ("Prelude","const") [Comb FuncCall ("Wrapper","event") [Var 17,Comb FuncCall ("Wrapper","ref") [],Var 18,Var 19]],Comb (FuncPartCall 1) ("Prelude","id") []]],Var 3],Comb ConsCall ("Prelude","[]") []])]),Branch (Pattern ("Prelude","Left") [20]) (Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","$") [Comb (ConsPartCall 1) ("FlatCurry","Func") [Var 13,Comb FuncCall ("Prelude","+") [Var 5,Lit (Intc 1)],Var 6,Comb FuncCall ("Transform","transFuncType") [Var 5,Var 1,Var 7]],Comb FuncCall ("Prelude","$") [Comb (ConsPartCall 1) ("FlatCurry","Rule") [Var 12],Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Wrapper","errorCall") [],Comb FuncCall ("Prelude","++") [Comb FuncCall ("Prelude","fst") [Var 13],Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb FuncCall ("Prelude","++") [Comb FuncCall ("Prelude","snd") [Var 13],Comb ConsCall ("Prelude",":") [Lit (Charc ':'),Var 20]]]]]]],Comb ConsCall ("Prelude","[]") []])]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])])])))))))])),Func ("Transform","transFunc.isIO.89") 1 Private (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb FuncCall ("Prelude","&&") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","isTCons") [],Var 1],Comb FuncCall ("Prelude","==") [Comb FuncCall ("FlatCurryGoodies","tConsName") [Var 1],Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","prelude") [],Comb ConsCall ("Prelude",":") [Lit (Charc 'I'),Comb ConsCall ("Prelude",":") [Lit (Charc 'O'),Comb ConsCall ("Prelude","[]") []]]]]])),Func ("Transform","transFunc.isComplexIO.89") 2 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("FlatCurry","TVar") [3]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","TCons") [4,5]) (Comb FuncCall ("Prelude","&&") [Comb FuncCall ("Prelude","/=") [Var 5,Comb ConsCall ("Prelude",":") [Comb ConsCall ("FlatCurry","TCons") [Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","prelude") [],Comb ConsCall ("Prelude",":") [Lit (Charc '('),Comb ConsCall ("Prelude",":") [Lit (Charc ')'),Comb ConsCall ("Prelude","[]") []]]],Comb ConsCall ("Prelude","[]") []],Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("Prelude","not") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","elem") [Var 1],Comb FuncCall ("Wrapper","specialIOs") []]]])])),Func ("Transform","transFunc.isGlobal.89") 1 Private (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","funcBody") [],Var 1]) [Branch (Pattern ("FlatCurry","Comb") [2,3,4]) (Case Rigid (Var 2) [Branch (Pattern ("FlatCurry","FuncCall") []) (Case Rigid (Var 4) [Branch (Pattern ("Prelude",":") [5,6]) (Case Rigid (Var 6) [Branch (Pattern ("Prelude",":") [7,8]) (Case Rigid (Var 8) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("Prelude","==") [Var 3,Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude",":") [Lit (Charc 'G'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'b'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude","[]") []]]]]]],Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'b'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude","[]") []]]]]]]]]),Branch (Pattern ("Prelude",":") [9,10]) (Comb ConsCall ("Prelude","False") [])]),Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","False") [])]),Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","False") [])]),Branch (Pattern ("FlatCurry","ConsCall") []) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","FuncPartCall") [11]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","ConsPartCall") [12]) (Comb ConsCall ("Prelude","False") [])]),Branch (Pattern ("FlatCurry","Var") [13]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Lit") [14]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Let") [15,16]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Free") [17,18]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Or") [19,20]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Case") [21,22,23]) (Comb ConsCall ("Prelude","False") [])])),Func ("Transform","transFunc.extCall.89") 2 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (TCons ("FlatCurry","Expr") []))) (Rule [1,2] (Comb ConsCall ("FlatCurry","Comb") [Comb ConsCall ("FlatCurry","FuncCall") [],Var 1,Comb FuncCall ("Prelude","map") [Comb (ConsPartCall 1) ("FlatCurry","Var") [],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","reverse") [],Comb FuncCall ("Prelude","tail") [Comb FuncCall ("Prelude","enumFromTo") [Lit (Intc 1),Var 2]]]]])),Func ("Transform","transFunc._#lambda19") 3 Private (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Bool") []]) (TCons ("Prelude","Bool") [])))) (Rule [1,2,3] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","and") [],Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","isCombTypeConsCall") [],Var 1],Var 3]])),Func ("Transform","transFunc._#lambda20") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("Prelude","Bool") []]]) (FuncType (TCons ("Prelude","Bool") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","and") [],Comb ConsCall ("Prelude",":") [Var 2,Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("Prelude","snd") [],Var 1]]])),Func ("Transform","transFunc._#lambda21") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","Bool") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Var 2)),Func ("Transform","transFunc._#lambda22") 3 Private (FuncType (TCons ("FlatCurry","CaseType") []) (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Bool") []]) (TCons ("Prelude","Bool") [])))) (Rule [1,2,3] (Comb ConsCall ("Prelude","False") [])),Func ("Transform","transFunc._#lambda23") 2 Private (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (TCons ("Prelude","Bool") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb ConsCall ("Prelude","False") [])),Func ("Transform","transFuncType") 3 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") [])))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("FlatCurry","TVar") [4]) (Case Rigid (Comb FuncCall ("Prelude","||") [Comb FuncCall ("Prelude","==") [Var 4,Comb FuncCall ("Prelude","negate") [Lit (Intc 42)]],Comb FuncCall ("Prelude","/=") [Var 1,Lit (Intc 0)]]) [Branch (Pattern ("Prelude","True") []) (Var 3),Branch (Pattern ("Prelude","False") []) (Comb ConsCall ("FlatCurry","FuncType") [Comb FuncCall ("Wrapper","tRef") [],Comb FuncCall ("Transform","rType") [Var 2,Var 3]])]),Branch (Pattern ("FlatCurry","TCons") [5,6]) (Case Flex (Var 1) [Branch (LPattern (Intc 0)) (Comb ConsCall ("FlatCurry","FuncType") [Comb FuncCall ("Wrapper","tRef") [],Comb FuncCall ("Transform","rType") [Var 2,Var 3]])]),Branch (Pattern ("FlatCurry","FuncType") [7,8]) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 1,Lit (Intc 0)]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("FlatCurry","FuncType") [Comb FuncCall ("Wrapper","tRef") [],Comb FuncCall ("Transform","rType") [Var 2,Var 3]]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("FlatCurry","FuncType") [Comb FuncCall ("Transform","rType") [Var 2,Var 7],Comb FuncCall ("Transform","transFuncType") [Comb FuncCall ("Prelude","-") [Var 1,Lit (Intc 1)],Var 2,Var 8]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])),Func ("Transform","transExpr") 3 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,)") [TCons ("Prelude","[]") [TCons ("Prelude","Int") []],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],TCons ("FlatCurry","Expr") []]])))) (Rule [1,2,3] (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","trExpr") [Comb (FuncPartCall 1) ("Transform","var") [],Comb (FuncPartCall 1) ("Transform","lit") [],Comb (FuncPartCall 3) ("Transform","comb") [],Comb (FuncPartCall 2) ("Transform","leT") [],Comb (FuncPartCall 2) ("Transform","freE") [],Comb (FuncPartCall 2) ("Transform","oR") [],Comb (FuncPartCall 3) ("Transform","casE") [],Comb (FuncPartCall 6) ("Transform","branch") [],Var 2],Var 1],Var 3],Comb ConsCall ("Prelude",":") [Comb FuncCall ("Wrapper","ref") [],Comb ConsCall ("Prelude","[]") []]]) [Branch (Pattern ("Prelude","Right") [4]) (Case Rigid (Var 4) [Branch (Pattern ("Prelude","(,,,)") [5,6,7,8]) (Comb ConsCall ("Prelude","Right") [Comb ConsCall ("Prelude","(,,)") [Var 6,Comb FuncCall ("Prelude","apply") [Var 7,Comb ConsCall ("Prelude","[]") []],Var 8]])]),Branch (Pattern ("Prelude","Left") [9]) (Comb ConsCall ("Prelude","Left") [Var 9])])),Func ("Transform","ret") 4 Public (FuncType (TVar 0) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TVar 0]]))))) (Rule [1,2,3,4] (Comb ConsCall ("Prelude","Right") [Comb ConsCall ("Prelude","(,,,)") [Var 3,Var 4,Comb (FuncPartCall 1) ("Prelude","id") [],Var 1]])),Func ("Transform",".>>=") 5 Public (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TVar 0]])))) (FuncType (FuncType (TVar 0) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TVar 1]]))))) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TVar 1]])))))) (Rule [1,2,3,4,5] (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Var 4],Var 5]) [Branch (Pattern ("Prelude","Right") [6]) (Case Rigid (Var 6) [Branch (Pattern ("Prelude","(,,,)") [7,8,9,10]) (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 2,Var 10],Var 3],Var 7],Var 8]) [Branch (Pattern ("Prelude","Right") [11]) (Case Rigid (Var 11) [Branch (Pattern ("Prelude","(,,,)") [12,13,14,15]) (Comb ConsCall ("Prelude","Right") [Comb ConsCall ("Prelude","(,,,)") [Var 12,Var 13,Comb FuncCall ("Prelude",".") [Var 9,Var 14],Var 15]])]),Branch (Pattern ("Prelude","Left") [16]) (Comb ConsCall ("Prelude","Left") [Var 16])])]),Branch (Pattern ("Prelude","Left") [17]) (Comb ConsCall ("Prelude","Left") [Var 17])])),Func ("Transform","sequence") 1 Public (FuncType (TCons ("Prelude","[]") [FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TVar 0]])))]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("Prelude","[]") [TVar 0]]]))))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Comb (FuncPartCall 3) ("Transform","ret") [Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude",":") [2,3]) (Comb (FuncPartCall 3) ("Transform",".>>=") [Var 2,Comb (FuncPartCall 1) ("Transform","sequence._#lambda28") [Var 3]])])),Func ("Transform","sequence._#lambda28") 2 Private (FuncType (TCons ("Prelude","[]") [FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TVar 149]])))]) (FuncType (TVar 149) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("Prelude","[]") [TVar 149]]])))))) (Rule [1,2] (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb FuncCall ("Transform","sequence") [Var 1],Comb (FuncPartCall 1) ("Transform","sequence._#lambda28._#lambda29") [Var 2]])),Func ("Transform","sequence._#lambda28._#lambda29") 2 Private (FuncType (TVar 149) (FuncType (TCons ("Prelude","[]") [TVar 149]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("Prelude","[]") [TVar 149]]])))))) (Rule [1,2] (Comb (FuncPartCall 3) ("Transform","ret") [Comb ConsCall ("Prelude",":") [Var 1,Var 2]])),Func ("Transform","nextRef") 3 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("Prelude","Int") []]])))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","Right") [Comb ConsCall ("Prelude","(,,,)") [Comb FuncCall ("Prelude","+") [Var 2,Lit (Intc 1)],Comb ConsCall ("Prelude","[]") [],Comb (ConsPartCall 1) ("Prelude",":") [Var 2],Var 2]]),Branch (Pattern ("Prelude",":") [4,5]) (Comb ConsCall ("Prelude","Right") [Comb ConsCall ("Prelude","(,,,)") [Var 2,Var 5,Comb (FuncPartCall 1) ("Prelude","id") [],Var 4]])])),Func ("Transform","renameCons") 2 Public (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]]]))))) (Rule [1,2] (Comb (FuncPartCall 2) ("Transform","ret") [Comb FuncCall ("Transform","when") [Var 2,Comb (FuncPartCall 1) ("Wrapper","newModNameQ") [],Var 1],Var 2])),Func ("Transform","var") 1 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))) (Rule [1] (Comb (FuncPartCall 3) ("Transform","ret") [Comb ConsCall ("FlatCurry","Var") [Var 1]])),Func ("Transform","lit") 1 Public (FuncType (TCons ("FlatCurry","Literal") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))) (Rule [1] (Comb (FuncPartCall 3) ("Transform","ret") [Comb ConsCall ("FlatCurry","Lit") [Var 1]])),Func ("Transform","comb") 3 Public (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [1,2,3] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","ConsCall") []) (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb FuncCall ("Transform","sequence") [Var 3],Comb (FuncPartCall 1) ("Transform","comb._#lambda30") [Var 1,Var 2]]),Branch (Pattern ("FlatCurry","ConsPartCall") [4]) (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb FuncCall ("Transform","sequence") [Var 3],Comb (FuncPartCall 1) ("Transform","comb._#lambda32") [Var 1,Var 4,Var 2]]),Branch (Pattern ("FlatCurry","FuncCall") []) (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb FuncCall ("Transform","sequence") [Var 3],Comb (FuncPartCall 1) ("Transform","comb._#lambda34") [Var 1,Var 2]]),Branch (Pattern ("FlatCurry","FuncPartCall") [5]) (Let [(6,Comb (ConsPartCall 2) ("FlatCurry","Comb") [Comb ConsCall ("FlatCurry","FuncPartCall") [Comb FuncCall ("Prelude","+") [Var 5,Lit (Intc 1)]]])] (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb FuncCall ("Transform","sequence") [Var 3],Comb (FuncPartCall 1) ("Transform","comb._#lambda36") [Var 5,Var 2,Var 6]]))])),Func ("Transform","comb._#lambda30") 3 Private (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [1,2,3] (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb (FuncPartCall 1) ("Transform","renameCons") [Var 2],Comb (FuncPartCall 1) ("Transform","comb._#lambda30._#lambda31") [Var 3,Var 1]])),Func ("Transform","comb._#lambda30._#lambda31") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [1,2,3] (Comb (FuncPartCall 3) ("Transform","ret") [Comb ConsCall ("FlatCurry","Comb") [Var 2,Var 3,Var 1]])),Func ("Transform","comb._#lambda32") 4 Private (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))))) (Rule [1,2,3,4] (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb (FuncPartCall 1) ("Transform","renameCons") [Var 3],Comb (FuncPartCall 1) ("Transform","comb._#lambda32._#lambda33") [Var 4,Var 1,Var 2]])),Func ("Transform","comb._#lambda32._#lambda33") 4 Private (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))))) (Rule [1,2,3,4] (Comb (FuncPartCall 3) ("Transform","ret") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","partCons") [],Var 3],Comb ConsCall ("FlatCurry","Comb") [Var 2,Var 4,Var 1]]])),Func ("Transform","comb._#lambda34") 3 Private (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [1,2,3] (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb (FuncPartCall 3) ("Transform","nextRef") [],Comb (FuncPartCall 1) ("Transform","comb._#lambda34._#lambda35") [Var 3,Var 1,Var 2]])),Func ("Transform","comb._#lambda34._#lambda35") 4 Private (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))))) (Rule [1,2,3,4] (Let [(5,Comb FuncCall ("Prelude","++") [Var 1,Comb ConsCall ("Prelude",":") [Comb ConsCall ("FlatCurry","Var") [Var 4],Comb ConsCall ("Prelude","[]") []]])] (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","elem") [Var 3],Comb FuncCall ("Wrapper","implementedInOracle") []]) [Branch (Pattern ("Prelude","True") []) (Comb (FuncPartCall 3) ("Transform","ret") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","inOraclePartCall") [Comb FuncCall ("Prelude","snd") [Var 3]],Var 5]]),Branch (Pattern ("Prelude","False") []) (Comb (FuncPartCall 3) ("Transform","ret") [Comb ConsCall ("FlatCurry","Comb") [Var 2,Comb FuncCall ("Wrapper","newModNameQ") [Var 3],Var 5]])]))),Func ("Transform","comb._#lambda36") 4 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") []))) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))))) (Rule [1,2,3,4] (Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 4) ("Transform","ret") [],Comb FuncCall ("Prelude","$") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","partFunc") [],Var 1],Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","elem") [Var 2],Comb FuncCall ("Wrapper","implementedInOracle") []]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","inOraclePartCall") [Comb FuncCall ("Prelude","snd") [Var 2]],Var 4]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 3,Comb FuncCall ("Wrapper","newModNameQ") [Var 2]],Var 4])]]])),Func ("Transform","leT") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))]]) (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))) (Rule [1,2] (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb FuncCall ("Transform","sequence") [Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("Prelude","snd") [],Var 1]],Comb (FuncPartCall 1) ("Transform","leT._#lambda37") [Var 1,Var 2]])),Func ("Transform","leT._#lambda37") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))]]) (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [1,2,3] (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb (FuncPartCall 3) ("Transform","nextRef") [],Comb (FuncPartCall 4) ("Transform","leT._#lambda37._#lambda38") [Var 3,Var 1,Var 2]])),Func ("Transform","leT._#lambda37._#lambda38") 7 Private (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))]]) (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TVar 150]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TVar 151],FuncType (TVar 152) (TVar 152),TCons ("FlatCurry","Expr") []]])))))))) (Rule [1,2,3,4,5,6,7] (Case Flex (Var 7) [Branch (Pattern ("Prelude","[]") []) (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 3,Var 5],Var 6],Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []]]) [Branch (Pattern ("Prelude","Right") [8]) (Case Rigid (Var 8) [Branch (Pattern ("Prelude","(,,,)") [9,10,11,12]) (Let [(13,Comb FuncCall ("Prelude","zip") [Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("Prelude","fst") [],Var 2],Var 1])] (Comb ConsCall ("Prelude","Right") [Comb ConsCall ("Prelude","(,,,)") [Var 9,Comb ConsCall ("Prelude","[]") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb ConsCall ("FlatCurry","Let") [Var 13,Comb FuncCall ("Wrapper","event") [Var 10,Var 4,Comb FuncCall ("Prelude","apply") [Var 11,Comb ConsCall ("Prelude","[]") []],Var 12]]]]))]),Branch (Pattern ("Prelude","Left") [14]) (Comb ConsCall ("Prelude","Left") [Var 14])])])),Func ("Transform","freE") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))) (Rule [1,2] (Let [(3,Comb (FuncPartCall 3) ("Transform",".>>=") [Comb (FuncPartCall 3) ("Transform","nextRef") [],Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 4) ("Transform","ret") [],Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Wrapper","unknown") [],Comb (ConsPartCall 1) ("FlatCurry","Var") []]]])] (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb FuncCall ("Transform","sequence") [Comb FuncCall ("Prelude","replicate") [Comb FuncCall ("Prelude","length") [Var 1],Var 3]],Comb (FuncPartCall 1) ("Transform","freE._#lambda40") [Var 2,Var 1]]))),Func ("Transform","freE._#lambda40") 3 Private (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [1,2,3] (Comb (FuncPartCall 3) ("Transform",".>>=") [Var 1,Comb (FuncPartCall 1) ("Transform","freE._#lambda40._#lambda41") [Var 3,Var 2]])),Func ("Transform","freE._#lambda40._#lambda41") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [1,2,3] (Comb (FuncPartCall 3) ("Transform","ret") [Comb ConsCall ("FlatCurry","Let") [Comb FuncCall ("Prelude","zip") [Var 2,Var 1],Var 3]])),Func ("Transform","oR") 2 Public (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))) (Rule [1,2] (Comb (FuncPartCall 3) ("Transform",".>>=") [Var 1,Comb (FuncPartCall 1) ("Transform","oR._#lambda42") [Var 2]])),Func ("Transform","oR._#lambda42") 2 Private (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))) (Rule [1,2] (Comb (FuncPartCall 3) ("Transform",".>>=") [Var 1,Comb (FuncPartCall 1) ("Transform","oR._#lambda42._#lambda43") [Var 2]])),Func ("Transform","oR._#lambda42._#lambda43") 2 Private (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))) (Rule [1,2] (Comb (FuncPartCall 3) ("Transform","ret") [Comb ConsCall ("FlatCurry","Or") [Var 1,Var 2]])),Func ("Transform","casE") 3 Public (FuncType (TCons ("FlatCurry","CaseType") []) (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (TCons ("Prelude","[]") [FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","BranchExpr") []]]))))]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [1,2,3] (Comb (FuncPartCall 3) ("Transform",".>>=") [Var 2,Comb (FuncPartCall 1) ("Transform","casE._#lambda44") [Var 1,Var 3]])),Func ("Transform","casE._#lambda44") 3 Private (FuncType (TCons ("FlatCurry","CaseType") []) (FuncType (TCons ("Prelude","[]") [FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","BranchExpr") []]]))))]) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [1,2,3] (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb (FuncPartCall 3) ("Transform","nextRef") [],Comb (FuncPartCall 1) ("Transform","casE._#lambda44._#lambda45") [Var 1,Var 3,Var 2]])),Func ("Transform","casE._#lambda44._#lambda45") 4 Private (FuncType (TCons ("FlatCurry","CaseType") []) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("Prelude","[]") [FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","BranchExpr") []]]))))]) (FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))))) (Rule [1,2,3,4] (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb FuncCall ("Transform","sequence") [Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","$") [],Var 4],Var 3]],Comb (FuncPartCall 1) ("Transform","casE._#lambda44._#lambda45._#lambda46") [Var 1,Var 2]])),Func ("Transform","casE._#lambda44._#lambda45._#lambda46") 3 Private (FuncType (TCons ("FlatCurry","CaseType") []) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [1,2,3] (Comb (FuncPartCall 3) ("Transform","ret") [Comb ConsCall ("FlatCurry","Case") [Var 1,Var 2,Var 3]])),Func ("Transform","branch") 6 Public (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","BranchExpr") []]]))))))) (Rule [1,2,3,4,5,6] (Case Flex (Var 6) [Branch (Pattern ("Prelude","[]") []) (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 2,Var 4],Var 5],Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []]]) [Branch (Pattern ("Prelude","Right") [7]) (Case Rigid (Var 7) [Branch (Pattern ("Prelude","(,,,)") [8,9,10,11]) (Comb ConsCall ("Prelude","Right") [Comb ConsCall ("Prelude","(,,,)") [Var 8,Comb ConsCall ("Prelude","[]") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb ConsCall ("FlatCurry","Branch") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","updPatCons") [Comb (FuncPartCall 1) ("Transform","when") [Var 4,Comb (FuncPartCall 1) ("Wrapper","newModNameQ") []]],Var 1],Comb FuncCall ("Wrapper","event") [Var 9,Var 3,Comb FuncCall ("Prelude","apply") [Var 10,Comb ConsCall ("Prelude","[]") []],Var 11]]]])]),Branch (Pattern ("Prelude","Left") [12]) (Comb ConsCall ("Prelude","Left") [Var 12])])]))] []
+ Curry/Module/Transform.fint view
@@ -0,0 +1,1 @@+Prog "Transform" ["AddWorld","Directory","Distribution","FlatCurry","FlatCurryGoodies","Integer","LiftCases","List","Make","Maybe","Prelude","ReadShowTerm","Wrapper","System"] [TypeSyn ("Transform","Options") Public [] (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])),TypeSyn ("Transform","T") Public [0] (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TVar 0]]))))] [Func ("Transform","main") 0 Public (TCons ("Prelude","IO") [TCons ("Prelude","()") []]) (Rule [] (Var 0)),Func ("Transform","mayCreateDirectory") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [] (Var 0)),Func ("Transform","transform") 5 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))) (Rule [] (Var 0)),Func ("Transform","writeTrans") 4 Public (FuncType (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]))))) (Rule [] (Var 0)),Func ("Transform","transProg") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []],TCons ("FlatCurry","Prog") []]))) (Rule [] (Var 0)),Func ("Transform","hasHOTypeArg") 0 Public (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("Prelude","Bool") [])) (Rule [] (Var 0)),Func ("Transform","transType") 2 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","TypeDecl") []))) (Rule [] (Var 0)),Func ("Transform","when") 3 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","Bool") [])) (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TVar 0)))) (Rule [] (Var 0)),Func ("Transform","rType") 2 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))) (Rule [] (Var 0)),Func ("Transform","transFunc") 3 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])))) (Rule [] (Var 0)),Func ("Transform","transFuncType") 3 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") [])))) (Rule [] (Var 0)),Func ("Transform","transExpr") 3 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,)") [TCons ("Prelude","[]") [TCons ("Prelude","Int") []],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],TCons ("FlatCurry","Expr") []]])))) (Rule [] (Var 0)),Func ("Transform","ret") 4 Public (FuncType (TVar 0) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TVar 0]]))))) (Rule [] (Var 0)),Func ("Transform",".>>=") 5 Public (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TVar 0]])))) (FuncType (FuncType (TVar 0) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TVar 1]]))))) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TVar 1]])))))) (Rule [] (Var 0)),Func ("Transform","sequence") 1 Public (FuncType (TCons ("Prelude","[]") [FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TVar 0]])))]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("Prelude","[]") [TVar 0]]]))))) (Rule [] (Var 0)),Func ("Transform","nextRef") 3 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("Prelude","Int") []]])))) (Rule [] (Var 0)),Func ("Transform","renameCons") 2 Public (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]]]))))) (Rule [] (Var 0)),Func ("Transform","var") 1 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))) (Rule [] (Var 0)),Func ("Transform","lit") 1 Public (FuncType (TCons ("FlatCurry","Literal") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))) (Rule [] (Var 0)),Func ("Transform","comb") 3 Public (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [] (Var 0)),Func ("Transform","leT") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))]]) (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))) (Rule [] (Var 0)),Func ("Transform","freE") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))) (Rule [] (Var 0)),Func ("Transform","oR") 2 Public (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))) (Rule [] (Var 0)),Func ("Transform","casE") 3 Public (FuncType (TCons ("FlatCurry","CaseType") []) (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (TCons ("Prelude","[]") [FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","BranchExpr") []]]))))]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [] (Var 0)),Func ("Transform","branch") 6 Public (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","BranchExpr") []]]))))))) (Rule [] (Var 0))] []
+ Curry/Module/Wrapper.curry view
@@ -0,0 +1,124 @@+--- Provides wrapper functions for the program transformation.+---+--- @version Feb, 2007+---+module Wrapper where++import FlatCurry+import FileGoodies (separatorChar,splitDirectoryBaseName)++prelude = "Prelude"+eventMod= "CEventOracle"+oracle = "Oracle"+ioexts = "IOExts"++newModName s = let (d,f) = splitDirectoryBaseName s in+ (case d of "." -> ""; _ -> d++[separatorChar])++oracle++f+newModNameQ (m,n) = (newModName m,n)++tRef = TCons (eventMod,"Ref") []+tR = FuncType tRef+++lET bs expr = if null bs then expr else Let bs expr++ref :: VarIndex+ref = 1++flatFunc = Comb FuncCall+flatCons = Comb ConsCall++func name = flatFunc (eventMod,name) ++list = foldr colon nil++char = Lit . Charc++string = list . map char++nil = flatCons (prelude,"[]") []+colon x xs = flatCons (prelude,":") [x,xs]++run mod x = func "run" [string mod, x]++event [] r rs x = unfold r rs x+event (_:_) r _ x = collapse r x++collapse r x = func "collapse" [Var r, x]++closeRef r x = func "closeRef" [Var r, x]++extIO x = listFunc 3 (oracle,"lambda_world") [x]++unfold r rs x+ = if null rs then replace r x+ else lET (zip rs (repeat fresh)) (expand r rs x)++replace r x = func "replace" [Var r, x]+expand r rs x = func "expand" [Var r, list (map Var rs), x]++fresh = func "fresh" [unit]+unit = Comb ConsCall (prelude,"()") []++apply f x + = case f of+ Comb (FuncPartCall 1) name args+ -> Comb FuncCall name (args++[x])+ Comb (FuncPartCall n) name args+ -> Comb (FuncPartCall (n-1)) name (args++[x])+ Comb (ConsPartCall 1) name args+ -> Comb ConsCall name (args++[x])+ Comb (ConsPartCall n) name args+ -> Comb (ConsPartCall (n-1)) name (args++[x])+ _ -> flatFunc (prelude,"apply") [f,x]++listFunc n name args+ | missing == 0 = Comb FuncCall name args+ | otherwise = Comb (FuncPartCall missing) name args+ where+ missing = n - length args+++compose = listFunc 3 (oracle,"compose")+unknown e = listFunc 1 (oracle,"unknown") [e]++oracleTry :: QName -> [Expr] -> Expr+oracleTry name targs = + func "oracleTry" (Comb (FuncPartCall 2) name argsf : argst)+ where+ (argsf,argst) = splitAt (length targs - 2) targs++partCons,partFunc :: Int -> Expr -> Expr+partCons = apply . partial pc+partFunc = apply . partial pf++pc = listFunc 3 (oracle,"partCons")+pf = listFunc 3 (oracle,"partFunc")+partCall = listFunc 2 (oracle,"partCall")++partial :: ([Expr] -> Expr) -> Int -> Expr+partial part n+ = foldr1 (\f g -> compose [f,g])+ . map (\ (k,p) -> dotted (k-1) (p [])) + $ reverse (zip (reverse [1..n]) (part:repeat partCall))++dotted n p+ | n == 0 = p+ | otherwise = dotted (n-1) (compose [p])++inOraclePartCall name = listFunc (arityInOracle name) (oracle,name)++errorCall x = Comb FuncCall (prelude,"error") [string x]++safeIOResult act = listFunc 1 (oracle,"safeIOResult") [act]++specialIOs = zip (repeat prelude) ["return","catchFail","getSearchTree"]++implementedInOracle = ("Unsafe","prim_unsafePerformIO") : ("Meta","headNormalFormIO") : + zip (repeat prelude) ["apply","$!","$!!","$#","$##",">>=","catchFail"]+arityInOracle n = if n=="prim_unsafePerformIO" then 2 else 3++addOrc path outdir s = maybe path id outdir ++ (newModName s)+addFcy = (++".fcy")++
+ Curry/Module/Wrapper.fcy view
@@ -0,0 +1,1 @@+Prog "Wrapper" ["FileGoodies","FlatCurry","Prelude"] [] [Func ("Wrapper","prelude") 0 Public (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (Rule [] (Comb ConsCall ("Prelude",":") [Lit (Charc 'P'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude","[]") []]]]]]]])),Func ("Wrapper","eventMod") 0 Public (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (Rule [] (Comb ConsCall ("Prelude",":") [Lit (Charc 'C'),Comb ConsCall ("Prelude",":") [Lit (Charc 'E'),Comb ConsCall ("Prelude",":") [Lit (Charc 'v'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'O'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]])),Func ("Wrapper","oracle") 0 Public (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (Rule [] (Comb ConsCall ("Prelude",":") [Lit (Charc 'O'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude","[]") []]]]]]])),Func ("Wrapper","ioexts") 0 Public (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (Rule [] (Comb ConsCall ("Prelude",":") [Lit (Charc 'I'),Comb ConsCall ("Prelude",":") [Lit (Charc 'O'),Comb ConsCall ("Prelude",":") [Lit (Charc 'E'),Comb ConsCall ("Prelude",":") [Lit (Charc 'x'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude","[]") []]]]]]])),Func ("Wrapper","newModName") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [1] (Let [(2,Comb FuncCall ("FileGoodies","splitDirectoryBaseName") [Var 1])] (Let [(3,Comb FuncCall ("Wrapper","newModName._#selFP3#d") [Var 2])] (Let [(4,Comb FuncCall ("Wrapper","newModName._#selFP4#f") [Var 2])] (Comb FuncCall ("Prelude","++") [Case Rigid (Var 3) [Branch (Pattern ("Prelude",":") [5,6]) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 5,Lit (Charc '.')]) [Branch (Pattern ("Prelude","True") []) (Case Rigid (Var 6) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [7,8]) (Comb FuncCall ("Prelude","++") [Var 3,Comb ConsCall ("Prelude",":") [Comb FuncCall ("FileGoodies","separatorChar") [],Comb ConsCall ("Prelude","[]") []]])]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","++") [Var 3,Comb ConsCall ("Prelude",":") [Comb FuncCall ("FileGoodies","separatorChar") [],Comb ConsCall ("Prelude","[]") []]])]),Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("Prelude","++") [Var 3,Comb ConsCall ("Prelude",":") [Comb FuncCall ("FileGoodies","separatorChar") [],Comb ConsCall ("Prelude","[]") []]])],Comb FuncCall ("Prelude","++") [Comb FuncCall ("Wrapper","oracle") [],Var 4]]))))),Func ("Wrapper","newModName._#selFP3#d") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Wrapper","newModName._#selFP4#f") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Wrapper","newModNameQ") 1 Public (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TVar 0]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TVar 0])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","newModName") [Var 2],Var 3])])),Func ("Wrapper","tRef") 0 Public (TCons ("FlatCurry","TypeExpr") []) (Rule [] (Comb ConsCall ("FlatCurry","TCons") [Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","eventMod") [],Comb ConsCall ("Prelude",":") [Lit (Charc 'R'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude","[]") []]]]],Comb ConsCall ("Prelude","[]") []])),Func ("Wrapper","tR") 0 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") [])) (Rule [] (Comb (ConsPartCall 1) ("FlatCurry","FuncType") [Comb FuncCall ("Wrapper","tRef") []])),Func ("Wrapper","lET") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("FlatCurry","Expr") []]]) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1,2] (Case Rigid (Comb FuncCall ("Prelude","null") [Var 1]) [Branch (Pattern ("Prelude","True") []) (Var 2),Branch (Pattern ("Prelude","False") []) (Comb ConsCall ("FlatCurry","Let") [Var 1,Var 2])])),Func ("Wrapper","ref") 0 Public (TCons ("Prelude","Int") []) (Rule [] (Lit (Intc 1))),Func ("Wrapper","flatFunc") 0 Public (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") []))) (Rule [] (Comb (ConsPartCall 2) ("FlatCurry","Comb") [Comb ConsCall ("FlatCurry","FuncCall") []])),Func ("Wrapper","flatCons") 0 Public (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") []))) (Rule [] (Comb (ConsPartCall 2) ("FlatCurry","Comb") [Comb ConsCall ("FlatCurry","ConsCall") []])),Func ("Wrapper","func") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") []))) (Rule [1] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","flatFunc") [],Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","eventMod") [],Var 1]])),Func ("Wrapper","list") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") [])) (Rule [] (Comb (FuncPartCall 1) ("Prelude","foldr") [Comb (FuncPartCall 2) ("Wrapper","colon") [],Comb FuncCall ("Wrapper","nil") []])),Func ("Wrapper","char") 0 Public (FuncType (TCons ("Prelude","Char") []) (TCons ("FlatCurry","Expr") [])) (Rule [] (Comb FuncCall ("Prelude",".") [Comb (ConsPartCall 1) ("FlatCurry","Lit") [],Comb (ConsPartCall 1) ("FlatCurry","Charc") []])),Func ("Wrapper","string") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("FlatCurry","Expr") [])) (Rule [] (Comb FuncCall ("Prelude",".") [Comb FuncCall ("Wrapper","list") [],Comb (FuncPartCall 1) ("Prelude","map") [Comb FuncCall ("Wrapper","char") []]])),Func ("Wrapper","nil") 0 Public (TCons ("FlatCurry","Expr") []) (Rule [] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","flatCons") [],Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","prelude") [],Comb ConsCall ("Prelude",":") [Lit (Charc '['),Comb ConsCall ("Prelude",":") [Lit (Charc ']'),Comb ConsCall ("Prelude","[]") []]]]],Comb ConsCall ("Prelude","[]") []])),Func ("Wrapper","colon") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1,2] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","flatCons") [],Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","prelude") [],Comb ConsCall ("Prelude",":") [Lit (Charc ':'),Comb ConsCall ("Prelude","[]") []]]],Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]])),Func ("Wrapper","run") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1,2] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","func") [Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude","[]") []]]]],Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","string") [],Var 1],Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]])),Func ("Wrapper","event") 4 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))))) (Rule [1,2,3,4] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("Wrapper","unfold") [Var 2,Var 3,Var 4]),Branch (Pattern ("Prelude",":") [5,6]) (Comb FuncCall ("Wrapper","collapse") [Var 2,Var 4])])),Func ("Wrapper","collapse") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1,2] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","func") [Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude","[]") []]]]]]]]]],Comb ConsCall ("Prelude",":") [Comb ConsCall ("FlatCurry","Var") [Var 1],Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]])),Func ("Wrapper","closeRef") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1,2] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","func") [Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'R'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude","[]") []]]]]]]]]],Comb ConsCall ("Prelude",":") [Comb ConsCall ("FlatCurry","Var") [Var 1],Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]])),Func ("Wrapper","extIO") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Comb FuncCall ("Wrapper","listFunc") [Lit (Intc 3),Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","oracle") [],Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'm'),Comb ConsCall ("Prelude",":") [Lit (Charc 'b'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc '_'),Comb ConsCall ("Prelude",":") [Lit (Charc 'w'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]],Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude","[]") []]])),Func ("Wrapper","unfold") 3 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])))) (Rule [1,2,3] (Case Rigid (Comb FuncCall ("Prelude","null") [Var 2]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Wrapper","replace") [Var 1,Var 3]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Wrapper","lET") [Comb FuncCall ("Prelude","zip") [Var 2,Comb FuncCall ("Prelude","repeat") [Comb FuncCall ("Wrapper","fresh") []]],Comb FuncCall ("Wrapper","expand") [Var 1,Var 2,Var 3]])])),Func ("Wrapper","replace") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1,2] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","func") [Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude","[]") []]]]]]]]],Comb ConsCall ("Prelude",":") [Comb ConsCall ("FlatCurry","Var") [Var 1],Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]])),Func ("Wrapper","expand") 3 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])))) (Rule [1,2,3] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","func") [Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'x'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude","[]") []]]]]]]],Comb ConsCall ("Prelude",":") [Comb ConsCall ("FlatCurry","Var") [Var 1],Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","list") [],Comb FuncCall ("Prelude","map") [Comb (ConsPartCall 1) ("FlatCurry","Var") [],Var 2]],Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []]]]])),Func ("Wrapper","fresh") 0 Public (TCons ("FlatCurry","Expr") []) (Rule [] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","func") [Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude","[]") []]]]]]],Comb ConsCall ("Prelude",":") [Comb FuncCall ("Wrapper","unit") [],Comb ConsCall ("Prelude","[]") []]])),Func ("Wrapper","unit") 0 Public (TCons ("FlatCurry","Expr") []) (Rule [] (Comb ConsCall ("FlatCurry","Comb") [Comb ConsCall ("FlatCurry","ConsCall") [],Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","prelude") [],Comb ConsCall ("Prelude",":") [Lit (Charc '('),Comb ConsCall ("Prelude",":") [Lit (Charc ')'),Comb ConsCall ("Prelude","[]") []]]],Comb ConsCall ("Prelude","[]") []])),Func ("Wrapper","apply") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1,2] (Case Rigid (Var 1) [Branch (Pattern ("FlatCurry","Comb") [3,4,5]) (Case Rigid (Var 3) [Branch (Pattern ("FlatCurry","FuncPartCall") [6]) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 6,Lit (Intc 1)]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("FlatCurry","Comb") [Comb ConsCall ("FlatCurry","FuncCall") [],Var 4,Comb FuncCall ("Prelude","++") [Var 5,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]]),Branch (Pattern ("Prelude","False") []) (Comb ConsCall ("FlatCurry","Comb") [Comb ConsCall ("FlatCurry","FuncPartCall") [Comb FuncCall ("Prelude","-") [Var 6,Lit (Intc 1)]],Var 4,Comb FuncCall ("Prelude","++") [Var 5,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]])]),Branch (Pattern ("FlatCurry","ConsPartCall") [7]) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 7,Lit (Intc 1)]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("FlatCurry","Comb") [Comb ConsCall ("FlatCurry","ConsCall") [],Var 4,Comb FuncCall ("Prelude","++") [Var 5,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]]),Branch (Pattern ("Prelude","False") []) (Comb ConsCall ("FlatCurry","Comb") [Comb ConsCall ("FlatCurry","ConsPartCall") [Comb FuncCall ("Prelude","-") [Var 7,Lit (Intc 1)]],Var 4,Comb FuncCall ("Prelude","++") [Var 5,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]])]),Branch (Pattern ("FlatCurry","FuncCall") []) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","flatFunc") [],Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","prelude") [],Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude","[]") []]]]]]]],Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]]),Branch (Pattern ("FlatCurry","ConsCall") []) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","flatFunc") [],Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","prelude") [],Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude","[]") []]]]]]]],Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]])]),Branch (Pattern ("FlatCurry","Var") [8]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","flatFunc") [],Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","prelude") [],Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude","[]") []]]]]]]],Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]]),Branch (Pattern ("FlatCurry","Lit") [9]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","flatFunc") [],Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","prelude") [],Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude","[]") []]]]]]]],Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]]),Branch (Pattern ("FlatCurry","Let") [10,11]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","flatFunc") [],Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","prelude") [],Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude","[]") []]]]]]]],Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]]),Branch (Pattern ("FlatCurry","Free") [12,13]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","flatFunc") [],Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","prelude") [],Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude","[]") []]]]]]]],Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]]),Branch (Pattern ("FlatCurry","Or") [14,15]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","flatFunc") [],Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","prelude") [],Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude","[]") []]]]]]]],Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]]),Branch (Pattern ("FlatCurry","Case") [16,17,18]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","flatFunc") [],Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","prelude") [],Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude","[]") []]]]]]]],Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]])])),Func ("Wrapper","listFunc") 3 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") [])))) (Rule [1,2,3] (Let [(4,Comb FuncCall ("Prelude","-") [Var 1,Comb FuncCall ("Prelude","length") [Var 3]])] (Case Rigid (Comb FuncCall ("Prelude","==") [Var 4,Lit (Intc 0)]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("FlatCurry","Comb") [Comb ConsCall ("FlatCurry","FuncCall") [],Var 2,Var 3]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("FlatCurry","Comb") [Comb ConsCall ("FlatCurry","FuncPartCall") [Var 4],Var 2,Var 3]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])]))),Func ("Wrapper","compose") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") [])) (Rule [] (Comb (FuncPartCall 1) ("Wrapper","listFunc") [Lit (Intc 3),Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","oracle") [],Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'm'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude","[]") []]]]]]]]]])),Func ("Wrapper","unknown") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Comb FuncCall ("Wrapper","listFunc") [Lit (Intc 1),Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","oracle") [],Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'k'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'w'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude","[]") []]]]]]]]],Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude","[]") []]])),Func ("Wrapper","oracleTry") 2 Public (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") []))) (Rule [1,2] (Let [(3,Comb FuncCall ("Prelude","splitAt") [Comb FuncCall ("Prelude","-") [Comb FuncCall ("Prelude","length") [Var 2],Lit (Intc 2)],Var 2])] (Let [(4,Comb FuncCall ("Wrapper","oracleTry._#selFP6#argsf") [Var 3])] (Let [(5,Comb FuncCall ("Wrapper","oracleTry._#selFP7#argst") [Var 3])] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","func") [Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'T'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]],Comb ConsCall ("Prelude",":") [Comb ConsCall ("FlatCurry","Comb") [Comb ConsCall ("FlatCurry","FuncPartCall") [Lit (Intc 2)],Var 1,Var 4],Var 5]]))))),Func ("Wrapper","oracleTry._#selFP6#argsf") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]]) (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Wrapper","oracleTry._#selFP7#argst") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []],TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]]) (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Wrapper","partCons") 0 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [] (Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 2) ("Wrapper","apply") [],Comb (FuncPartCall 1) ("Wrapper","partial") [Comb FuncCall ("Wrapper","pc") []]])),Func ("Wrapper","partFunc") 0 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [] (Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 2) ("Wrapper","apply") [],Comb (FuncPartCall 1) ("Wrapper","partial") [Comb FuncCall ("Wrapper","pf") []]])),Func ("Wrapper","pc") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") [])) (Rule [] (Comb (FuncPartCall 1) ("Wrapper","listFunc") [Lit (Intc 3),Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","oracle") [],Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'C'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]])),Func ("Wrapper","pf") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") [])) (Rule [] (Comb (FuncPartCall 1) ("Wrapper","listFunc") [Lit (Intc 3),Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","oracle") [],Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'F'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]])),Func ("Wrapper","partCall") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") [])) (Rule [] (Comb (FuncPartCall 1) ("Wrapper","listFunc") [Lit (Intc 2),Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","oracle") [],Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'C'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]])),Func ("Wrapper","partial") 2 Public (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") [])) (FuncType (TCons ("Prelude","Int") []) (TCons ("FlatCurry","Expr") []))) (Rule [1,2] (Comb FuncCall ("Prelude","$") [Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","foldr1") [Comb (FuncPartCall 2) ("Wrapper","partial._#lambda4") []],Comb (FuncPartCall 1) ("Prelude","map") [Comb (FuncPartCall 1) ("Wrapper","partial._#lambda5") []]],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","reverse") [],Comb FuncCall ("Prelude","zip") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","reverse") [],Comb FuncCall ("Prelude","enumFromTo") [Lit (Intc 1),Var 2]],Comb ConsCall ("Prelude",":") [Var 1,Comb FuncCall ("Prelude","repeat") [Comb FuncCall ("Wrapper","partCall") []]]]]])),Func ("Wrapper","partial._#lambda4") 2 Private (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1,2] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","compose") [],Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]])),Func ("Wrapper","partial._#lambda5") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") [])]) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Comb FuncCall ("Wrapper","dotted") [Comb FuncCall ("Prelude","-") [Var 2,Lit (Intc 1)],Comb FuncCall ("Prelude","apply") [Var 3,Comb ConsCall ("Prelude","[]") []]])])),Func ("Wrapper","dotted") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1,2] (Case Rigid (Comb FuncCall ("Prelude","==") [Var 1,Lit (Intc 0)]) [Branch (Pattern ("Prelude","True") []) (Var 2),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Wrapper","dotted") [Comb FuncCall ("Prelude","-") [Var 1,Lit (Intc 1)],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","compose") [],Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])),Func ("Wrapper","inOraclePartCall") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") []))) (Rule [1] (Comb (FuncPartCall 1) ("Wrapper","listFunc") [Comb FuncCall ("Wrapper","arityInOracle") [Var 1],Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","oracle") [],Var 1]])),Func ("Wrapper","errorCall") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Comb ConsCall ("FlatCurry","Comb") [Comb ConsCall ("FlatCurry","FuncCall") [],Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","prelude") [],Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude","[]") []]]]]]],Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","string") [],Var 1],Comb ConsCall ("Prelude","[]") []]])),Func ("Wrapper","safeIOResult") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Comb FuncCall ("Wrapper","listFunc") [Lit (Intc 1),Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","oracle") [],Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'I'),Comb ConsCall ("Prelude",":") [Lit (Charc 'O'),Comb ConsCall ("Prelude",":") [Lit (Charc 'R'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]],Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude","[]") []]])),Func ("Wrapper","specialIOs") 0 Public (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]]) (Rule [] (Comb FuncCall ("Prelude","zip") [Comb FuncCall ("Prelude","repeat") [Comb FuncCall ("Wrapper","prelude") []],Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude","[]") []]]]]]],Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude",":") [Lit (Charc 'F'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude","[]") []]]]]]]]]],Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'S'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude",":") [Lit (Charc 'T'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]],Comb ConsCall ("Prelude","[]") []]]]])),Func ("Wrapper","implementedInOracle") 0 Public (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]]) (Rule [] (Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude",":") [Lit (Charc 'U'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude","[]") []]]]]]],Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'm'),Comb ConsCall ("Prelude",":") [Lit (Charc '_'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'P'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'm'),Comb ConsCall ("Prelude",":") [Lit (Charc 'I'),Comb ConsCall ("Prelude",":") [Lit (Charc 'O'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]],Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude",":") [Lit (Charc 'M'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude","[]") []]]]],Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'N'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'm'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'F'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'm'),Comb ConsCall ("Prelude",":") [Lit (Charc 'I'),Comb ConsCall ("Prelude",":") [Lit (Charc 'O'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]],Comb FuncCall ("Prelude","zip") [Comb FuncCall ("Prelude","repeat") [Comb FuncCall ("Wrapper","prelude") []],Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude","[]") []]]]]],Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude",":") [Lit (Charc '$'),Comb ConsCall ("Prelude",":") [Lit (Charc '!'),Comb ConsCall ("Prelude","[]") []]],Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude",":") [Lit (Charc '$'),Comb ConsCall ("Prelude",":") [Lit (Charc '!'),Comb ConsCall ("Prelude",":") [Lit (Charc '!'),Comb ConsCall ("Prelude","[]") []]]],Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude",":") [Lit (Charc '$'),Comb ConsCall ("Prelude",":") [Lit (Charc '#'),Comb ConsCall ("Prelude","[]") []]],Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude",":") [Lit (Charc '$'),Comb ConsCall ("Prelude",":") [Lit (Charc '#'),Comb ConsCall ("Prelude",":") [Lit (Charc '#'),Comb ConsCall ("Prelude","[]") []]]],Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude",":") [Lit (Charc '>'),Comb ConsCall ("Prelude",":") [Lit (Charc '>'),Comb ConsCall ("Prelude",":") [Lit (Charc '='),Comb ConsCall ("Prelude","[]") []]]],Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude",":") [Lit (Charc 'F'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude","[]") []]]]]]]]]],Comb ConsCall ("Prelude","[]") []]]]]]]]]]])),Func ("Wrapper","arityInOracle") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Rigid (Comb FuncCall ("Prelude","==") [Var 1,Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'm'),Comb ConsCall ("Prelude",":") [Lit (Charc '_'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'P'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'm'),Comb ConsCall ("Prelude",":") [Lit (Charc 'I'),Comb ConsCall ("Prelude",":") [Lit (Charc 'O'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]) [Branch (Pattern ("Prelude","True") []) (Lit (Intc 2)),Branch (Pattern ("Prelude","False") []) (Lit (Intc 3))])),Func ("Wrapper","addOrc") 3 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])))) (Rule [1,2,3] (Comb FuncCall ("Prelude","++") [Comb FuncCall ("Prelude","maybe") [Var 1,Comb (FuncPartCall 1) ("Prelude","id") [],Var 2],Comb FuncCall ("Wrapper","newModName") [Var 3]])),Func ("Wrapper","addFcy") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [] (Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","++") [],Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude","[]") []]]]]]))] []
+ Curry/Module/Wrapper.fint view
@@ -0,0 +1,1 @@+Prog "Wrapper" ["FileGoodies","FlatCurry","Prelude"] [] [Func ("Wrapper","prelude") 0 Public (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (Rule [] (Var 0)),Func ("Wrapper","eventMod") 0 Public (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (Rule [] (Var 0)),Func ("Wrapper","oracle") 0 Public (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (Rule [] (Var 0)),Func ("Wrapper","ioexts") 0 Public (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (Rule [] (Var 0)),Func ("Wrapper","newModName") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [] (Var 0)),Func ("Wrapper","newModNameQ") 1 Public (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TVar 0]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TVar 0])) (Rule [] (Var 0)),Func ("Wrapper","tRef") 0 Public (TCons ("FlatCurry","TypeExpr") []) (Rule [] (Var 0)),Func ("Wrapper","tR") 0 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") [])) (Rule [] (Var 0)),Func ("Wrapper","lET") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("FlatCurry","Expr") []]]) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [] (Var 0)),Func ("Wrapper","ref") 0 Public (TCons ("Prelude","Int") []) (Rule [] (Var 0)),Func ("Wrapper","flatFunc") 0 Public (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") []))) (Rule [] (Var 0)),Func ("Wrapper","flatCons") 0 Public (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") []))) (Rule [] (Var 0)),Func ("Wrapper","func") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") []))) (Rule [] (Var 0)),Func ("Wrapper","list") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") [])) (Rule [] (Var 0)),Func ("Wrapper","char") 0 Public (FuncType (TCons ("Prelude","Char") []) (TCons ("FlatCurry","Expr") [])) (Rule [] (Var 0)),Func ("Wrapper","string") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("FlatCurry","Expr") [])) (Rule [] (Var 0)),Func ("Wrapper","nil") 0 Public (TCons ("FlatCurry","Expr") []) (Rule [] (Var 0)),Func ("Wrapper","colon") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [] (Var 0)),Func ("Wrapper","run") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [] (Var 0)),Func ("Wrapper","event") 4 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))))) (Rule [] (Var 0)),Func ("Wrapper","collapse") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [] (Var 0)),Func ("Wrapper","closeRef") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [] (Var 0)),Func ("Wrapper","extIO") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])) (Rule [] (Var 0)),Func ("Wrapper","unfold") 3 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])))) (Rule [] (Var 0)),Func ("Wrapper","replace") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [] (Var 0)),Func ("Wrapper","expand") 3 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])))) (Rule [] (Var 0)),Func ("Wrapper","fresh") 0 Public (TCons ("FlatCurry","Expr") []) (Rule [] (Var 0)),Func ("Wrapper","unit") 0 Public (TCons ("FlatCurry","Expr") []) (Rule [] (Var 0)),Func ("Wrapper","apply") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [] (Var 0)),Func ("Wrapper","listFunc") 3 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") [])))) (Rule [] (Var 0)),Func ("Wrapper","compose") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") [])) (Rule [] (Var 0)),Func ("Wrapper","unknown") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])) (Rule [] (Var 0)),Func ("Wrapper","oracleTry") 2 Public (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") []))) (Rule [] (Var 0)),Func ("Wrapper","partCons") 0 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [] (Var 0)),Func ("Wrapper","partFunc") 0 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [] (Var 0)),Func ("Wrapper","pc") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") [])) (Rule [] (Var 0)),Func ("Wrapper","pf") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") [])) (Rule [] (Var 0)),Func ("Wrapper","partCall") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") [])) (Rule [] (Var 0)),Func ("Wrapper","partial") 2 Public (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") [])) (FuncType (TCons ("Prelude","Int") []) (TCons ("FlatCurry","Expr") []))) (Rule [] (Var 0)),Func ("Wrapper","dotted") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [] (Var 0)),Func ("Wrapper","inOraclePartCall") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") []))) (Rule [] (Var 0)),Func ("Wrapper","errorCall") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("FlatCurry","Expr") [])) (Rule [] (Var 0)),Func ("Wrapper","safeIOResult") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])) (Rule [] (Var 0)),Func ("Wrapper","specialIOs") 0 Public (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]]) (Rule [] (Var 0)),Func ("Wrapper","implementedInOracle") 0 Public (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]]) (Rule [] (Var 0)),Func ("Wrapper","arityInOracle") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","Int") [])) (Rule [] (Var 0)),Func ("Wrapper","addOrc") 3 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])))) (Rule [] (Var 0)),Func ("Wrapper","addFcy") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [] (Var 0))] []
+ KiCS-prophecy.cabal view
@@ -0,0 +1,58 @@+Name: KiCS-prophecy+Version: 0.1.0+Cabal-Version: >= 1.6+Author: Bernd Braßel+Maintainer: Bernd Braßel+Homepage: http://curry-language.org+License: OtherLicense+License-File: LICENSE+Category: Debug+build-type: Custom+Synopsis: a transformation used by the kics debugger +Description: This package contains a transformation of the debugger + for the Curry to Haskell compiler "kics".+Stability: experimental+extra-tmp-files: Curry/Module/*.fcy, + Curry/Module/*.fint +extra-source-files:+ Curry/Module/*.hs.include+Data-Dir: .+Data-Files: + Curry/Module/*.fcy+ Curry/Module/*.fint++Library+ hs-source-dirs: .+ Build-Depends: + base == 4.1.*,+ filepath,+ KiCS >= 0.9.1++ Exposed-Modules:+ Curry.Files.ProphecyPath++ Curry.Module.Oracle+ Curry.Module.CEventOracle++ Curry.Module.LiftCases+ Curry.Module.Make++ Other-Modules:+ Curry.Module.EventOracle+ Paths_KiCS_prophecy++ install-includes: coracle/coracle.h+ c-sources: coracle/coracle.c++Executable prophecy+ main-is: prophecy.hs+ hs-source-dirs: ., .curry/kics+ Build-Depends: + base == 4.1.*,+ KiCS >= 0.9.0+ Other-Modules:+ Curry.Module.AddWorld+ Curry.Module.Wrapper+ Curry.Module.Transform+ Curry.Module.Make+ Curry.Module.LiftCases
+ LICENSE view
@@ -0,0 +1,34 @@+KiCS (Kiel Curry System) License++Copyright (c) 2009, University of Kiel+All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are+met:++- Redistributions of source code must retain the above copyright+ notice, this list of conditions and the following disclaimer.++- Redistributions in binary form must reproduce the above copyright+ notice, this list of conditions and the following disclaimer in the+ documentation and/or other materials provided with the distribution.++- None of the names of the copyright holders and contributors may be+ used to endorse or promote products derived from this software without+ specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.+++
+ Setup.hs view
@@ -0,0 +1,87 @@+module Main where++import System.FilePath+import System.Directory+import Monad+import Data.List++import Distribution.Simple+import Distribution.Simple.Setup +import Distribution.Simple.Program+import Distribution.Simple.LocalBuildInfo+import Distribution.Simple.PreProcess+import Distribution.PackageDescription +import Distribution.Verbosity+import Distribution.ModuleName (ModuleName(..))++import Curry.Files.CymakePath+import Curry.Files.KiCSPath++kics, cymake :: IO Program+kics = mkProg getKiCS+cymake = mkProg getCymake++mkProg getProg = do+ call <- getProg+ return (simpleProgram (takeBaseName call))+ {programFindLocation = \_-> return (Just call)}++prophecy, mkstrict :: Program+prophecy = simpleProgram "prophecy"+mkstrict = simpleProgram "mkstrict"++main :: IO ()+main = do+ cymakeProg <- cymake+ kicsProg <- kics+ defaultMainWithHooks simpleUserHooks+ {hookedPrograms=kicsProg:cymakeProg:hookedPrograms simpleUserHooks+ ,postConf=myPostConf+ ,hookedPreProcessors=[("curry",mkModule)]+ }++unflag = fromFlagOrDefault silent++requireProg :: ConfigFlags -> LocalBuildInfo -> IO Program + -> IO ConfiguredProgram+requireProg verb lbi prog = do+ p <- prog+ (cp,_) <- requireProgram (unflag $ configVerbosity verb) p AnyVersion + (withPrograms lbi)+ return cp+ +callProg :: Verbosity -> LocalBuildInfo -> IO Program -> Args -> IO ()+callProg verb lbi prog args = do+ p <- prog+ rawSystemProgramConf verb p (withPrograms lbi) args+ +myPostConf :: + Args -> ConfigFlags -> PackageDescription -> LocalBuildInfo -> IO ()+myPostConf args confFlags descrs lbi = do+ let require = requireProg confFlags lbi+ require cymake+ require kics+ postConf simpleUserHooks args confFlags descrs lbi++mkModule :: BuildInfo -> LocalBuildInfo -> PreProcessor+mkModule _ lbi = PreProcessor+ {platformIndependent = True+ ,runPreProcessor = mkSimplePreProcessor $ \ inf outf verb -> do+ datadir <- getKiCSLibDir + runKics datadir lbi inf outf verb}++runKics :: FilePath -> LocalBuildInfo + -> FilePath -> FilePath -> Verbosity -> IO ()+runKics datadir lbi infile outfile verb + = do call cymake ["-iCurry/Module","-i"++datadir,+ "--no-hidden-subdir",+ "-e","--flat",infile]+ callKics $ ["-userlibpath","Curry/Module"] +++ if isSuffixOf "Transform.curry" infile + then ["-executable","prophecy"]+ else []+ where+ call = callProg verb lbi+ callKics args = + call kics $ args ++ ["-nomake","-o",outfile,infile]+
+ coracle/coracle.c view
@@ -0,0 +1,156 @@+#include <stdlib.h>+#include <stdio.h>+++struct node+{+ struct node* p;+ int c;+ struct node* s;+};++struct node startmarker;+struct node endmarker;+struct node* chain;++struct node* newref()+{+ struct node* n;+ n=(struct node*) malloc(sizeof(struct node));+ n->c=0;+ return(n);+}++struct node* nextref(int unit)+{+ struct node* ref=chain;+ chain=chain->s;+ return(ref);+}++struct node* constructref(struct node* par, int cost, struct node* suc)+{+ struct node* n=newref();+ n->p=par;+ n->c=cost;+ n->s=suc;+ return(n);+}++void collapse(struct node* n)+{+ (n->p)->s=n->s;+ (n->s)->p=n->p;+ (n->s)->c+=n->c+1;+ free(n);+}++void close_ref(struct node* n)+{+ (n->p)->s=n->s;+ (n->s)->p=n->p;+ (n->s)->c+=n->c;+ free(n);+}++void inconly(struct node* n)+{+ n->c++;+}++void expand(struct node* r,int max)+{+ r->c++;+ struct node* last=r->s;+ struct node* r1=r;+ struct node* r2;++ int i=0;+ while(i<max)+ {+ r2=newref();+ r1->s=r2;+ r2->p=r1;+ r1=r2;+ i++;+ }+ r2->s=last;+ last->p=r2;++ chain=r->s;+}++struct node* init()+{+ startmarker.c=0;+ endmarker.c=0;+ endmarker.s=0;+ startmarker.p=0;++ struct node* mainR=constructref(&startmarker,0,&endmarker);+ startmarker.s=mainR;+ endmarker.p=mainR;++ return(mainR);+}++void finalize(char *stepfilename)+{+ struct node n=startmarker;+ FILE *stepfile;+ stepfile=fopen(stepfilename,"w");+ fprintf(stepfile,"[");+ while(n.s)+ {+ n=*(n.s);+ fprintf(stepfile,"%i",n.c);+ if(n.s){fprintf(stepfile,",");};+ }+ fprintf(stepfile,"]");+ fclose(stepfile);+}++void print_oracle()+{+ int i=0;+ struct node n=startmarker;+ printf("[");+ while(n.s && i<100)+ {+ n=*(n.s);+ printf("%i",n.c);+ if(n.s){printf(",");};+ i++;+ }+ if (n.s) {printf("...");} else {printf("]");} + + n=endmarker;+ i=0;+ printf("[");++ while(n.p && i<100)+ {+ printf("%i",n.c);+ n=*(n.p);+ if(n.p){printf(",");};+ i++;+ }+ if (n.p) {printf("...");} else {printf("]");} + printf("\n");++}++/*+main() { + struct node* ref = init(); ++ expand(ref,1); ++ struct node* r1 = nextref(1); + inconly(ref); + collapse(ref); + close_ref(r1); ++ finalize("test.steps"); + } +*/
+ coracle/coracle.h view
@@ -0,0 +1,19 @@+struct node;+struct node startmarker;+struct node endmarker;+struct node chain;++struct node* init();+struct node* nextref(int unit);++void collapse(struct node* n);+void close_ref(struct node* n);+void inconly(struct node* n);+void expand(struct node* r,int max);++void finalize(char *stepfilename);+++++
+ dist/build/Curry/Module/CEventOracle.hs view
@@ -0,0 +1,270 @@+{-# OPTIONS -cpp #-}++{-# LANGUAGE RankNTypes, ScopedTypeVariables, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances #-}++{-# LANGUAGE EmptyDataDecls, ForeignFunctionInterface #-}++{-# INCLUDE <coracle.h> #-}++module Curry.Module.CEventOracle (module Curry.Module.CEventOracle) where++import Curry.RunTimeSystem+import Curry.Module.IOExts+import Curry.Module.Prelude+import Curry.Module.System++++-- begin included++++import Foreign++import Foreign+import Foreign.C.String ++foreign import ccall unsafe "static coracle.h init" cinitialize :: Ref+foreign import ccall unsafe "static coracle.h nextref" cfresh :: Int -> Ref++foreign import ccall unsafe "static coracle.h collapse" ccollapse :: Ref -> ()+foreign import ccall unsafe "static coracle.h close_ref" ccloseRef :: Ref -> ()+foreign import ccall unsafe "static coracle.h inconly" creplace :: Ref -> ()+foreign import ccall unsafe "static coracle.h expand" cexpand :: Ref -> Int -> ()++foreign import ccall unsafe "coracle.h finalize" cfinalize :: CString -> ()++data CRef++type Ref = Ptr CRef++newtype C_Ref = C_Ref Ref++instance Show C_Ref+instance Read C_Ref+instance Eq C_Ref+instance BaseCurry C_Ref+instance Curry C_Ref++initRef :: Result (C_IO C_Ref)+initRef = let ref = cinitialize in seq ref (Curry.Module.Prelude.return (C_Ref ref))++finalize :: C_String -> Result (C_IO T0)+finalize s _ = C_IO (\ _ -> do+ s' <- newCString (fromCurry s)+ seq (cfinalize s') (Prelude.return (IOVal (T0))))++--- Side effect that computes a fresh reference.+fresh :: a -> Result C_Ref+fresh _ _ = C_Ref (cfresh 0)++--- increase couter of ref by one+replace :: C_Ref -> a -> b -> a+replace (C_Ref ref) x _ = seq (creplace ref) x++--- Remove a ref and combine and counter +1+collapse :: C_Ref -> a -> b -> a+collapse (C_Ref ref) x _ = seq (ccollapse ref) x++--- Remove a ref and combine and counter +1+closeRef :: C_Ref -> a -> b -> a+closeRef (C_Ref ref) x _ = seq (ccloseRef ref) x+++--- Projection on last argument that releases an event as a side effect.+-- increment step counter of first ref and add remaining refs+-- list has to be at least of size 1+expand :: C_Ref -> List C_Ref -> a -> Result a+expand (C_Ref ref) refs x _+ = seq (cexpand ref (len refs)) (seq (evalRefs refs) x)+ where+ len List = 0+ len (_ :< rs) = 1+len rs++ evalRefs List = ()+ evalRefs (r :< rs) = seq r (evalRefs rs)++-- compare to BaseCurry.mapOr+c_onBranches :: (BaseCurry a,BaseCurry b) => + C_Ref -> (C_Ref -> a -> Result b) -> OrRef -> Branches a -> Result b+c_onBranches r cont orref bs = + evalRef' True (\ r x st -> replace r (cont r x st) st) (branching orref bs) r + +liftCase :: (BaseCurry a,BaseCurry b) => + C_Ref -> (C_Ref -> a -> Result b) -> OrRef -> Branches a -> (Int -> State) -> b+liftCase ref f orref bs = + expand' ref (length bs - 1) (\ refs -> lift ($) orref (zipWith f refs bs))++expand' :: C_Ref -> Int -> ([C_Ref] -> a) -> a+expand' (C_Ref ref) l cont = + cexpand ref l `seq`+ evalRefs refs `seq`+ cont (map C_Ref (ref:refs))+ where+ refs = map cfresh (replicate l 0)+ + evalRefs [] = ()+ evalRefs (r : rs) = seq r (evalRefs rs)+ ++--- generating a fresh variable+unknown :: Curry a => C_Ref -> Result a+unknown r st = freeF (\x -> gen r x st)++gen :: Curry a => C_Ref -> a -> Result a+gen r x st = case consKind x of+ Val -> push r x st+ Branching -> liftCase r gen (orRef x) (branches x) (const st)++push :: Curry a => C_Ref -> a -> Result a+push r x st = case foldCurry (\ _ n _ -> n+1) 0 x st of+ 0 -> collapse r x st+ 1 -> replace r (propagate (\_ -> gen r) x st) st+ n -> expand' r (n-1) (\ refs -> propagate (distRefs refs) x st)++ where+ distRefs rs i x = gen (rs!!i) x+ + +type RefFun a b = C_Ref -> Result (Prim (a -> Result b))++($!), ($#),($!!),($##), apply :: (Curry a,Curry b) => + Prim (RefFun a b) -> a -> C_Ref -> Result b+(cont $! x) r = Curry.Module.CEventOracle.prepApply hnfRef x cont r+(cont $# x) r = Curry.Module.CEventOracle.prepApply (evalRef True) x cont r+(cont $!! x) r st = Curry.Module.CEventOracle.prepApply hnfRef (nfCTC const x st) cont r st+(cont $## x) r st = Curry.Module.CEventOracle.prepApply (evalRef True) (gnfCTC const x st) cont r st+++apply cont x r = Curry.Module.CEventOracle.prepApply (\ cont' x' r' st' -> + replace r' (Curry.Module.Prelude.apply (cont' r' st') x' st') st') x cont r++prepApply :: (BaseCurry a,BaseCurry b) => + (RefFun b a -> b -> C_Ref -> Result a) -> b -> Prim (RefFun b a) -> C_Ref -> Result a+prepApply prep x (PrimValue f) cref st = prep f x cref st+prepApply prep x (PrimOr r bs) cref st = + c_onBranches cref (\ r' f' -> Curry.Module.CEventOracle.prepApply prep x f' r') r bs st+prepApply _ _ f r st = collapse r (patternFail "Prelude.prepApply" f) st++hnfRef :: (BaseCurry a,BaseCurry b) => RefFun b a -> b -> C_Ref -> Result a+hnfRef = evalRef False ++evalRef :: (BaseCurry a,BaseCurry b) => HNFMode -> RefFun a b -> a -> C_Ref -> Result b+evalRef mode cont = evalRef' mode (\ r x st -> replace r (Curry.Module.Prelude.apply (cont r st) x st) st)++evalRef' :: (BaseCurry a,BaseCurry b) => + HNFMode -> (C_Ref -> a -> Result b) -> a -> C_Ref -> Result b+evalRef' mode cont x r state = + case consKind x of+ Failed -> closeRef r (addException err x) state+ Branching -> let orref = orRef x+ bs = branches x in+ manipulateStore+ (closeRef r (Curry.RunTimeSystem.failed (curryError "=:=")) state)+ contEval+ (\ ref' contSt -> if mode || not (isGenerator orref)+ then liftCase r contEvalRef (narrowOrRef orref) bs contSt+ else cont r (branching ref' bs) state)+ (\ orref' x' st' -> branching orref' [contEval x' st'])+ orref bs state+ Val -> cont r x state++ where+ err = curryError ("Prelude."++if mode then "$#" else "$!")+ contEvalRef r' x' st' = evalRef' mode cont x' r' st'+ contEval = contEvalRef r+++++-- end included++c_initialize :: (Curry t0) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_initialize x1 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.System.c_getProgName(st))(Curry.Module.Prelude.pf(Curry.Module.CEventOracle.c_initialize'46_'35lambda2(x1)))(st)++++c_initialize'46_'35lambda2 :: (Curry t10) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t10)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_initialize'46_'35lambda2 x1 x2 st = let {x3 = Curry.Module.Prelude.op_43_43(x2)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('x'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))(Curry.Module.Prelude.List)))))(st)} in Curry.Module.Prelude.op_62_62(Curry.Module.IOExts.c_setAssoc((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('x'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))(Curry.Module.Prelude.List))))))(x3)(st))(Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.c_writeFile(x3)(Curry.Module.Prelude.List)(st))(Curry.Module.Prelude.op_62_62_61(Curry.Module.CEventOracle.c_initRef(st))(Curry.Module.Prelude.pf(Curry.Module.CEventOracle.c_initialize'46_'35lambda2'46_'35lambda3(x1)(x2)))(st))(st))(st)++++c_initialize'46_'35lambda2'46_'35lambda3 :: (Curry t10) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t10)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_initialize'46_'35lambda2'46_'35lambda3 x1 x2 x3 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.c_apply(x1)(x3)(st))(Curry.Module.Prelude.pf(Curry.Module.CEventOracle.c_initialize'46_'35lambda2'46_'35lambda3'46_'35lambda4(x2)))(st)++++c_initialize'46_'35lambda2'46_'35lambda3'46_'35lambda4 :: (Curry t10) => (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> t10 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_initialize'46_'35lambda2'46_'35lambda3'46_'35lambda4 x1 x2 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.c_getSearchTree(x2)(st))(Curry.Module.Prelude.pf(Curry.Module.CEventOracle.c_initialize'46_'35lambda2'46_'35lambda3'46_'35lambda4'46_'35lambda5(x1)))(st)++++c_initialize'46_'35lambda2'46_'35lambda3'46_'35lambda4'46_'35lambda5 :: (Curry t10) => (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.C_SearchTree t10) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_initialize'46_'35lambda2'46_'35lambda3'46_'35lambda4'46_'35lambda5 x1 x2 st = Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.c_catchFail(Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.c_putStrLn((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('g'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))(Curry.Module.Prelude.List))))))))))))))))))))))))))(st))(Curry.Module.Prelude.op_36_33_33(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_return))(x2)(st))(st))(Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.c_putStrLn((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('x'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('b'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('W'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('g'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))(Curry.Module.Prelude.List)))))))))))))))))))))))))))))))))))))))(st))(Curry.Module.Prelude.c_return(Curry.Module.Prelude.c_failed(st))(st))(st))(st))(Curry.Module.CEventOracle.c_finalize(Curry.Module.Prelude.op_43_43(x1)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))(Curry.Module.Prelude.List)))))))(st))(st))(st)++++c_initRef :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.CEventOracle.C_Ref+c_initRef st = Curry.Module.CEventOracle.initRef(st)++++c_finalize :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_finalize x1 st = Curry.Module.CEventOracle.finalize(x1)(st)++++c_fresh :: Curry.Module.Prelude.T0 -> Curry.RunTimeSystem.State -> Curry.Module.CEventOracle.C_Ref+c_fresh x1 st = Curry.Module.CEventOracle.fresh(x1)(st)++++c_replace :: (Curry t0) => Curry.Module.CEventOracle.C_Ref -> t0 -> Curry.RunTimeSystem.State -> t0+c_replace x1 x2 st = Curry.Module.CEventOracle.replace(x1)(x2)(st)++++c_collapse :: (Curry t0) => Curry.Module.CEventOracle.C_Ref -> t0 -> Curry.RunTimeSystem.State -> t0+c_collapse x1 x2 st = Curry.Module.CEventOracle.collapse(x1)(x2)(st)++++c_closeRef :: (Curry t0) => Curry.Module.CEventOracle.C_Ref -> t0 -> Curry.RunTimeSystem.State -> t0+c_closeRef x1 x2 st = Curry.Module.CEventOracle.closeRef(x1)(x2)(st)++++c_expand :: (Curry t0) => Curry.Module.CEventOracle.C_Ref -> (Curry.Module.Prelude.List Curry.Module.CEventOracle.C_Ref) -> t0 -> Curry.RunTimeSystem.State -> t0+c_expand x1 x2 x3 st = Curry.Module.CEventOracle.expand(x1)(x2)(x3)(st)++++c_unknown :: (Curry t0) => Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> t0+c_unknown x1 st = Curry.Module.CEventOracle.unknown(x1)(st)++++op_36_33 :: (Curry t0,Curry t1) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> t1))) -> t0 -> Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> t1+op_36_33 x1 x2 x3 st = (Curry.Module.CEventOracle.$!)(x1)(x2)(x3)(st)++++op_36_33_33 :: (Curry t0,Curry t1) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> t1))) -> t0 -> Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> t1+op_36_33_33 x1 x2 x3 st = (Curry.Module.CEventOracle.$!!)(x1)(x2)(x3)(st)++++op_36_35 :: (Curry t0,Curry t1) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> t1))) -> t0 -> Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> t1+op_36_35 x1 x2 x3 st = (Curry.Module.CEventOracle.$#)(x1)(x2)(x3)(st)++++op_36_35_35 :: (Curry t0,Curry t1) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> t1))) -> t0 -> Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> t1+op_36_35_35 x1 x2 x3 st = (Curry.Module.CEventOracle.$##)(x1)(x2)(x3)(st)++++c_apply :: (Curry t0,Curry t1) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> t1))) -> t0 -> Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> t1+c_apply x1 x2 x3 st = Curry.Module.CEventOracle.apply(x1)(x2)(x3)(st)++
+ dist/build/Curry/Module/EventOracle.hs view
@@ -0,0 +1,311 @@+{-# OPTIONS -cpp #-}++{-# LANGUAGE RankNTypes, ScopedTypeVariables, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances #-}++module Curry.Module.EventOracle (module Curry.Module.EventOracle) where++import Curry.RunTimeSystem+import Curry.Module.IOExts+import Curry.Module.Prelude+import Curry.Module.System+import Curry.Module.Unsafe++++-- begin included++++-- end included++type C_Ref = Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node++type C_Cost = Curry.Module.Prelude.C_Int++data C_Node = C_Node (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) Curry.Module.Prelude.C_Int (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node)+ | C_Marker+ | C_Collapsed+ | C_NodeFail Curry.RunTimeSystem.C_Exceptions+ | C_NodeOr Curry.RunTimeSystem.OrRef (Curry.RunTimeSystem.Branches Curry.Module.EventOracle.C_Node)++instance BaseCurry Curry.Module.EventOracle.C_Node where+ nf f (Curry.Module.EventOracle.C_Node x1 x2 x3) state0 = Curry.RunTimeSystem.nfCTC(\ v1 state1 -> Curry.RunTimeSystem.nfCTC(\ v2 state2 -> Curry.RunTimeSystem.nfCTC(\ v3 state3 -> f(Curry.Module.EventOracle.C_Node(v1)(v2)(v3))(state3))(x3)(state2))(x2)(state1))(x1)(state0)+ nf f x st = f(x)(st)++ gnf f (Curry.Module.EventOracle.C_Node x1 x2 x3) state0 = Curry.RunTimeSystem.gnfCTC(\ v1 state1 -> Curry.RunTimeSystem.gnfCTC(\ v2 state2 -> Curry.RunTimeSystem.gnfCTC(\ v3 state3 -> f(Curry.Module.EventOracle.C_Node(v1)(v2)(v3))(state3))(x3)(state2))(x2)(state1))(x1)(state0)+ gnf f x st = f(x)(st)++ generator i = Curry.RunTimeSystem.withRef(\ r -> Curry.Module.EventOracle.C_NodeOr(Curry.RunTimeSystem.mkRef(r)(3)(i))([Curry.Module.EventOracle.C_Node(Curry.RunTimeSystem.generator((Prelude.+)(r)((2::Int))))(Curry.RunTimeSystem.generator((Prelude.+)(r)((1::Int))))(Curry.RunTimeSystem.generator((Prelude.+)(r)((0::Int)))),Curry.Module.EventOracle.C_Marker,Curry.Module.EventOracle.C_Collapsed]))(3)++ failed = Curry.Module.EventOracle.C_NodeFail++ branching = Curry.Module.EventOracle.C_NodeOr++ consKind (Curry.Module.EventOracle.C_NodeOr _ _) = Curry.RunTimeSystem.Branching+ consKind (Curry.Module.EventOracle.C_NodeFail _) = Curry.RunTimeSystem.Failed+ consKind _ = Curry.RunTimeSystem.Val++ exceptions (Curry.Module.EventOracle.C_NodeFail x) = x++ orRef (Curry.Module.EventOracle.C_NodeOr x _) = x++ branches (Curry.Module.EventOracle.C_NodeOr _ x) = x++++++instance Curry Curry.Module.EventOracle.C_Node where+ strEq (Curry.Module.EventOracle.C_Node x1 x2 x3) (Curry.Module.EventOracle.C_Node y1 y2 y3) st = Curry.Module.Prelude.concAnd(Curry.Module.Prelude.genStrEq(x1)(y1)(st))(Curry.Module.Prelude.concAnd(Curry.Module.Prelude.genStrEq(x2)(y2)(st))(Curry.Module.Prelude.genStrEq(x3)(y3)(st))(st))(st)+ strEq Curry.Module.EventOracle.C_Marker Curry.Module.EventOracle.C_Marker st = Curry.Module.Prelude.strEqSuccess+ strEq Curry.Module.EventOracle.C_Collapsed Curry.Module.EventOracle.C_Collapsed st = Curry.Module.Prelude.strEqSuccess+ strEq _ x0 _ = Curry.Module.Prelude.strEqFail(Curry.Module.Prelude.typeName(x0))++ eq (Curry.Module.EventOracle.C_Node x1 x2 x3) (Curry.Module.EventOracle.C_Node y1 y2 y3) st = Curry.Module.Prelude.op_38_38(Curry.Module.Prelude.genEq(x1)(y1)(st))(Curry.Module.Prelude.op_38_38(Curry.Module.Prelude.genEq(x2)(y2)(st))(Curry.Module.Prelude.genEq(x3)(y3)(st))(st))(st)+ eq Curry.Module.EventOracle.C_Marker Curry.Module.EventOracle.C_Marker st = Curry.Module.Prelude.C_True+ eq Curry.Module.EventOracle.C_Collapsed Curry.Module.EventOracle.C_Collapsed st = Curry.Module.Prelude.C_True+ eq _ _ _ = Curry.Module.Prelude.C_False++ propagate f (Curry.Module.EventOracle.C_Node x1 x2 x3) st = Curry.Module.EventOracle.C_Node(f((0::Int))(x1)(st))(f((1::Int))(x2)(st))(f((2::Int))(x3)(st))+ propagate f Curry.Module.EventOracle.C_Marker st = Curry.Module.EventOracle.C_Marker+ propagate f Curry.Module.EventOracle.C_Collapsed st = Curry.Module.EventOracle.C_Collapsed++ foldCurry f c (Curry.Module.EventOracle.C_Node x1 x2 x3) st = f(x1)(f(x2)(f(x3)(c)(st))(st))(st)+ foldCurry f c Curry.Module.EventOracle.C_Marker st = c+ foldCurry f c Curry.Module.EventOracle.C_Collapsed st = c++ typeName _ = "Node"++ showQ d (Curry.Module.EventOracle.C_Node x1 x2 x3) = Prelude.showParen(Prelude.True)(showStr)+ where+ showStr = (Prelude..)(Prelude.showString("EventOracle.Node "))((Prelude..)(Curry.Module.Prelude.showQ(Curry.RunTimeSystem.eleven)(x1))((Prelude..)(Prelude.showChar(' '))((Prelude..)(Curry.Module.Prelude.showQ(Curry.RunTimeSystem.eleven)(x2))((Prelude..)(Prelude.showChar(' '))(Curry.Module.Prelude.showQ(Curry.RunTimeSystem.eleven)(x3))))))+++ showQ _ Curry.Module.EventOracle.C_Marker = Prelude.showString("EventOracle.Marker")+ showQ _ Curry.Module.EventOracle.C_Collapsed = Prelude.showString("EventOracle.Collapsed")+ showQ _ (Curry.Module.EventOracle.C_NodeOr r _) = Prelude.showString((:)('_')(Prelude.show(Curry.RunTimeSystem.deref(r))))++++++instance Show Curry.Module.EventOracle.C_Node where+ showsPrec d (Curry.Module.EventOracle.C_Node x1 x2 x3) = Prelude.showParen((Prelude.>)(d)(Curry.RunTimeSystem.ten))(showStr)+ where+ showStr = (Prelude..)(Prelude.showString("Node "))((Prelude..)(Prelude.showsPrec(Curry.RunTimeSystem.eleven)(x1))((Prelude..)(Prelude.showChar(' '))((Prelude..)(Prelude.showsPrec(Curry.RunTimeSystem.eleven)(x2))((Prelude..)(Prelude.showChar(' '))(Prelude.showsPrec(Curry.RunTimeSystem.eleven)(x3))))))+++ showsPrec _ Curry.Module.EventOracle.C_Marker = Prelude.showString("Marker")+ showsPrec _ Curry.Module.EventOracle.C_Collapsed = Prelude.showString("Collapsed")+ showsPrec _ (Curry.Module.EventOracle.C_NodeOr r _) = Prelude.showString((:)('_')(Prelude.show(Curry.RunTimeSystem.deref(r))))++++++instance Read Curry.Module.EventOracle.C_Node where+ readsPrec d r = (Prelude.++)(Prelude.readParen((Prelude.>)(d)(Curry.RunTimeSystem.ten))(\ r -> [(,)(Curry.Module.EventOracle.C_Node(x1)(x2)(x3))(r3) | ((,) _ r0) <- Curry.RunTimeSystem.readQualified("EventOracle")("Node")(r), ((,) x1 r1) <- Prelude.readsPrec(Curry.RunTimeSystem.eleven)(r0), ((,) x2 r2) <- Prelude.readsPrec(Curry.RunTimeSystem.eleven)(r1), ((,) x3 r3) <- Prelude.readsPrec(Curry.RunTimeSystem.eleven)(r2)])(r))((Prelude.++)(Prelude.readParen(Prelude.False)(\ r -> [(,)(Curry.Module.EventOracle.C_Marker)(r0) | ((,) _ r0) <- Curry.RunTimeSystem.readQualified("EventOracle")("Marker")(r)])(r))(Prelude.readParen(Prelude.False)(\ r -> [(,)(Curry.Module.EventOracle.C_Collapsed)(r0) | ((,) _ r0) <- Curry.RunTimeSystem.readQualified("EventOracle")("Collapsed")(r)])(r)))++++++c_initialize :: (Curry t0) => (Curry.Module.Prelude.Prim ((Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_initialize x1 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.System.c_getProgName(st))(Curry.Module.Prelude.pf(Curry.Module.EventOracle.c_initialize'46_'35lambda2(x1)))(st)++++c_initialize'46_'35lambda2 :: (Curry t59) => (Curry.Module.Prelude.Prim ((Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t59)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_initialize'46_'35lambda2 x1 x2 st = let {x3 = Curry.Module.Prelude.op_43_43(x2)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('x'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))(Curry.Module.Prelude.List)))))(st)} in Curry.Module.Prelude.op_62_62(Curry.Module.IOExts.c_setAssoc((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('x'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))(Curry.Module.Prelude.List))))))(x3)(st))(Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.c_writeFile(x3)(Curry.Module.Prelude.List)(st))(Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_newIORef(Curry.Module.Prelude.c_error((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('M'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('k'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))(Curry.Module.Prelude.List))))))))))))(st))(st))(Curry.Module.Prelude.pf(Curry.Module.EventOracle.c_initialize'46_'35lambda2'46_'35lambda3(x1)(x2)))(st))(st))(st)++++c_initialize'46_'35lambda2'46_'35lambda3 :: (Curry t59) => (Curry.Module.Prelude.Prim ((Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t59)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_initialize'46_'35lambda2'46_'35lambda3 x1 x2 x3 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_newIORef(Curry.Module.Prelude.c_error((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('M'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('k'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))(Curry.Module.Prelude.List))))))))))(st))(st))(Curry.Module.Prelude.pf(Curry.Module.EventOracle.c_initialize'46_'35lambda2'46_'35lambda3'46_'35lambda4(x1)(x2)(x3)))(st)++++c_initialize'46_'35lambda2'46_'35lambda3'46_'35lambda4 :: (Curry t59) => (Curry.Module.Prelude.Prim ((Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t59)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_initialize'46_'35lambda2'46_'35lambda3'46_'35lambda4 x1 x2 x3 x4 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_newIORef(Curry.Module.EventOracle.C_Node(x3)(Curry.Module.Prelude.C_Zero)(x4))(st))(Curry.Module.Prelude.pf(Curry.Module.EventOracle.c_initialize'46_'35lambda2'46_'35lambda3'46_'35lambda4'46_'35lambda5(x1)(x4)(x2)(x3)))(st)++++c_initialize'46_'35lambda2'46_'35lambda3'46_'35lambda4'46_'35lambda5 :: (Curry t59) => (Curry.Module.Prelude.Prim ((Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t59)) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_initialize'46_'35lambda2'46_'35lambda3'46_'35lambda4'46_'35lambda5 x1 x2 x3 x4 x5 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_newIORef(Curry.Module.EventOracle.C_Marker)(st))(Curry.Module.Prelude.pf(Curry.Module.EventOracle.c_initialize'46_'35lambda2'46_'35lambda3'46_'35lambda4'46_'35lambda5'46_'35lambda6(x1)(x2)(x5)(x3)(x4)))(st)++++c_initialize'46_'35lambda2'46_'35lambda3'46_'35lambda4'46_'35lambda5'46_'35lambda6 :: (Curry t59) => (Curry.Module.Prelude.Prim ((Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t59)) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_initialize'46_'35lambda2'46_'35lambda3'46_'35lambda4'46_'35lambda5'46_'35lambda6 x1 x2 x3 x4 x5 x6 st = Curry.Module.Prelude.op_62_62(Curry.Module.IOExts.c_writeIORef(x5)(Curry.Module.EventOracle.C_Node(x6)(Curry.Module.Prelude.C_Zero)(x3))(st))(Curry.Module.Prelude.op_62_62(Curry.Module.IOExts.c_writeIORef(x2)(Curry.Module.EventOracle.C_Node(x3)(Curry.Module.Prelude.C_Zero)(x6))(st))(Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.c_apply(x1)(x3)(st))(Curry.Module.Prelude.pf(Curry.Module.EventOracle.c_initialize'46_'35lambda2'46_'35lambda3'46_'35lambda4'46_'35lambda5'46_'35lambda6'46_'35lambda7(x2)(x4)(x5)))(st))(st))(st)++++c_initialize'46_'35lambda2'46_'35lambda3'46_'35lambda4'46_'35lambda5'46_'35lambda6'46_'35lambda7 :: (Curry t59) => (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> t59 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_initialize'46_'35lambda2'46_'35lambda3'46_'35lambda4'46_'35lambda5'46_'35lambda6'46_'35lambda7 x1 x2 x3 x4 st = Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.op_36_33_33(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_return))(x4)(st))(Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.c_putStrLn((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('z'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('g'))(Curry.Module.Prelude.List)))))))))))(st))(Curry.Module.Prelude.op_62_62(Curry.Module.EventOracle.c_finalize(x2)(x3)(x1)(st))(Curry.Module.Prelude.c_return(Curry.Module.Prelude.T0)(st))(st))(st))(st)++++c_finalize :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_finalize x1 x2 x3 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.EventOracle.c_pointerToList(x2)(x3)(st))(Curry.Module.Prelude.pf(Curry.Module.EventOracle.c_finalize'46_'35lambda8(x1)))(st)++++c_finalize'46_'35lambda8 :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_finalize'46_'35lambda8 x1 x2@((Curry.Module.Prelude.:<) x3 x4) st = Curry.Module.Prelude.c_writeFile(Curry.Module.Prelude.op_43_43(x1)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))(Curry.Module.Prelude.List)))))))(st))(Curry.Module.Prelude.op_43_43(Curry.Module.Prelude.c_show(x4)(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('\n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('\n'))(Curry.Module.Prelude.List))))(st))(st)+c_finalize'46_'35lambda8 x1 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.EventOracle.c_finalize'46_'35lambda8(x1)(x)(st))(i)(xs)(st)+c_finalize'46_'35lambda8 x1 x st = Curry.RunTimeSystem.patternFail("EventOracle.finalize._#lambda8")(x)++++c_fresh :: Curry.Module.Prelude.T0 -> Curry.RunTimeSystem.State -> Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node+c_fresh x1 st = Curry.Module.Unsafe.c_unsafePerformIO(Curry.Module.IOExts.c_newIORef(Curry.Module.Prelude.c_error((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('h'))(Curry.Module.Prelude.List))))))(st))(st))(st)++++c_replace :: (Curry t0) => (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> t0 -> Curry.RunTimeSystem.State -> t0+c_replace x1 x2 st = Curry.Module.Unsafe.c_unsafePerformIO(Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_readIORef(x1)(st))(Curry.Module.Prelude.pf(Curry.Module.EventOracle.c_replace'46_'35lambda9(x1)(x2)))(st))(st)++++c_replace'46_'35lambda9 :: (Curry t76) => (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> t76 -> Curry.Module.EventOracle.C_Node -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t76+c_replace'46_'35lambda9 x1 x2 x3 st = Curry.Module.Prelude.op_62_62(Curry.Module.EventOracle.c_replace'46_'35lambda9_case_4(x1)(x3)(st))(Curry.Module.Prelude.c_return(x2)(st))(st)++++c_collapse :: (Curry t0) => (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> t0 -> Curry.RunTimeSystem.State -> t0+c_collapse x1 x2 st = Curry.Module.Unsafe.c_unsafePerformIO(Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_readIORef(x1)(st))(Curry.Module.Prelude.pf(Curry.Module.EventOracle.c_collapse'46_'35lambda11(x1)(x2)))(st))(st)++++c_collapse'46_'35lambda11 :: (Curry t93) => (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> t93 -> Curry.Module.EventOracle.C_Node -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t93+c_collapse'46_'35lambda11 x1 x2 x3 st = Curry.Module.Prelude.op_62_62(Curry.Module.EventOracle.c_collapse'46_'35lambda11_case_3(x1)(x3)(st))(Curry.Module.Prelude.c_return(x2)(st))(st)++++c_collapse'46_'35lambda11'46_'35lambda13 :: Curry.Module.Prelude.C_Int -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.Module.EventOracle.C_Node -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_collapse'46_'35lambda11'46_'35lambda13 x1 x2 x3 x4 x5@(Curry.Module.EventOracle.C_Node x6 x7 x8) st = Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_readIORef(x4)(st))(Curry.Module.Prelude.pf(Curry.Module.EventOracle.c_collapse'46_'35lambda11'46_'35lambda13'46_'35lambda14(x1)(x2)(x7)(x6)(x3)(x4)))(st)+c_collapse'46_'35lambda11'46_'35lambda13 x1 x2 x3 x4 (Curry.Module.EventOracle.C_NodeOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.EventOracle.c_collapse'46_'35lambda11'46_'35lambda13(x1)(x2)(x3)(x4)(x)(st))(i)(xs)(st)+c_collapse'46_'35lambda11'46_'35lambda13 x1 x2 x3 x4 x st = Curry.RunTimeSystem.patternFail("EventOracle.collapse._#lambda11._#lambda13")(x)++++c_collapse'46_'35lambda11'46_'35lambda13'46_'35lambda14 :: Curry.Module.Prelude.C_Int -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.Module.Prelude.C_Int -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.Module.EventOracle.C_Node -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_collapse'46_'35lambda11'46_'35lambda13'46_'35lambda14 x1 x2 x3 x4 x5 x6 x7@(Curry.Module.EventOracle.C_Node x8 x9 x10) st = Curry.Module.Prelude.op_62_62(Curry.Module.IOExts.c_writeIORef(x5)(Curry.Module.EventOracle.C_Collapsed)(st))(Curry.Module.Prelude.op_62_62(Curry.Module.IOExts.c_writeIORef(x2)(Curry.Module.EventOracle.C_Node(x4)(x3)(x6))(st))(Curry.Module.Prelude.op_36_33_33(Curry.Module.Prelude.pf(Curry.Module.IOExts.c_writeIORef(x6)))(Curry.Module.EventOracle.C_Node(x2)(Curry.Module.Prelude.op_43(Curry.Module.Prelude.op_43(x1)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(x9)(st))(x10))(st))(st))(st)+c_collapse'46_'35lambda11'46_'35lambda13'46_'35lambda14 x1 x2 x3 x4 x5 x6 (Curry.Module.EventOracle.C_NodeOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.EventOracle.c_collapse'46_'35lambda11'46_'35lambda13'46_'35lambda14(x1)(x2)(x3)(x4)(x5)(x6)(x)(st))(i)(xs)(st)+c_collapse'46_'35lambda11'46_'35lambda13'46_'35lambda14 x1 x2 x3 x4 x5 x6 x st = Curry.RunTimeSystem.patternFail("EventOracle.collapse._#lambda11._#lambda13._#lambda14")(x)++++c_closeRef :: (Curry t0) => (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> t0 -> Curry.RunTimeSystem.State -> t0+c_closeRef x1 x2 st = Curry.Module.Unsafe.c_unsafePerformIO(Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_readIORef(x1)(st))(Curry.Module.Prelude.pf(Curry.Module.EventOracle.c_closeRef'46_'35lambda15(x1)(x2)))(st))(st)++++c_closeRef'46_'35lambda15 :: (Curry t123) => (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> t123 -> Curry.Module.EventOracle.C_Node -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t123+c_closeRef'46_'35lambda15 x1 x2 x3 st = Curry.Module.Prelude.op_62_62(Curry.Module.EventOracle.c_closeRef'46_'35lambda15_case_2(x1)(x3)(st))(Curry.Module.Prelude.c_return(x2)(st))(st)++++c_closeRef'46_'35lambda15'46_'35lambda17 :: Curry.Module.Prelude.C_Int -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.Module.EventOracle.C_Node -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_closeRef'46_'35lambda15'46_'35lambda17 x1 x2 x3 x4 x5@(Curry.Module.EventOracle.C_Node x6 x7 x8) st = Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_readIORef(x4)(st))(Curry.Module.Prelude.pf(Curry.Module.EventOracle.c_closeRef'46_'35lambda15'46_'35lambda17'46_'35lambda18(x1)(x2)(x7)(x6)(x3)(x4)))(st)+c_closeRef'46_'35lambda15'46_'35lambda17 x1 x2 x3 x4 (Curry.Module.EventOracle.C_NodeOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.EventOracle.c_closeRef'46_'35lambda15'46_'35lambda17(x1)(x2)(x3)(x4)(x)(st))(i)(xs)(st)+c_closeRef'46_'35lambda15'46_'35lambda17 x1 x2 x3 x4 x st = Curry.RunTimeSystem.patternFail("EventOracle.closeRef._#lambda15._#lambda17")(x)++++c_closeRef'46_'35lambda15'46_'35lambda17'46_'35lambda18 :: Curry.Module.Prelude.C_Int -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.Module.Prelude.C_Int -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.Module.EventOracle.C_Node -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_closeRef'46_'35lambda15'46_'35lambda17'46_'35lambda18 x1 x2 x3 x4 x5 x6 x7@(Curry.Module.EventOracle.C_Node x8 x9 x10) st = Curry.Module.Prelude.op_62_62(Curry.Module.IOExts.c_writeIORef(x5)(Curry.Module.EventOracle.C_Collapsed)(st))(Curry.Module.Prelude.op_62_62(Curry.Module.IOExts.c_writeIORef(x2)(Curry.Module.EventOracle.C_Node(x4)(x3)(x6))(st))(Curry.Module.Prelude.op_36_33_33(Curry.Module.Prelude.pf(Curry.Module.IOExts.c_writeIORef(x6)))(Curry.Module.EventOracle.C_Node(x2)(Curry.Module.Prelude.op_43(x1)(x9)(st))(x10))(st))(st))(st)+c_closeRef'46_'35lambda15'46_'35lambda17'46_'35lambda18 x1 x2 x3 x4 x5 x6 (Curry.Module.EventOracle.C_NodeOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.EventOracle.c_closeRef'46_'35lambda15'46_'35lambda17'46_'35lambda18(x1)(x2)(x3)(x4)(x5)(x6)(x)(st))(i)(xs)(st)+c_closeRef'46_'35lambda15'46_'35lambda17'46_'35lambda18 x1 x2 x3 x4 x5 x6 x st = Curry.RunTimeSystem.patternFail("EventOracle.closeRef._#lambda15._#lambda17._#lambda18")(x)++++c_expand :: (Curry t0) => (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.Prelude.List (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node)) -> t0 -> Curry.RunTimeSystem.State -> t0+c_expand x1 x2 x3 st = Curry.Module.Unsafe.c_unsafePerformIO(Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_readIORef(x1)(st))(Curry.Module.Prelude.pf(Curry.Module.EventOracle.c_expand'46_'35lambda19(x1)(x2)(x3)))(st))(st)++++c_expand'46_'35lambda19 :: (Curry t175) => (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.Prelude.List (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node)) -> t175 -> Curry.Module.EventOracle.C_Node -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t175+c_expand'46_'35lambda19 x1 x2 x3 x4 st = Curry.Module.Prelude.op_62_62(Curry.Module.EventOracle.c_expand'46_'35lambda19_case_1(x1)(x2)(x4)(st))(Curry.Module.Prelude.c_return(x3)(st))(st)++++c_expand'46_'35lambda19'46_'35lambda21 :: (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_expand'46_'35lambda19'46_'35lambda21 x1 x2 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_readIORef(x1)(st))(Curry.Module.Prelude.pf(Curry.Module.EventOracle.c_expand'46_'35lambda19'46_'35lambda21'46_'35lambda22(x2)(x1)))(st)++++c_expand'46_'35lambda19'46_'35lambda21'46_'35lambda22 :: (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.Module.EventOracle.C_Node -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_expand'46_'35lambda19'46_'35lambda21'46_'35lambda22 x1 x2 x3@Curry.Module.EventOracle.C_Collapsed st = Curry.Module.EventOracle.c_warning((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('x'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))(Curry.Module.Prelude.List)))))))))))))))))))))))))))))))))))))))))))))))(st)+c_expand'46_'35lambda19'46_'35lambda21'46_'35lambda22 x1 x2 x3@(Curry.Module.EventOracle.C_Node x4 x5 x6) st = Curry.Module.IOExts.c_writeIORef(x2)(Curry.Module.EventOracle.C_Node(x1)(x5)(x6))(st)+c_expand'46_'35lambda19'46_'35lambda21'46_'35lambda22 x1 x2 x3@Curry.Module.EventOracle.C_Marker st = Curry.Module.Prelude.c_done(st)+c_expand'46_'35lambda19'46_'35lambda21'46_'35lambda22 x1 x2 (Curry.Module.EventOracle.C_NodeOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.EventOracle.c_expand'46_'35lambda19'46_'35lambda21'46_'35lambda22(x1)(x2)(x)(st))(i)(xs)(st)+c_expand'46_'35lambda19'46_'35lambda21'46_'35lambda22 x1 x2 x st = Curry.RunTimeSystem.patternFail("EventOracle.expand._#lambda19._#lambda21._#lambda22")(x)++++c_toAssocList :: Curry.Module.Prelude.C_Int -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.Prelude.List (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node)) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node)+c_toAssocList x1 x2 x3@((Curry.Module.Prelude.:<) x5 x6) x4 st = Curry.Module.EventOracle.c_toAssocList_case_0(x1)(x2)(x4)(x5)(x6)(st)+c_toAssocList x1 x2 (Curry.Module.Prelude.ListOr i xs) x4 st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.EventOracle.c_toAssocList(x1)(x2)(x)(x4)(st))(i)(xs)(st)+c_toAssocList x1 x2 x x4 st = Curry.RunTimeSystem.patternFail("EventOracle.toAssocList")(x)++++c_pointerToList :: (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)+c_pointerToList x1 x2 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_readIORef(x1)(st))(Curry.Module.Prelude.pf(Curry.Module.EventOracle.c_pointerToList'46_'35lambda24(x2)))(st)++++c_pointerToList'46_'35lambda24 :: (Curry.Module.IOExts.C_IORef Curry.Module.EventOracle.C_Node) -> Curry.Module.EventOracle.C_Node -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)+c_pointerToList'46_'35lambda24 x1 x2@Curry.Module.EventOracle.C_Collapsed st = Curry.Module.Prelude.op_62_62(Curry.Module.EventOracle.c_warning((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))(Curry.Module.Prelude.List))))))))))))))))))))))))))))))))))))))))(st))(Curry.Module.Prelude.c_return(Curry.Module.Prelude.List)(st))(st)+c_pointerToList'46_'35lambda24 x1 x2@(Curry.Module.EventOracle.C_Node x3 x4 x5) st = Curry.Module.Prelude.op_62_62_61(Curry.Module.EventOracle.c_pointerToList(x5)(x1)(st))(Curry.Module.Prelude.pf(Curry.Module.EventOracle.c_pointerToList'46_'35lambda24'46_'35lambda26(x4)))(st)+c_pointerToList'46_'35lambda24 x1 x2@Curry.Module.EventOracle.C_Marker st = Curry.Module.Prelude.c_return(Curry.Module.Prelude.List)(st)+c_pointerToList'46_'35lambda24 x1 (Curry.Module.EventOracle.C_NodeOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.EventOracle.c_pointerToList'46_'35lambda24(x1)(x)(st))(i)(xs)(st)+c_pointerToList'46_'35lambda24 x1 x st = Curry.RunTimeSystem.patternFail("EventOracle.pointerToList._#lambda24")(x)++++c_pointerToList'46_'35lambda24'46_'35lambda26 :: Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)+c_pointerToList'46_'35lambda24'46_'35lambda26 x1 x2 st = Curry.Module.Prelude.c_return((Curry.Module.Prelude.:<)(x1)(x2))(st)++++c_warning :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_warning x1 st = Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_putStrLn))(Curry.Module.Prelude.op_43_43((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('W'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('A'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('R'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('N'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('I'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('N'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('G'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(':'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))(Curry.Module.Prelude.List))))))))))(x1)(st))(st)++++c_toAssocList_case_0 x1 x2 x4 x5 x6@Curry.Module.Prelude.List st = Curry.Module.Prelude.op_62_62(Curry.Module.IOExts.c_writeIORef(x5)(Curry.Module.EventOracle.C_Node(x2)(x1)(x4))(st))(Curry.Module.Prelude.c_return(x5)(st))(st)+c_toAssocList_case_0 x1 x2 x4 x5 x6@((Curry.Module.Prelude.:<) x7 x8) st = Curry.Module.Prelude.op_62_62(Curry.Module.IOExts.c_writeIORef(x5)(Curry.Module.EventOracle.C_Node(x2)(x1)(x7))(st))(Curry.Module.EventOracle.c_toAssocList(Curry.Module.Prelude.C_Zero)(x5)(x6)(x4)(st))(st)+c_toAssocList_case_0 x1 x2 x4 x5 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.EventOracle.c_toAssocList_case_0(x1)(x2)(x4)(x5)(x)(st))(i)(xs)(st)+c_toAssocList_case_0 x1 x2 x4 x5 x st = Curry.RunTimeSystem.patternFail("EventOracle.toAssocList_case_0")(x)++++c_expand'46_'35lambda19_case_1 x1 x2 x4@Curry.Module.EventOracle.C_Collapsed st = Curry.Module.EventOracle.c_warning((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('x'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))(Curry.Module.Prelude.List))))))))))))))))))))))))))))))(st)+c_expand'46_'35lambda19_case_1 x1 x2 x4@(Curry.Module.EventOracle.C_Node x5 x6 x7) st = Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.op_36_33_33(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))))(Curry.Module.EventOracle.c_toAssocList))(Curry.Module.Prelude.op_43(x6)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(st))(x5)(st))((Curry.Module.Prelude.:<)(x1)(x2))(st))(x7)(st))(Curry.Module.Prelude.pf(Curry.Module.EventOracle.c_expand'46_'35lambda19'46_'35lambda21(x7)))(st)+c_expand'46_'35lambda19_case_1 x1 x2 (Curry.Module.EventOracle.C_NodeOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.EventOracle.c_expand'46_'35lambda19_case_1(x1)(x2)(x)(st))(i)(xs)(st)+c_expand'46_'35lambda19_case_1 x1 x2 x st = Curry.RunTimeSystem.patternFail("EventOracle.expand._#lambda19_case_1")(x)++++c_closeRef'46_'35lambda15_case_2 x1 x3@Curry.Module.EventOracle.C_Collapsed st = Curry.Module.EventOracle.c_warning((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))(Curry.Module.Prelude.List))))))))))))))))))))))))))))))))(st)+c_closeRef'46_'35lambda15_case_2 x1 x3@(Curry.Module.EventOracle.C_Node x4 x5 x6) st = Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_readIORef(x4)(st))(Curry.Module.Prelude.pf(Curry.Module.EventOracle.c_closeRef'46_'35lambda15'46_'35lambda17(x5)(x4)(x1)(x6)))(st)+c_closeRef'46_'35lambda15_case_2 x1 (Curry.Module.EventOracle.C_NodeOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.EventOracle.c_closeRef'46_'35lambda15_case_2(x1)(x)(st))(i)(xs)(st)+c_closeRef'46_'35lambda15_case_2 x1 x st = Curry.RunTimeSystem.patternFail("EventOracle.closeRef._#lambda15_case_2")(x)++++c_collapse'46_'35lambda11_case_3 x1 x3@Curry.Module.EventOracle.C_Collapsed st = Curry.Module.EventOracle.c_warning((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))(Curry.Module.Prelude.List))))))))))))))))))))))))))))))))(st)+c_collapse'46_'35lambda11_case_3 x1 x3@(Curry.Module.EventOracle.C_Node x4 x5 x6) st = Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_readIORef(x4)(st))(Curry.Module.Prelude.pf(Curry.Module.EventOracle.c_collapse'46_'35lambda11'46_'35lambda13(x5)(x4)(x1)(x6)))(st)+c_collapse'46_'35lambda11_case_3 x1 (Curry.Module.EventOracle.C_NodeOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.EventOracle.c_collapse'46_'35lambda11_case_3(x1)(x)(st))(i)(xs)(st)+c_collapse'46_'35lambda11_case_3 x1 x st = Curry.RunTimeSystem.patternFail("EventOracle.collapse._#lambda11_case_3")(x)++++c_replace'46_'35lambda9_case_4 x1 x3@Curry.Module.EventOracle.C_Collapsed st = Curry.Module.EventOracle.c_warning((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))(Curry.Module.Prelude.List)))))))))))))))))))))))))))))))(st)+c_replace'46_'35lambda9_case_4 x1 x3@(Curry.Module.EventOracle.C_Node x4 x5 x6) st = Curry.Module.Prelude.op_36_33_33(Curry.Module.Prelude.pf(Curry.Module.IOExts.c_writeIORef(x1)))(Curry.Module.EventOracle.C_Node(x4)(Curry.Module.Prelude.op_43(x5)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(x6))(st)+c_replace'46_'35lambda9_case_4 x1 (Curry.Module.EventOracle.C_NodeOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.EventOracle.c_replace'46_'35lambda9_case_4(x1)(x)(st))(i)(xs)(st)+c_replace'46_'35lambda9_case_4 x1 x st = Curry.RunTimeSystem.patternFail("EventOracle.replace._#lambda9_case_4")(x)++
+ dist/build/Curry/Module/LiftCases.hs view
@@ -0,0 +1,678 @@+{-# OPTIONS -cpp #-}++{-# LANGUAGE RankNTypes, ScopedTypeVariables, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances #-}++module Curry.Module.LiftCases (module Curry.Module.LiftCases) where++import Curry.RunTimeSystem+import Curry.Module.FiniteMap+import Curry.Module.FlatCurry+import Curry.Module.FlatCurryGoodies+import Curry.Module.List+import Curry.Module.Prelude++++-- begin included++++-- end included++type C_FuncList = (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl++type C_Result = Curry.Module.Prelude.T3 (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl))++c_isCaseAuxFuncName :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_isCaseAuxFuncName x1 st = Curry.Module.Prelude.op_61_61(Curry.Module.Prelude.c_take(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_I(Curry.Module.Prelude.C_IHi))))(x1)(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('_'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('_'))(Curry.Module.Prelude.List)))))))(st)++++c_isCaseAuxFuncType :: Curry.Module.FlatCurry.C_TypeExpr -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_isCaseAuxFuncType x1 st = Curry.Module.Prelude.op_61_61(x1)(Curry.Module.FlatCurry.C_TVar(Curry.Module.Prelude.c_negate(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_I(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_I(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_IHi)))))))(st)))(st)++++c_liftCases :: Curry.Module.Prelude.C_Bool -> Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Prog+c_liftCases x1 x2 st = let {x3 = Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_progFuncs(st))(x2)(st)} in let {x5 = Curry.Module.List.c_partition(Curry.Module.FlatCurryGoodies.c_isExternal(st))(x3)(st)} in let {x8 = Curry.Module.Prelude.c_foldr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.LiftCases.c_liftCasesFunc(x1)(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_progName(st))(x2)(st))(Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_genAuxName(st))(Curry.Module.Prelude.c_map(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_snd))(Curry.Module.FlatCurryGoodies.c_funcName(st))(st))(x3)(st))(st))))(Curry.Module.Prelude.T3(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_id))(Curry.Module.Prelude.C_Zero)(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_id)))(Curry.Module.LiftCases.c_liftCases'46_'35selFP7'35ins(x5)(st))(st)} in Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_updProgFuncs(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_const(Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_liftCases'46_'35selFP4'35newFsf(x8)(st))(Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_liftCases'46_'35selFP5'35auxFf(x8)(st))(Curry.Module.LiftCases.c_liftCases'46_'35selFP6'35exts(x5)(st))(st))(st))))(st))(x2)(st)++++c_liftCases'46_'35selFP6'35exts :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl+c_liftCases'46_'35selFP6'35exts x1@(Curry.Module.Prelude.T2 x2 x3) st = x2+c_liftCases'46_'35selFP6'35exts (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCases'46_'35selFP6'35exts(x)(st))(i)(xs)(st)+c_liftCases'46_'35selFP6'35exts x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCases._#selFP6#exts")(x)++++c_liftCases'46_'35selFP7'35ins :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl+c_liftCases'46_'35selFP7'35ins x1@(Curry.Module.Prelude.T2 x2 x3) st = x3+c_liftCases'46_'35selFP7'35ins (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCases'46_'35selFP7'35ins(x)(st))(i)(xs)(st)+c_liftCases'46_'35selFP7'35ins x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCases._#selFP7#ins")(x)++++c_liftCases'46_'35selFP4'35newFsf :: (Curry.Module.Prelude.T3 (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)+c_liftCases'46_'35selFP4'35newFsf x1@(Curry.Module.Prelude.T3 x2 x3 x4) st = x2+c_liftCases'46_'35selFP4'35newFsf (Curry.Module.Prelude.T3Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCases'46_'35selFP4'35newFsf(x)(st))(i)(xs)(st)+c_liftCases'46_'35selFP4'35newFsf x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCases._#selFP4#newFsf")(x)++++c_liftCases'46_'35selFP5'35auxFf :: (Curry.Module.Prelude.T3 (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)+c_liftCases'46_'35selFP5'35auxFf x1@(Curry.Module.Prelude.T3 x2 x3 x4) st = x4+c_liftCases'46_'35selFP5'35auxFf (Curry.Module.Prelude.T3Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCases'46_'35selFP5'35auxFf(x)(st))(i)(xs)(st)+c_liftCases'46_'35selFP5'35auxFf x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCases._#selFP5#auxFf")(x)++++c_liftCasesFunc :: Curry.Module.Prelude.C_Bool -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.FlatCurry.C_FuncDecl -> (Curry.Module.Prelude.T3 (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T3 (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl))+c_liftCasesFunc x1 x2 x3 x4 x5@(Curry.Module.Prelude.T3 x6 x7 x8) st = let {x9 = Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_funcBody(st))(x4)(st)} in let {x10 = Curry.Module.Prelude.pf(Curry.Module.FlatCurryGoodies.c_trExpr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.LiftCases.c_liftCasesFunc'46var'4618))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.LiftCases.c_liftCasesFunc'46lit'4618))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))))(Curry.Module.LiftCases.c_liftCasesFunc'46comb'4618))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.LiftCases.c_liftCasesFunc'46freE'4618))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.LiftCases.c_liftCasesFunc'46or'4618))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))))(Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618(x3)(x2)))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.LiftCases.c_liftCasesFunc'46branch'4618)))} in let {x11 = Curry.Module.LiftCases.c_liftCasesFunc_case_20(x7)(x9)(x10)(x1)(st)} in Curry.Module.Prelude.T3(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pc((Curry.Module.Prelude.:<)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_updFuncBody(st))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_const(Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP61'35exp(x11)(st))))(st))(x4)(st))))(x6)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP62'35iMain(x11)(st))(Curry.Module.Prelude.op_46(x8)(Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP63'35ffeMain(x11)(st))(st))+c_liftCasesFunc x1 x2 x3 x4 (Curry.Module.Prelude.T3Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc(x1)(x2)(x3)(x4)(x)(st))(i)(xs)(st)+c_liftCasesFunc x1 x2 x3 x4 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc")(x)++++c_liftCasesFunc'46var'4618 :: (Curry t0,Curry t1) => Curry.Module.Prelude.C_Int -> t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t0 (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)+c_liftCasesFunc'46var'4618 x1 x2 st = Curry.Module.Prelude.T4(Curry.Module.FlatCurry.C_Var(x1))(x2)(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_id))((Curry.Module.Prelude.:<)(x1)(Curry.Module.Prelude.List))++++c_liftCasesFunc'46lit'4618 :: (Curry t0,Curry t1,Curry t2) => Curry.Module.FlatCurry.C_Literal -> t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t0 (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List t2)+c_liftCasesFunc'46lit'4618 x1 x2 st = Curry.Module.Prelude.T4(Curry.Module.FlatCurry.C_Lit(x1))(x2)(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_id))(Curry.Module.Prelude.List)++++c_liftCasesFunc'46comb'4618 :: (Curry t0,Curry t1,Curry t2) => Curry.Module.FlatCurry.C_CombType -> (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t0 (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List t2)))) -> t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t0 (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List t2)+c_liftCasesFunc'46comb'4618 x1 x2 x3 x4 st = let {x5 = Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_fold(x4)(st))(x3)(st)} in Curry.Module.Prelude.T4(Curry.Module.FlatCurry.C_Comb(x1)(x2)(Curry.Module.LiftCases.c_liftCasesFunc'46comb'4618'46_'35selFP10'35args'39(x5)(st)))(Curry.Module.LiftCases.c_liftCasesFunc'46comb'4618'46_'35selFP11'35i'39(x5)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46comb'4618'46_'35selFP12'35ff(x5)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46comb'4618'46_'35selFP13'35vs(x5)(st))++++c_liftCasesFunc'46comb'4618'46_'35selFP10'35args'39 :: (Curry t149,Curry t156,Curry t157) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t149 (Curry.Module.Prelude.Prim (t156 -> Curry.RunTimeSystem.State -> t156)) (Curry.Module.Prelude.List t157)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr+c_liftCasesFunc'46comb'4618'46_'35selFP10'35args'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_liftCasesFunc'46comb'4618'46_'35selFP10'35args'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46comb'4618'46_'35selFP10'35args'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46comb'4618'46_'35selFP10'35args'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.comb.18._#selFP10#args'")(x)++++c_liftCasesFunc'46comb'4618'46_'35selFP11'35i'39 :: (Curry t149,Curry t156,Curry t157) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t149 (Curry.Module.Prelude.Prim (t156 -> Curry.RunTimeSystem.State -> t156)) (Curry.Module.Prelude.List t157)) -> Curry.RunTimeSystem.State -> t149+c_liftCasesFunc'46comb'4618'46_'35selFP11'35i'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_liftCasesFunc'46comb'4618'46_'35selFP11'35i'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46comb'4618'46_'35selFP11'35i'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46comb'4618'46_'35selFP11'35i'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.comb.18._#selFP11#i'")(x)++++c_liftCasesFunc'46comb'4618'46_'35selFP12'35ff :: (Curry t149,Curry t156,Curry t157) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t149 (Curry.Module.Prelude.Prim (t156 -> Curry.RunTimeSystem.State -> t156)) (Curry.Module.Prelude.List t157)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t156 -> Curry.RunTimeSystem.State -> t156)+c_liftCasesFunc'46comb'4618'46_'35selFP12'35ff x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_liftCasesFunc'46comb'4618'46_'35selFP12'35ff (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46comb'4618'46_'35selFP12'35ff(x)(st))(i)(xs)(st)+c_liftCasesFunc'46comb'4618'46_'35selFP12'35ff x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.comb.18._#selFP12#ff")(x)++++c_liftCasesFunc'46comb'4618'46_'35selFP13'35vs :: (Curry t149,Curry t156,Curry t157) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t149 (Curry.Module.Prelude.Prim (t156 -> Curry.RunTimeSystem.State -> t156)) (Curry.Module.Prelude.List t157)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List t157+c_liftCasesFunc'46comb'4618'46_'35selFP13'35vs x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x5+c_liftCasesFunc'46comb'4618'46_'35selFP13'35vs (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46comb'4618'46_'35selFP13'35vs(x)(st))(i)(xs)(st)+c_liftCasesFunc'46comb'4618'46_'35selFP13'35vs x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.comb.18._#selFP13#vs")(x)++++c_liftCasesFunc'46leT'4618 :: (Curry t0,Curry t1,Curry t2,Curry t3) => (Curry.Module.Prelude.List (Curry.Module.Prelude.T2 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t0 (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int))))) -> (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t2 (Curry.Module.Prelude.Prim (t3 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int))) -> t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t2 (Curry.Module.Prelude.Prim (t3 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)+c_liftCasesFunc'46leT'4618 x1 x2 x3 st = let {x4 = Curry.Module.Prelude.c_unzip(x1)(st)} in let {x5 = Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP25'35vs(x4)(st)} in let {x7 = Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_fold(x3)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP26'35es(x4)(st))(st)} in let {x12 = Curry.Module.Prelude.c_apply(x2)(Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP22'35i'39(x7)(st))(st)} in Curry.Module.Prelude.T4(Curry.Module.FlatCurry.C_Let(Curry.Module.Prelude.c_zip(x5)(Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP21'35es'39(x7)(st))(st))(Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP17'35e'39(x12)(st)))(Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP18'35i'39'39(x12)(st))(Curry.Module.Prelude.op_46(Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP23'35ffes(x7)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP19'35ffe(x12)(st))(st))(Curry.Module.Prelude.c_filter(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_not))(Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_elemOf(st))(x5)(st))(st))(Curry.Module.Prelude.op_43_43(Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP24'35ves(x7)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP20'35ve(x12)(st))(st))(st))++++c_liftCasesFunc'46leT'4618'46_'35selFP25'35vs :: (Curry t161,Curry t172) => (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.List (Curry.Module.Prelude.Prim (t161 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t161 (Curry.Module.Prelude.Prim (t172 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int))))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_liftCasesFunc'46leT'4618'46_'35selFP25'35vs x1@(Curry.Module.Prelude.T2 x2 x3) st = x2+c_liftCasesFunc'46leT'4618'46_'35selFP25'35vs (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP25'35vs(x)(st))(i)(xs)(st)+c_liftCasesFunc'46leT'4618'46_'35selFP25'35vs x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.leT.18._#selFP25#vs")(x)++++c_liftCasesFunc'46leT'4618'46_'35selFP26'35es :: (Curry t161,Curry t172) => (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.List (Curry.Module.Prelude.Prim (t161 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t161 (Curry.Module.Prelude.Prim (t172 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int))))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List (Curry.Module.Prelude.Prim (t161 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t161 (Curry.Module.Prelude.Prim (t172 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)))+c_liftCasesFunc'46leT'4618'46_'35selFP26'35es x1@(Curry.Module.Prelude.T2 x2 x3) st = x3+c_liftCasesFunc'46leT'4618'46_'35selFP26'35es (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP26'35es(x)(st))(i)(xs)(st)+c_liftCasesFunc'46leT'4618'46_'35selFP26'35es x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.leT.18._#selFP26#es")(x)++++c_liftCasesFunc'46leT'4618'46_'35selFP21'35es'39 :: (Curry t161,Curry t172) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t161 (Curry.Module.Prelude.Prim (t172 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr+c_liftCasesFunc'46leT'4618'46_'35selFP21'35es'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_liftCasesFunc'46leT'4618'46_'35selFP21'35es'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP21'35es'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46leT'4618'46_'35selFP21'35es'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.leT.18._#selFP21#es'")(x)++++c_liftCasesFunc'46leT'4618'46_'35selFP22'35i'39 :: (Curry t161,Curry t172) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t161 (Curry.Module.Prelude.Prim (t172 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> t161+c_liftCasesFunc'46leT'4618'46_'35selFP22'35i'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_liftCasesFunc'46leT'4618'46_'35selFP22'35i'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP22'35i'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46leT'4618'46_'35selFP22'35i'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.leT.18._#selFP22#i'")(x)++++c_liftCasesFunc'46leT'4618'46_'35selFP23'35ffes :: (Curry t161,Curry t172) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t161 (Curry.Module.Prelude.Prim (t172 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t172 -> Curry.RunTimeSystem.State -> t172)+c_liftCasesFunc'46leT'4618'46_'35selFP23'35ffes x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_liftCasesFunc'46leT'4618'46_'35selFP23'35ffes (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP23'35ffes(x)(st))(i)(xs)(st)+c_liftCasesFunc'46leT'4618'46_'35selFP23'35ffes x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.leT.18._#selFP23#ffes")(x)++++c_liftCasesFunc'46leT'4618'46_'35selFP24'35ves :: (Curry t161,Curry t172) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t161 (Curry.Module.Prelude.Prim (t172 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_liftCasesFunc'46leT'4618'46_'35selFP24'35ves x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x5+c_liftCasesFunc'46leT'4618'46_'35selFP24'35ves (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP24'35ves(x)(st))(i)(xs)(st)+c_liftCasesFunc'46leT'4618'46_'35selFP24'35ves x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.leT.18._#selFP24#ves")(x)++++c_liftCasesFunc'46leT'4618'46_'35selFP17'35e'39 :: (Curry t175,Curry t184,Curry t172) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t175 (Curry.Module.Prelude.Prim (t184 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_liftCasesFunc'46leT'4618'46_'35selFP17'35e'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_liftCasesFunc'46leT'4618'46_'35selFP17'35e'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP17'35e'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46leT'4618'46_'35selFP17'35e'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.leT.18._#selFP17#e'")(x)++++c_liftCasesFunc'46leT'4618'46_'35selFP18'35i'39'39 :: (Curry t175,Curry t184,Curry t172) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t175 (Curry.Module.Prelude.Prim (t184 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> t175+c_liftCasesFunc'46leT'4618'46_'35selFP18'35i'39'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_liftCasesFunc'46leT'4618'46_'35selFP18'35i'39'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP18'35i'39'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46leT'4618'46_'35selFP18'35i'39'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.leT.18._#selFP18#i''")(x)++++c_liftCasesFunc'46leT'4618'46_'35selFP19'35ffe :: (Curry t175,Curry t184,Curry t172) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t175 (Curry.Module.Prelude.Prim (t184 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t184 -> Curry.RunTimeSystem.State -> t172)+c_liftCasesFunc'46leT'4618'46_'35selFP19'35ffe x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_liftCasesFunc'46leT'4618'46_'35selFP19'35ffe (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP19'35ffe(x)(st))(i)(xs)(st)+c_liftCasesFunc'46leT'4618'46_'35selFP19'35ffe x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.leT.18._#selFP19#ffe")(x)++++c_liftCasesFunc'46leT'4618'46_'35selFP20'35ve :: (Curry t175,Curry t184,Curry t172) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t175 (Curry.Module.Prelude.Prim (t184 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_liftCasesFunc'46leT'4618'46_'35selFP20'35ve x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x5+c_liftCasesFunc'46leT'4618'46_'35selFP20'35ve (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP20'35ve(x)(st))(i)(xs)(st)+c_liftCasesFunc'46leT'4618'46_'35selFP20'35ve x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.leT.18._#selFP20#ve")(x)++++c_liftCasesFunc'46freE'4618 :: (Curry t0,Curry t1,Curry t2) => (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t1 t2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int))) -> t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t1 t2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)+c_liftCasesFunc'46freE'4618 x1 x2 x3 st = let {x4 = Curry.Module.Prelude.c_apply(x2)(x3)(st)} in Curry.Module.Prelude.T4(Curry.Module.FlatCurry.C_Free(x1)(Curry.Module.LiftCases.c_liftCasesFunc'46freE'4618'46_'35selFP28'35e'39(x4)(st)))(Curry.Module.LiftCases.c_liftCasesFunc'46freE'4618'46_'35selFP29'35i'39(x4)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46freE'4618'46_'35selFP30'35ff(x4)(st))(Curry.Module.Prelude.c_filter(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_not))(Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_elemOf(st))(x1)(st))(st))(Curry.Module.LiftCases.c_liftCasesFunc'46freE'4618'46_'35selFP31'35ve(x4)(st))(st))++++c_liftCasesFunc'46freE'4618'46_'35selFP28'35e'39 :: (Curry t196,Curry t197) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t196 t197 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_liftCasesFunc'46freE'4618'46_'35selFP28'35e'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_liftCasesFunc'46freE'4618'46_'35selFP28'35e'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46freE'4618'46_'35selFP28'35e'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46freE'4618'46_'35selFP28'35e'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.freE.18._#selFP28#e'")(x)++++c_liftCasesFunc'46freE'4618'46_'35selFP29'35i'39 :: (Curry t196,Curry t197) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t196 t197 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> t196+c_liftCasesFunc'46freE'4618'46_'35selFP29'35i'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_liftCasesFunc'46freE'4618'46_'35selFP29'35i'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46freE'4618'46_'35selFP29'35i'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46freE'4618'46_'35selFP29'35i'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.freE.18._#selFP29#i'")(x)++++c_liftCasesFunc'46freE'4618'46_'35selFP30'35ff :: (Curry t196,Curry t197) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t196 t197 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> t197+c_liftCasesFunc'46freE'4618'46_'35selFP30'35ff x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_liftCasesFunc'46freE'4618'46_'35selFP30'35ff (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46freE'4618'46_'35selFP30'35ff(x)(st))(i)(xs)(st)+c_liftCasesFunc'46freE'4618'46_'35selFP30'35ff x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.freE.18._#selFP30#ff")(x)++++c_liftCasesFunc'46freE'4618'46_'35selFP31'35ve :: (Curry t196,Curry t197) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t196 t197 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_liftCasesFunc'46freE'4618'46_'35selFP31'35ve x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x5+c_liftCasesFunc'46freE'4618'46_'35selFP31'35ve (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46freE'4618'46_'35selFP31'35ve(x)(st))(i)(xs)(st)+c_liftCasesFunc'46freE'4618'46_'35selFP31'35ve x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.freE.18._#selFP31#ve")(x)++++c_liftCasesFunc'46or'4618 :: (Curry t0,Curry t1,Curry t2) => (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t0 (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List t2))) -> (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t0 (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List t2))) -> t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t0 (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List t2)+c_liftCasesFunc'46or'4618 x1 x2 x3 st = let {x4 = Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_fold(x3)(st))((Curry.Module.Prelude.:<)(x1)((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List)))(st)} in Curry.Module.Prelude.T4(Curry.Module.FlatCurry.C_Or(Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39(x4)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39(x4)(st)))(Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39(x4)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP36'35ff(x4)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP37'35vs(x4)(st))++++c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39 :: (Curry t209,Curry t218,Curry t219) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t209 (Curry.Module.Prelude.Prim (t218 -> Curry.RunTimeSystem.State -> t218)) (Curry.Module.Prelude.List t219)) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_17(x2)(st)+c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP33#e1'")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39 :: (Curry t209,Curry t218,Curry t219) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t209 (Curry.Module.Prelude.Prim (t218 -> Curry.RunTimeSystem.State -> t218)) (Curry.Module.Prelude.List t219)) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_14(x2)(st)+c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP34#e2'")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39 :: (Curry t209,Curry t218,Curry t219) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t209 (Curry.Module.Prelude.Prim (t218 -> Curry.RunTimeSystem.State -> t218)) (Curry.Module.Prelude.List t219)) -> Curry.RunTimeSystem.State -> t209+c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_11(x3)(x2)(st)+c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP35#i'")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP36'35ff :: (Curry t209,Curry t218,Curry t219) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t209 (Curry.Module.Prelude.Prim (t218 -> Curry.RunTimeSystem.State -> t218)) (Curry.Module.Prelude.List t219)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t218 -> Curry.RunTimeSystem.State -> t218)+c_liftCasesFunc'46or'4618'46_'35selFP36'35ff x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_8(x4)(x2)(st)+c_liftCasesFunc'46or'4618'46_'35selFP36'35ff (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP36'35ff(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP36'35ff x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP36#ff")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP37'35vs :: (Curry t209,Curry t218,Curry t219) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t209 (Curry.Module.Prelude.Prim (t218 -> Curry.RunTimeSystem.State -> t218)) (Curry.Module.Prelude.List t219)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List t219+c_liftCasesFunc'46or'4618'46_'35selFP37'35vs x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_5(x5)(x2)(st)+c_liftCasesFunc'46or'4618'46_'35selFP37'35vs (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP37'35vs(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP37'35vs x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP37#vs")(x)++++c_liftCasesFunc'46casE'4618 :: (Curry t0,Curry t1) => (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.FlatCurry.C_CaseType -> (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int))) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_BranchExpr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)))) -> t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)+c_liftCasesFunc'46casE'4618 x1 x2 x3 x4 x5 x6 st = let {x7 = Curry.Module.Prelude.c_apply(x4)(x6)(st)} in let {x8 = Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP44'35e'39(x7)(st)} in let {x12 = Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_fold(Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP45'35i'39(x7)(st))(st))(x5)(st)} in let {x14 = Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP41'35i'39'39(x12)(st)} in let {x17 = Curry.Module.LiftCases.c_nub(Curry.Module.Prelude.op_43_43(Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP47'35ve(x7)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP43'35vbs(x12)(st))(st))(st)} in let {x18 = Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618_case_2(x17)(x8)(st)} in Curry.Module.Prelude.T4(Curry.Module.LiftCases.c_genFuncCall(x2)(x1)(x14)(x18)(x8)(st))(Curry.Module.Prelude.op_43(x14)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pc((Curry.Module.Prelude.:<)(Curry.Module.LiftCases.c_genFunc(x2)(x1)(x14)(x18)(x8)(x3)(Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP40'35bs'39(x12)(st))(st))))(Curry.Module.Prelude.op_46(Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP46'35ffe(x7)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP42'35ffbs(x12)(st))(st))(st))(x17)++++c_liftCasesFunc'46casE'4618'46_'35selFP44'35e'39 :: (Curry t238) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t238 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_liftCasesFunc'46casE'4618'46_'35selFP44'35e'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_liftCasesFunc'46casE'4618'46_'35selFP44'35e'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP44'35e'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46casE'4618'46_'35selFP44'35e'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.casE.18._#selFP44#e'")(x)++++c_liftCasesFunc'46casE'4618'46_'35selFP45'35i'39 :: (Curry t238) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t238 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Int+c_liftCasesFunc'46casE'4618'46_'35selFP45'35i'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_liftCasesFunc'46casE'4618'46_'35selFP45'35i'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP45'35i'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46casE'4618'46_'35selFP45'35i'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.casE.18._#selFP45#i'")(x)++++c_liftCasesFunc'46casE'4618'46_'35selFP46'35ffe :: (Curry t238) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t238 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t238 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)+c_liftCasesFunc'46casE'4618'46_'35selFP46'35ffe x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_liftCasesFunc'46casE'4618'46_'35selFP46'35ffe (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP46'35ffe(x)(st))(i)(xs)(st)+c_liftCasesFunc'46casE'4618'46_'35selFP46'35ffe x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.casE.18._#selFP46#ffe")(x)++++c_liftCasesFunc'46casE'4618'46_'35selFP47'35ve :: (Curry t238) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t238 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_liftCasesFunc'46casE'4618'46_'35selFP47'35ve x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x5+c_liftCasesFunc'46casE'4618'46_'35selFP47'35ve (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP47'35ve(x)(st))(i)(xs)(st)+c_liftCasesFunc'46casE'4618'46_'35selFP47'35ve x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.casE.18._#selFP47#ve")(x)++++c_liftCasesFunc'46casE'4618'46_'35selFP40'35bs'39 :: (Curry t238) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t238 -> Curry.RunTimeSystem.State -> t238)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr+c_liftCasesFunc'46casE'4618'46_'35selFP40'35bs'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_liftCasesFunc'46casE'4618'46_'35selFP40'35bs'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP40'35bs'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46casE'4618'46_'35selFP40'35bs'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.casE.18._#selFP40#bs'")(x)++++c_liftCasesFunc'46casE'4618'46_'35selFP41'35i'39'39 :: (Curry t238) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t238 -> Curry.RunTimeSystem.State -> t238)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Int+c_liftCasesFunc'46casE'4618'46_'35selFP41'35i'39'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_liftCasesFunc'46casE'4618'46_'35selFP41'35i'39'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP41'35i'39'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46casE'4618'46_'35selFP41'35i'39'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.casE.18._#selFP41#i''")(x)++++c_liftCasesFunc'46casE'4618'46_'35selFP42'35ffbs :: (Curry t238) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t238 -> Curry.RunTimeSystem.State -> t238)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t238 -> Curry.RunTimeSystem.State -> t238)+c_liftCasesFunc'46casE'4618'46_'35selFP42'35ffbs x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_liftCasesFunc'46casE'4618'46_'35selFP42'35ffbs (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP42'35ffbs(x)(st))(i)(xs)(st)+c_liftCasesFunc'46casE'4618'46_'35selFP42'35ffbs x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.casE.18._#selFP42#ffbs")(x)++++c_liftCasesFunc'46casE'4618'46_'35selFP43'35vbs :: (Curry t238) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t238 -> Curry.RunTimeSystem.State -> t238)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_liftCasesFunc'46casE'4618'46_'35selFP43'35vbs x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x5+c_liftCasesFunc'46casE'4618'46_'35selFP43'35vbs (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP43'35vbs(x)(st))(i)(xs)(st)+c_liftCasesFunc'46casE'4618'46_'35selFP43'35vbs x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.casE.18._#selFP43#vbs")(x)++++c_liftCasesFunc'46branch'4618 :: (Curry t0,Curry t1,Curry t2) => Curry.Module.FlatCurry.C_Pattern -> (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t1 t2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int))) -> t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_BranchExpr t1 t2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)+c_liftCasesFunc'46branch'4618 x1 x2 x3 st = let {x4 = Curry.Module.Prelude.c_apply(x2)(x3)(st)} in Curry.Module.Prelude.T4(Curry.Module.FlatCurry.C_Branch(x1)(Curry.Module.LiftCases.c_liftCasesFunc'46branch'4618'46_'35selFP49'35e'39(x4)(st)))(Curry.Module.LiftCases.c_liftCasesFunc'46branch'4618'46_'35selFP50'35i'39(x4)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46branch'4618'46_'35selFP51'35ff(x4)(st))(Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_removePVars(Curry.Module.LiftCases.c_liftCasesFunc'46branch'4618'46_'35selFP52'35ve(x4)(st))(st))(x1)(st))++++c_liftCasesFunc'46branch'4618'46_'35selFP49'35e'39 :: (Curry t260,Curry t261) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t260 t261 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_liftCasesFunc'46branch'4618'46_'35selFP49'35e'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_liftCasesFunc'46branch'4618'46_'35selFP49'35e'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46branch'4618'46_'35selFP49'35e'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46branch'4618'46_'35selFP49'35e'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.branch.18._#selFP49#e'")(x)++++c_liftCasesFunc'46branch'4618'46_'35selFP50'35i'39 :: (Curry t260,Curry t261) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t260 t261 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> t260+c_liftCasesFunc'46branch'4618'46_'35selFP50'35i'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_liftCasesFunc'46branch'4618'46_'35selFP50'35i'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46branch'4618'46_'35selFP50'35i'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46branch'4618'46_'35selFP50'35i'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.branch.18._#selFP50#i'")(x)++++c_liftCasesFunc'46branch'4618'46_'35selFP51'35ff :: (Curry t260,Curry t261) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t260 t261 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> t261+c_liftCasesFunc'46branch'4618'46_'35selFP51'35ff x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_liftCasesFunc'46branch'4618'46_'35selFP51'35ff (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46branch'4618'46_'35selFP51'35ff(x)(st))(i)(xs)(st)+c_liftCasesFunc'46branch'4618'46_'35selFP51'35ff x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.branch.18._#selFP51#ff")(x)++++c_liftCasesFunc'46branch'4618'46_'35selFP52'35ve :: (Curry t260,Curry t261) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t260 t261 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_liftCasesFunc'46branch'4618'46_'35selFP52'35ve x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x5+c_liftCasesFunc'46branch'4618'46_'35selFP52'35ve (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46branch'4618'46_'35selFP52'35ve(x)(st))(i)(xs)(st)+c_liftCasesFunc'46branch'4618'46_'35selFP52'35ve x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.branch.18._#selFP52#ve")(x)++++c_liftCasesFunc'46_'35selFP58'35e'39 :: (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_liftCasesFunc'46_'35selFP58'35e'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_liftCasesFunc'46_'35selFP58'35e'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP58'35e'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46_'35selFP58'35e'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc._#selFP58#e'")(x)++++c_liftCasesFunc'46_'35selFP59'35i'39 :: (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Int+c_liftCasesFunc'46_'35selFP59'35i'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_liftCasesFunc'46_'35selFP59'35i'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP59'35i'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46_'35selFP59'35i'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc._#selFP59#i'")(x)++++c_liftCasesFunc'46_'35selFP60'35ffe :: (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)+c_liftCasesFunc'46_'35selFP60'35ffe x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_liftCasesFunc'46_'35selFP60'35ffe (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP60'35ffe(x)(st))(i)(xs)(st)+c_liftCasesFunc'46_'35selFP60'35ffe x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc._#selFP60#ffe")(x)++++c_liftCasesFunc'46_'35lambda3 :: (Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)))) -> Curry.Module.FlatCurry.C_BranchExpr -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_BranchExpr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int))+c_liftCasesFunc'46_'35lambda3 x1 x2@(Curry.Module.FlatCurry.C_Branch x3 x4) st = Curry.Module.Prelude.pf(Curry.Module.LiftCases.c_liftCasesFunc'46branch'4618(x3)(Curry.Module.Prelude.c_apply(x1)(x4)(st)))+c_liftCasesFunc'46_'35lambda3 x1 (Curry.Module.FlatCurry.C_BranchExprOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46_'35lambda3(x1)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46_'35lambda3 x1 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc._#lambda3")(x)++++c_liftCasesFunc'46_'35selFP55'35bs'39 :: (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr+c_liftCasesFunc'46_'35selFP55'35bs'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_liftCasesFunc'46_'35selFP55'35bs'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP55'35bs'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46_'35selFP55'35bs'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc._#selFP55#bs'")(x)++++c_liftCasesFunc'46_'35selFP56'35i'39'39 :: (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Int+c_liftCasesFunc'46_'35selFP56'35i'39'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_liftCasesFunc'46_'35selFP56'35i'39'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP56'35i'39'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46_'35selFP56'35i'39'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc._#selFP56#i''")(x)++++c_liftCasesFunc'46_'35selFP57'35ffbs :: (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)+c_liftCasesFunc'46_'35selFP57'35ffbs x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_liftCasesFunc'46_'35selFP57'35ffbs (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP57'35ffbs(x)(st))(i)(xs)(st)+c_liftCasesFunc'46_'35selFP57'35ffbs x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc._#selFP57#ffbs")(x)++++c_liftCasesFunc'46_'35selFP61'35exp :: (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_liftCasesFunc'46_'35selFP61'35exp x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_liftCasesFunc'46_'35selFP61'35exp (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP61'35exp(x)(st))(i)(xs)(st)+c_liftCasesFunc'46_'35selFP61'35exp x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc._#selFP61#exp")(x)++++c_liftCasesFunc'46_'35selFP62'35iMain :: (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Int+c_liftCasesFunc'46_'35selFP62'35iMain x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_liftCasesFunc'46_'35selFP62'35iMain (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP62'35iMain(x)(st))(i)(xs)(st)+c_liftCasesFunc'46_'35selFP62'35iMain x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc._#selFP62#iMain")(x)++++c_liftCasesFunc'46_'35selFP63'35ffeMain :: (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)+c_liftCasesFunc'46_'35selFP63'35ffeMain x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_liftCasesFunc'46_'35selFP63'35ffeMain (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP63'35ffeMain(x)(st))(i)(xs)(st)+c_liftCasesFunc'46_'35selFP63'35ffeMain x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc._#selFP63#ffeMain")(x)++++c_fold :: (Curry t0,Curry t1,Curry t2,Curry t3) => t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 t1 t0 (Curry.Module.Prelude.Prim (t2 -> Curry.RunTimeSystem.State -> t2)) (Curry.Module.Prelude.List t3)))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 (Curry.Module.Prelude.List t1) t0 (Curry.Module.Prelude.Prim (t2 -> Curry.RunTimeSystem.State -> t2)) (Curry.Module.Prelude.List t3))+c_fold x1 st = Curry.Module.Prelude.pf(Curry.Module.Prelude.c_foldr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.LiftCases.c_fold'46once'4674))(Curry.Module.Prelude.T4(Curry.Module.Prelude.List)(x1)(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_id))(Curry.Module.Prelude.List)))++++c_fold'46once'4674 :: (Curry t0,Curry t1,Curry t2,Curry t3,Curry t4,Curry t5,Curry t6) => (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 t1 t2 (Curry.Module.Prelude.Prim (t3 -> Curry.RunTimeSystem.State -> t4)) (Curry.Module.Prelude.List t5))) -> (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List t1) t0 (Curry.Module.Prelude.Prim (t4 -> Curry.RunTimeSystem.State -> t6)) (Curry.Module.Prelude.List t5)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 (Curry.Module.Prelude.List t1) t2 (Curry.Module.Prelude.Prim (t3 -> Curry.RunTimeSystem.State -> t6)) (Curry.Module.Prelude.List t5)+c_fold'46once'4674 x1 x2@(Curry.Module.Prelude.T4 x3 x4 x5 x6) st = let {x7 = Curry.Module.Prelude.c_apply(x1)(x4)(st)} in Curry.Module.Prelude.T4((Curry.Module.Prelude.:<)(Curry.Module.LiftCases.c_fold'46once'4674'46_'35selFP65'35e(x7)(st))(x3))(Curry.Module.LiftCases.c_fold'46once'4674'46_'35selFP66'35k(x7)(st))(Curry.Module.Prelude.op_46(x5)(Curry.Module.LiftCases.c_fold'46once'4674'46_'35selFP67'35ff2(x7)(st))(st))(Curry.Module.Prelude.op_43_43(x6)(Curry.Module.LiftCases.c_fold'46once'4674'46_'35selFP68'35vs2(x7)(st))(st))+c_fold'46once'4674 x1 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_fold'46once'4674(x1)(x)(st))(i)(xs)(st)+c_fold'46once'4674 x1 x st = Curry.RunTimeSystem.patternFail("LiftCases.fold.once.74")(x)++++c_fold'46once'4674'46_'35selFP65'35e :: (Curry t21,Curry t22,Curry t30,Curry t28,Curry t31) => (Curry.Module.Prelude.T4 t21 t22 (Curry.Module.Prelude.Prim (t30 -> Curry.RunTimeSystem.State -> t28)) (Curry.Module.Prelude.List t31)) -> Curry.RunTimeSystem.State -> t21+c_fold'46once'4674'46_'35selFP65'35e x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_fold'46once'4674'46_'35selFP65'35e (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_fold'46once'4674'46_'35selFP65'35e(x)(st))(i)(xs)(st)+c_fold'46once'4674'46_'35selFP65'35e x st = Curry.RunTimeSystem.patternFail("LiftCases.fold.once.74._#selFP65#e")(x)++++c_fold'46once'4674'46_'35selFP66'35k :: (Curry t21,Curry t22,Curry t30,Curry t28,Curry t31) => (Curry.Module.Prelude.T4 t21 t22 (Curry.Module.Prelude.Prim (t30 -> Curry.RunTimeSystem.State -> t28)) (Curry.Module.Prelude.List t31)) -> Curry.RunTimeSystem.State -> t22+c_fold'46once'4674'46_'35selFP66'35k x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_fold'46once'4674'46_'35selFP66'35k (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_fold'46once'4674'46_'35selFP66'35k(x)(st))(i)(xs)(st)+c_fold'46once'4674'46_'35selFP66'35k x st = Curry.RunTimeSystem.patternFail("LiftCases.fold.once.74._#selFP66#k")(x)++++c_fold'46once'4674'46_'35selFP67'35ff2 :: (Curry t21,Curry t22,Curry t30,Curry t28,Curry t31) => (Curry.Module.Prelude.T4 t21 t22 (Curry.Module.Prelude.Prim (t30 -> Curry.RunTimeSystem.State -> t28)) (Curry.Module.Prelude.List t31)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t30 -> Curry.RunTimeSystem.State -> t28)+c_fold'46once'4674'46_'35selFP67'35ff2 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_fold'46once'4674'46_'35selFP67'35ff2 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_fold'46once'4674'46_'35selFP67'35ff2(x)(st))(i)(xs)(st)+c_fold'46once'4674'46_'35selFP67'35ff2 x st = Curry.RunTimeSystem.patternFail("LiftCases.fold.once.74._#selFP67#ff2")(x)++++c_fold'46once'4674'46_'35selFP68'35vs2 :: (Curry t21,Curry t22,Curry t30,Curry t28,Curry t31) => (Curry.Module.Prelude.T4 t21 t22 (Curry.Module.Prelude.Prim (t30 -> Curry.RunTimeSystem.State -> t28)) (Curry.Module.Prelude.List t31)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List t31+c_fold'46once'4674'46_'35selFP68'35vs2 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x5+c_fold'46once'4674'46_'35selFP68'35vs2 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_fold'46once'4674'46_'35selFP68'35vs2(x)(st))(i)(xs)(st)+c_fold'46once'4674'46_'35selFP68'35vs2 x st = Curry.RunTimeSystem.patternFail("LiftCases.fold.once.74._#selFP68#vs2")(x)++++c_genFuncCall :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_genFuncCall x1 x2 x3 x4 x5 st = Curry.Module.FlatCurry.C_Comb(Curry.Module.FlatCurry.C_FuncCall)(Curry.Module.Prelude.T2(x1)(Curry.Module.Prelude.op_43_43(x2)(Curry.Module.Prelude.c_show(x3)(st))(st)))(Curry.Module.Prelude.op_43_43(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pc(Curry.Module.FlatCurry.C_Var))(x4)(st))((Curry.Module.Prelude.:<)(x5)(Curry.Module.Prelude.List))(st))++++c_genFunc :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.Module.FlatCurry.C_Expr -> Curry.Module.FlatCurry.C_CaseType -> (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_FuncDecl+c_genFunc x1 x2 x3 x4 x5 x6 x7 st = let {x8 = Curry.Module.LiftCases.c_genFunc_case_1(x4)(x7)(x5)(st)} in Curry.Module.Prelude.op_36(Curry.Module.Prelude.pc(Curry.Module.FlatCurry.C_Func(Curry.Module.Prelude.T2(x1)(Curry.Module.Prelude.op_43_43(x2)(Curry.Module.Prelude.c_show(x3)(st))(st)))(Curry.Module.Prelude.op_43(Curry.Module.Prelude.c_length(x4)(st))(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(Curry.Module.FlatCurry.C_Private)(Curry.Module.FlatCurry.C_TVar(Curry.Module.Prelude.c_negate(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_I(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_I(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_IHi)))))))(st)))))(Curry.Module.FlatCurry.C_Rule(Curry.Module.Prelude.op_43_43(x4)((Curry.Module.Prelude.:<)(x8)(Curry.Module.Prelude.List))(st))(Curry.Module.FlatCurry.C_Case(x6)(Curry.Module.FlatCurry.C_Var(x8))(x7)))(st)++++c_genFunc'46allVarsBranch'4682 :: Curry.Module.FlatCurry.C_BranchExpr -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_genFunc'46allVarsBranch'4682 x1@(Curry.Module.FlatCurry.C_Branch x2 x3) st = Curry.Module.Prelude.op_43_43(Curry.Module.FlatCurryGoodies.c_trPattern(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.LiftCases.c_genFunc'46allVarsBranch'4682'46_'35lambda6))(Curry.Module.Prelude.pf(Curry.Module.LiftCases.c_genFunc'46allVarsBranch'4682'46_'35lambda7))(x2)(st))(Curry.Module.FlatCurryGoodies.c_allVars(x3)(st))(st)+c_genFunc'46allVarsBranch'4682 (Curry.Module.FlatCurry.C_BranchExprOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_genFunc'46allVarsBranch'4682(x)(st))(i)(xs)(st)+c_genFunc'46allVarsBranch'4682 x st = Curry.RunTimeSystem.patternFail("LiftCases.genFunc.allVarsBranch.82")(x)++++c_genFunc'46allVarsBranch'4682'46_'35lambda6 :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_genFunc'46allVarsBranch'4682'46_'35lambda6 x1 x2 st = x2++++c_genFunc'46allVarsBranch'4682'46_'35lambda7 :: (Curry t262) => Curry.Module.FlatCurry.C_Literal -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List t262+c_genFunc'46allVarsBranch'4682'46_'35lambda7 x1 st = Curry.Module.Prelude.List++++c_removePVars :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Pattern -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)+c_removePVars x1 st = Curry.Module.Prelude.pf(Curry.Module.FlatCurryGoodies.c_trPattern(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.LiftCases.c_removePVars'46_'35lambda8(x1)))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_const(x1))))++++c_removePVars'46_'35lambda8 :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_removePVars'46_'35lambda8 x1 x2 x3 st = Curry.Module.Prelude.c_filter(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_not))(Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_elemOf(st))(x3)(st))(st))(x1)(st)++++c_genAuxName :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)+c_genAuxName st = Curry.Module.Prelude.pf(Curry.Module.Prelude.c_foldl(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.LiftCases.c_addUnderscores))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('_'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('_'))(Curry.Module.Prelude.List))))))))++++c_addUnderscores :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char+c_addUnderscores x1 x2 st = Curry.Module.LiftCases.c_addUnderscores_case_0(x1)(x2)(Curry.Module.List.c_isPrefixOf(x1)(x2)(st))(st)++++c_elemOf :: (Curry t0) => Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t0) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool))+c_elemOf st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.c_flip(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_elem)))++++c_nub :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_nub x1 st = Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_fst))))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.FiniteMap.c_fmToList))(Curry.Module.Prelude.op_36(Curry.Module.FiniteMap.c_listToFM(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_60))(st))(Curry.Module.Prelude.c_zip(x1)(Curry.Module.Prelude.c_repeat(Curry.Module.Prelude.T0)(st))(st))(st))(st))(st)++++c_addUnderscores_case_0 x1 x2 x3@Curry.Module.Prelude.C_True st = Curry.Module.LiftCases.c_addUnderscores(Curry.Module.Prelude.op_43_43(x1)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('_'))(Curry.Module.Prelude.List))(st))(x2)(st)+c_addUnderscores_case_0 x1 x2 x3@Curry.Module.Prelude.C_False st = x1+c_addUnderscores_case_0 x1 x2 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_addUnderscores_case_0(x1)(x2)(x)(st))(i)(xs)(st)+c_addUnderscores_case_0 x1 x2 x st = Curry.RunTimeSystem.patternFail("LiftCases.addUnderscores_case_0")(x)++++c_genFunc_case_1 x4 x7 x5@(Curry.Module.FlatCurry.C_Var x9) st = x9+c_genFunc_case_1 x4 x7 x5@(Curry.Module.FlatCurry.C_Lit x10) st = Curry.Module.Prelude.op_43(Curry.Module.Prelude.c_foldr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.c_max))(Curry.Module.Prelude.C_Zero)(Curry.Module.Prelude.op_43_43(x4)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_concatMap(Curry.Module.Prelude.pf(Curry.Module.LiftCases.c_genFunc'46allVarsBranch'4682))(st))(x7)(st))(st))(st))(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st)+c_genFunc_case_1 x4 x7 x5@(Curry.Module.FlatCurry.C_Comb x11 x12 x13) st = Curry.Module.Prelude.op_43(Curry.Module.Prelude.c_foldr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.c_max))(Curry.Module.Prelude.C_Zero)(Curry.Module.Prelude.op_43_43(x4)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_concatMap(Curry.Module.Prelude.pf(Curry.Module.LiftCases.c_genFunc'46allVarsBranch'4682))(st))(x7)(st))(st))(st))(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st)+c_genFunc_case_1 x4 x7 x5@(Curry.Module.FlatCurry.C_Let x14 x15) st = Curry.Module.Prelude.op_43(Curry.Module.Prelude.c_foldr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.c_max))(Curry.Module.Prelude.C_Zero)(Curry.Module.Prelude.op_43_43(x4)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_concatMap(Curry.Module.Prelude.pf(Curry.Module.LiftCases.c_genFunc'46allVarsBranch'4682))(st))(x7)(st))(st))(st))(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st)+c_genFunc_case_1 x4 x7 x5@(Curry.Module.FlatCurry.C_Free x16 x17) st = Curry.Module.Prelude.op_43(Curry.Module.Prelude.c_foldr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.c_max))(Curry.Module.Prelude.C_Zero)(Curry.Module.Prelude.op_43_43(x4)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_concatMap(Curry.Module.Prelude.pf(Curry.Module.LiftCases.c_genFunc'46allVarsBranch'4682))(st))(x7)(st))(st))(st))(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st)+c_genFunc_case_1 x4 x7 x5@(Curry.Module.FlatCurry.C_Or x18 x19) st = Curry.Module.Prelude.op_43(Curry.Module.Prelude.c_foldr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.c_max))(Curry.Module.Prelude.C_Zero)(Curry.Module.Prelude.op_43_43(x4)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_concatMap(Curry.Module.Prelude.pf(Curry.Module.LiftCases.c_genFunc'46allVarsBranch'4682))(st))(x7)(st))(st))(st))(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st)+c_genFunc_case_1 x4 x7 x5@(Curry.Module.FlatCurry.C_Case x20 x21 x22) st = Curry.Module.Prelude.op_43(Curry.Module.Prelude.c_foldr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.c_max))(Curry.Module.Prelude.C_Zero)(Curry.Module.Prelude.op_43_43(x4)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_concatMap(Curry.Module.Prelude.pf(Curry.Module.LiftCases.c_genFunc'46allVarsBranch'4682))(st))(x7)(st))(st))(st))(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st)+c_genFunc_case_1 x4 x7 (Curry.Module.FlatCurry.C_ExprOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_genFunc_case_1(x4)(x7)(x)(st))(i)(xs)(st)+c_genFunc_case_1 x4 x7 x st = Curry.RunTimeSystem.patternFail("LiftCases.genFunc_case_1")(x)++++c_liftCasesFunc'46casE'4618_case_2 x17 x8@(Curry.Module.FlatCurry.C_Var x19) st = Curry.Module.List.c_delete(x19)(x17)(st)+c_liftCasesFunc'46casE'4618_case_2 x17 x8@(Curry.Module.FlatCurry.C_Lit x20) st = x17+c_liftCasesFunc'46casE'4618_case_2 x17 x8@(Curry.Module.FlatCurry.C_Comb x21 x22 x23) st = x17+c_liftCasesFunc'46casE'4618_case_2 x17 x8@(Curry.Module.FlatCurry.C_Let x24 x25) st = x17+c_liftCasesFunc'46casE'4618_case_2 x17 x8@(Curry.Module.FlatCurry.C_Free x26 x27) st = x17+c_liftCasesFunc'46casE'4618_case_2 x17 x8@(Curry.Module.FlatCurry.C_Or x28 x29) st = x17+c_liftCasesFunc'46casE'4618_case_2 x17 x8@(Curry.Module.FlatCurry.C_Case x30 x31 x32) st = x17+c_liftCasesFunc'46casE'4618_case_2 x17 (Curry.Module.FlatCurry.C_ExprOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618_case_2(x17)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46casE'4618_case_2 x17 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.casE.18_case_2")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_5 x5 x2@((Curry.Module.Prelude.:<) x6 x7) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_4(x5)(x7)(st)+c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_5 x5 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_5(x5)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_5 x5 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP37#vs_case_5")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_4 x5 x7@((Curry.Module.Prelude.:<) x8 x9) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_3(x5)(x9)(st)+c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_4 x5 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_4(x5)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_4 x5 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP37#vs_case_4")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_3 x5 x9@Curry.Module.Prelude.List st = x5+c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_3 x5 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_3(x5)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_3 x5 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP37#vs_case_3")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_8 x4 x2@((Curry.Module.Prelude.:<) x6 x7) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_7(x4)(x7)(st)+c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_8 x4 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_8(x4)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_8 x4 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP36#ff_case_8")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_7 x4 x7@((Curry.Module.Prelude.:<) x8 x9) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_6(x4)(x9)(st)+c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_7 x4 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_7(x4)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_7 x4 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP36#ff_case_7")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_6 x4 x9@Curry.Module.Prelude.List st = x4+c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_6 x4 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_6(x4)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_6 x4 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP36#ff_case_6")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_11 x3 x2@((Curry.Module.Prelude.:<) x6 x7) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_10(x3)(x7)(st)+c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_11 x3 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_11(x3)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_11 x3 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP35#i'_case_11")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_10 x3 x7@((Curry.Module.Prelude.:<) x8 x9) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_9(x3)(x9)(st)+c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_10 x3 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_10(x3)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_10 x3 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP35#i'_case_10")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_9 x3 x9@Curry.Module.Prelude.List st = x3+c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_9 x3 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_9(x3)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_9 x3 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP35#i'_case_9")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_14 x2@((Curry.Module.Prelude.:<) x6 x7) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_13(x7)(st)+c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_14 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_14(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_14 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP34#e2'_case_14")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_13 x7@((Curry.Module.Prelude.:<) x8 x9) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_12(x8)(x9)(st)+c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_13 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_13(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_13 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP34#e2'_case_13")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_12 x8 x9@Curry.Module.Prelude.List st = x8+c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_12 x8 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_12(x8)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_12 x8 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP34#e2'_case_12")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_17 x2@((Curry.Module.Prelude.:<) x6 x7) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_16(x6)(x7)(st)+c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_17 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_17(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_17 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP33#e1'_case_17")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_16 x6 x7@((Curry.Module.Prelude.:<) x8 x9) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_15(x6)(x9)(st)+c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_16 x6 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_16(x6)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_16 x6 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP33#e1'_case_16")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_15 x6 x9@Curry.Module.Prelude.List st = x6+c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_15 x6 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_15(x6)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_15 x6 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP33#e1'_case_15")(x)++++c_liftCasesFunc_case_20 x7 x9 x10 x1@Curry.Module.Prelude.C_True st = Curry.Module.LiftCases.c_liftCasesFunc_case_19(x7)(x10)(x9)(st)+c_liftCasesFunc_case_20 x7 x9 x10 x1@Curry.Module.Prelude.C_False st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_20 x7 x9 x10 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc_case_20(x7)(x9)(x10)(x)(st))(i)(xs)(st)+c_liftCasesFunc_case_20 x7 x9 x10 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc_case_20")(x)++++c_liftCasesFunc_case_19 x7 x10 x9@(Curry.Module.FlatCurry.C_Case x12 x13 x14) st = Curry.Module.LiftCases.c_liftCasesFunc_case_18(x7)(x9)(x10)(x12)(x14)(x13)(st)+c_liftCasesFunc_case_19 x7 x10 x9@(Curry.Module.FlatCurry.C_Var x37) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_19 x7 x10 x9@(Curry.Module.FlatCurry.C_Lit x38) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_19 x7 x10 x9@(Curry.Module.FlatCurry.C_Comb x39 x40 x41) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_19 x7 x10 x9@(Curry.Module.FlatCurry.C_Let x42 x43) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_19 x7 x10 x9@(Curry.Module.FlatCurry.C_Free x44 x45) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_19 x7 x10 x9@(Curry.Module.FlatCurry.C_Or x46 x47) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_19 x7 x10 (Curry.Module.FlatCurry.C_ExprOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc_case_19(x7)(x10)(x)(st))(i)(xs)(st)+c_liftCasesFunc_case_19 x7 x10 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc_case_19")(x)++++c_liftCasesFunc_case_18 x7 x9 x10 x12 x14 x13@(Curry.Module.FlatCurry.C_Var x15) st = let {x16 = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(Curry.Module.FlatCurry.C_Var(x15))(st))(x7)(st)} in let {x20 = Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_fold(Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP59'35i'39(x16)(st))(st))(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.LiftCases.c_liftCasesFunc'46_'35lambda3(x10)))(x14)(st))(st)} in Curry.Module.Prelude.T4(Curry.Module.FlatCurry.C_Case(x12)(Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP58'35e'39(x16)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP55'35bs'39(x20)(st)))(Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP56'35i'39'39(x20)(st))(Curry.Module.Prelude.op_46(Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP60'35ffe(x16)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP57'35ffbs(x20)(st))(st))(Curry.Module.Prelude.List)+c_liftCasesFunc_case_18 x7 x9 x10 x12 x14 x13@(Curry.Module.FlatCurry.C_Lit x24) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_18 x7 x9 x10 x12 x14 x13@(Curry.Module.FlatCurry.C_Comb x25 x26 x27) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_18 x7 x9 x10 x12 x14 x13@(Curry.Module.FlatCurry.C_Let x28 x29) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_18 x7 x9 x10 x12 x14 x13@(Curry.Module.FlatCurry.C_Free x30 x31) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_18 x7 x9 x10 x12 x14 x13@(Curry.Module.FlatCurry.C_Or x32 x33) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_18 x7 x9 x10 x12 x14 x13@(Curry.Module.FlatCurry.C_Case x34 x35 x36) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_18 x7 x9 x10 x12 x14 (Curry.Module.FlatCurry.C_ExprOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc_case_18(x7)(x9)(x10)(x12)(x14)(x)(st))(i)(xs)(st)+c_liftCasesFunc_case_18 x7 x9 x10 x12 x14 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc_case_18")(x)++
+ dist/build/Curry/Module/Make.hs view
@@ -0,0 +1,463 @@+{-# OPTIONS -cpp #-}++{-# LANGUAGE RankNTypes, ScopedTypeVariables, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances #-}++module Curry.Module.Make (module Curry.Module.Make) where++import Curry.RunTimeSystem+import Curry.Module.Directory+import Curry.Module.Distribution+import Curry.Module.FileGoodies+import Curry.Module.FiniteMap+import Curry.Module.FlatCurry+import Curry.Module.IOExts+import Curry.Module.Prelude+import Curry.Module.Sort+import Curry.Module.System+import Curry.Module.Time+import Curry.Module.FlatCurryGoodies++++-- begin included++++-- end included++type C_ModuleName = Curry.Module.Prelude.List Curry.Module.Prelude.C_Char++type C_Path = Curry.Module.Prelude.List Curry.Module.Prelude.C_Char++type C_FileName = Curry.Module.Prelude.List Curry.Module.Prelude.C_Char++type C_TestAct t0 = (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t0)++type C_ProgAct t0 = (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List t0) -> Curry.Module.FlatCurry.C_Prog -> Curry.Module.Prelude.C_IO t0++type C_Done t0 = Curry.Module.IOExts.C_IORef (Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t0)++type C_Getter t0 = Curry.Module.Make.C_Parameter -> t0++type C_Setter t0 = t0 -> Curry.Module.Make.C_Parameter -> Curry.Module.Make.C_Parameter++data C_Parameter = C_Parameter Curry.Module.Prelude.C_Bool Curry.Module.Prelude.C_Bool (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)+ | C_ParameterFail Curry.RunTimeSystem.C_Exceptions+ | C_ParameterOr Curry.RunTimeSystem.OrRef (Curry.RunTimeSystem.Branches Curry.Module.Make.C_Parameter)++instance BaseCurry Curry.Module.Make.C_Parameter where+ nf f (Curry.Module.Make.C_Parameter x1 x2 x3 x4 x5) state0 = Curry.RunTimeSystem.nfCTC(\ v1 state1 -> Curry.RunTimeSystem.nfCTC(\ v2 state2 -> Curry.RunTimeSystem.nfCTC(\ v3 state3 -> Curry.RunTimeSystem.nfCTC(\ v4 state4 -> Curry.RunTimeSystem.nfCTC(\ v5 state5 -> f(Curry.Module.Make.C_Parameter(v1)(v2)(v3)(v4)(v5))(state5))(x5)(state4))(x4)(state3))(x3)(state2))(x2)(state1))(x1)(state0)+ nf f x st = f(x)(st)++ gnf f (Curry.Module.Make.C_Parameter x1 x2 x3 x4 x5) state0 = Curry.RunTimeSystem.gnfCTC(\ v1 state1 -> Curry.RunTimeSystem.gnfCTC(\ v2 state2 -> Curry.RunTimeSystem.gnfCTC(\ v3 state3 -> Curry.RunTimeSystem.gnfCTC(\ v4 state4 -> Curry.RunTimeSystem.gnfCTC(\ v5 state5 -> f(Curry.Module.Make.C_Parameter(v1)(v2)(v3)(v4)(v5))(state5))(x5)(state4))(x4)(state3))(x3)(state2))(x2)(state1))(x1)(state0)+ gnf f x st = f(x)(st)++ generator i = Curry.RunTimeSystem.withRef(\ r -> Curry.Module.Make.C_ParameterOr(Curry.RunTimeSystem.mkRef(r)(5)(i))([Curry.Module.Make.C_Parameter(Curry.RunTimeSystem.generator((Prelude.+)(r)((4::Int))))(Curry.RunTimeSystem.generator((Prelude.+)(r)((3::Int))))(Curry.RunTimeSystem.generator((Prelude.+)(r)((2::Int))))(Curry.RunTimeSystem.generator((Prelude.+)(r)((1::Int))))(Curry.RunTimeSystem.generator((Prelude.+)(r)((0::Int))))]))(5)++ failed = Curry.Module.Make.C_ParameterFail++ branching = Curry.Module.Make.C_ParameterOr++ consKind (Curry.Module.Make.C_ParameterOr _ _) = Curry.RunTimeSystem.Branching+ consKind (Curry.Module.Make.C_ParameterFail _) = Curry.RunTimeSystem.Failed+ consKind _ = Curry.RunTimeSystem.Val++ exceptions (Curry.Module.Make.C_ParameterFail x) = x++ orRef (Curry.Module.Make.C_ParameterOr x _) = x++ branches (Curry.Module.Make.C_ParameterOr _ x) = x++++++instance Curry Curry.Module.Make.C_Parameter where+ strEq (Curry.Module.Make.C_Parameter x1 x2 x3 x4 x5) (Curry.Module.Make.C_Parameter y1 y2 y3 y4 y5) st = Curry.Module.Prelude.concAnd(Curry.Module.Prelude.genStrEq(x1)(y1)(st))(Curry.Module.Prelude.concAnd(Curry.Module.Prelude.genStrEq(x2)(y2)(st))(Curry.Module.Prelude.concAnd(Curry.Module.Prelude.genStrEq(x3)(y3)(st))(Curry.Module.Prelude.concAnd(Curry.Module.Prelude.genStrEq(x4)(y4)(st))(Curry.Module.Prelude.genStrEq(x5)(y5)(st))(st))(st))(st))(st)+ strEq _ x0 _ = Curry.Module.Prelude.strEqFail(Curry.Module.Prelude.typeName(x0))++ eq (Curry.Module.Make.C_Parameter x1 x2 x3 x4 x5) (Curry.Module.Make.C_Parameter y1 y2 y3 y4 y5) st = Curry.Module.Prelude.op_38_38(Curry.Module.Prelude.genEq(x1)(y1)(st))(Curry.Module.Prelude.op_38_38(Curry.Module.Prelude.genEq(x2)(y2)(st))(Curry.Module.Prelude.op_38_38(Curry.Module.Prelude.genEq(x3)(y3)(st))(Curry.Module.Prelude.op_38_38(Curry.Module.Prelude.genEq(x4)(y4)(st))(Curry.Module.Prelude.genEq(x5)(y5)(st))(st))(st))(st))(st)+ eq _ _ _ = Curry.Module.Prelude.C_False++ propagate f (Curry.Module.Make.C_Parameter x1 x2 x3 x4 x5) st = Curry.Module.Make.C_Parameter(f((0::Int))(x1)(st))(f((1::Int))(x2)(st))(f((2::Int))(x3)(st))(f((3::Int))(x4)(st))(f((4::Int))(x5)(st))++ foldCurry f c (Curry.Module.Make.C_Parameter x1 x2 x3 x4 x5) st = f(x1)(f(x2)(f(x3)(f(x4)(f(x5)(c)(st))(st))(st))(st))(st)++ typeName _ = "Parameter"++ showQ d (Curry.Module.Make.C_Parameter x1 x2 x3 x4 x5) = Prelude.showParen(Prelude.True)(showStr)+ where+ showStr = (Prelude..)(Prelude.showString("Make.Parameter "))((Prelude..)(Curry.Module.Prelude.showQ(Curry.RunTimeSystem.eleven)(x1))((Prelude..)(Prelude.showChar(' '))((Prelude..)(Curry.Module.Prelude.showQ(Curry.RunTimeSystem.eleven)(x2))((Prelude..)(Prelude.showChar(' '))((Prelude..)(Curry.Module.Prelude.showQ(Curry.RunTimeSystem.eleven)(x3))((Prelude..)(Prelude.showChar(' '))((Prelude..)(Curry.Module.Prelude.showQ(Curry.RunTimeSystem.eleven)(x4))((Prelude..)(Prelude.showChar(' '))(Curry.Module.Prelude.showQ(Curry.RunTimeSystem.eleven)(x5))))))))))+++ showQ _ (Curry.Module.Make.C_ParameterOr r _) = Prelude.showString((:)('_')(Prelude.show(Curry.RunTimeSystem.deref(r))))++++++instance Show Curry.Module.Make.C_Parameter where+ showsPrec d (Curry.Module.Make.C_Parameter x1 x2 x3 x4 x5) = Prelude.showParen((Prelude.>)(d)(Curry.RunTimeSystem.ten))(showStr)+ where+ showStr = (Prelude..)(Prelude.showString("Parameter "))((Prelude..)(Prelude.showsPrec(Curry.RunTimeSystem.eleven)(x1))((Prelude..)(Prelude.showChar(' '))((Prelude..)(Prelude.showsPrec(Curry.RunTimeSystem.eleven)(x2))((Prelude..)(Prelude.showChar(' '))((Prelude..)(Prelude.showsPrec(Curry.RunTimeSystem.eleven)(x3))((Prelude..)(Prelude.showChar(' '))((Prelude..)(Prelude.showsPrec(Curry.RunTimeSystem.eleven)(x4))((Prelude..)(Prelude.showChar(' '))(Prelude.showsPrec(Curry.RunTimeSystem.eleven)(x5))))))))))+++ showsPrec _ (Curry.Module.Make.C_ParameterOr r _) = Prelude.showString((:)('_')(Prelude.show(Curry.RunTimeSystem.deref(r))))++++++instance Read Curry.Module.Make.C_Parameter where+ readsPrec d r = Prelude.readParen((Prelude.>)(d)(Curry.RunTimeSystem.ten))(\ r -> [(,)(Curry.Module.Make.C_Parameter(x1)(x2)(x3)(x4)(x5))(r5) | ((,) _ r0) <- Curry.RunTimeSystem.readQualified("Make")("Parameter")(r), ((,) x1 r1) <- Prelude.readsPrec(Curry.RunTimeSystem.eleven)(r0), ((,) x2 r2) <- Prelude.readsPrec(Curry.RunTimeSystem.eleven)(r1), ((,) x3 r3) <- Prelude.readsPrec(Curry.RunTimeSystem.eleven)(r2), ((,) x4 r4) <- Prelude.readsPrec(Curry.RunTimeSystem.eleven)(r3), ((,) x5 r5) <- Prelude.readsPrec(Curry.RunTimeSystem.eleven)(r4)])(r)++++++c_defaults :: Curry.RunTimeSystem.State -> Curry.Module.Make.C_Parameter+c_defaults st = Curry.Module.Make.C_Parameter(Curry.Module.Prelude.C_False)(Curry.Module.Prelude.C_False)(Curry.Module.Prelude.C_Nothing)(Curry.Module.Prelude.C_Nothing)(Curry.Module.Prelude.List)++++c_quiet :: Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_quiet x1@(Curry.Module.Make.C_Parameter x2 x3 x4 x5 x6) st = x2+c_quiet (Curry.Module.Make.C_ParameterOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_quiet(x)(st))(i)(xs)(st)+c_quiet x st = Curry.RunTimeSystem.patternFail("Make.quiet")(x)++++c_setQuiet :: Curry.Module.Prelude.C_Bool -> Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Make.C_Parameter+c_setQuiet x1 x2@(Curry.Module.Make.C_Parameter x3 x4 x5 x6 x7) st = Curry.Module.Make.C_Parameter(x1)(x4)(x5)(x6)(x7)+c_setQuiet x1 (Curry.Module.Make.C_ParameterOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_setQuiet(x1)(x)(st))(i)(xs)(st)+c_setQuiet x1 x st = Curry.RunTimeSystem.patternFail("Make.setQuiet")(x)++++c_force :: Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_force x1@(Curry.Module.Make.C_Parameter x2 x3 x4 x5 x6) st = x3+c_force (Curry.Module.Make.C_ParameterOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_force(x)(st))(i)(xs)(st)+c_force x st = Curry.RunTimeSystem.patternFail("Make.force")(x)++++c_setForce :: Curry.Module.Prelude.C_Bool -> Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Make.C_Parameter+c_setForce x1 x2@(Curry.Module.Make.C_Parameter x3 x4 x5 x6 x7) st = Curry.Module.Make.C_Parameter(x3)(x1)(x5)(x6)(x7)+c_setForce x1 (Curry.Module.Make.C_ParameterOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_setForce(x1)(x)(st))(i)(xs)(st)+c_setForce x1 x st = Curry.RunTimeSystem.patternFail("Make.setForce")(x)++++c_output :: Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)+c_output x1@(Curry.Module.Make.C_Parameter x2 x3 x4 x5 x6) st = x4+c_output (Curry.Module.Make.C_ParameterOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_output(x)(st))(i)(xs)(st)+c_output x st = Curry.RunTimeSystem.patternFail("Make.output")(x)++++c_setOutput :: (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Make.C_Parameter+c_setOutput x1 x2@(Curry.Module.Make.C_Parameter x3 x4 x5 x6 x7) st = Curry.Module.Make.C_Parameter(x3)(x4)(x1)(x6)(x7)+c_setOutput x1 (Curry.Module.Make.C_ParameterOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_setOutput(x1)(x)(st))(i)(xs)(st)+c_setOutput x1 x st = Curry.RunTimeSystem.patternFail("Make.setOutput")(x)++++c_main :: Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)+c_main x1@(Curry.Module.Make.C_Parameter x2 x3 x4 x5 x6) st = x5+c_main (Curry.Module.Make.C_ParameterOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_main(x)(st))(i)(xs)(st)+c_main x st = Curry.RunTimeSystem.patternFail("Make.main")(x)++++c_setMain :: (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Make.C_Parameter+c_setMain x1 x2@(Curry.Module.Make.C_Parameter x3 x4 x5 x6 x7) st = Curry.Module.Make.C_Parameter(x3)(x4)(x5)(x1)(x7)+c_setMain x1 (Curry.Module.Make.C_ParameterOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_setMain(x1)(x)(st))(i)(xs)(st)+c_setMain x1 x st = Curry.RunTimeSystem.patternFail("Make.setMain")(x)++++c_modulename :: Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char+c_modulename x1@(Curry.Module.Make.C_Parameter x2 x3 x4 x5 x6) st = x6+c_modulename (Curry.Module.Make.C_ParameterOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_modulename(x)(st))(i)(xs)(st)+c_modulename x st = Curry.RunTimeSystem.patternFail("Make.modulename")(x)++++c_setModulename :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Make.C_Parameter+c_setModulename x1 x2@(Curry.Module.Make.C_Parameter x3 x4 x5 x6 x7) st = Curry.Module.Make.C_Parameter(x3)(x4)(x5)(x6)(x1)+c_setModulename x1 (Curry.Module.Make.C_ParameterOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_setModulename(x1)(x)(st))(i)(xs)(st)+c_setModulename x1 x st = Curry.RunTimeSystem.patternFail("Make.setModulename")(x)++++c_parseArgs :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Make.C_Parameter+c_parseArgs st = Curry.Module.Prelude.op_62_62_61(Curry.Module.System.c_getArgs(st))(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_return))(Curry.Module.Prelude.pf(Curry.Module.Make.c_parseArgs'46parse'4650(Curry.Module.Prelude.c_error((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('g'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(':'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('<'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('/'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('>'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('<'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('q'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('/'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('q'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('>'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('<'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('>'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('m'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('m'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))(Curry.Module.Prelude.List)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(st))(Curry.Module.Make.c_defaults(st))))(st))(st)++++c_parseArgs'46parse'4650 :: Curry.Module.Make.C_Parameter -> Curry.Module.Make.C_Parameter -> (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Make.C_Parameter+c_parseArgs'46parse'4650 x1 x2 x3@Curry.Module.Prelude.List st = x1+c_parseArgs'46parse'4650 x1 x2 x3@((Curry.Module.Prelude.:<) x4 x5) st = Curry.Module.Make.c_parseArgs'46parse'4650_case_15(x1)(x2)(x4)(x5)(Curry.Module.Prelude.op_61_61(x4)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('q'))(Curry.Module.Prelude.List)))(st))(st)+c_parseArgs'46parse'4650 x1 x2 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_parseArgs'46parse'4650(x1)(x2)(x)(st))(i)(xs)(st)+c_parseArgs'46parse'4650 x1 x2 x st = Curry.RunTimeSystem.patternFail("Make.parseArgs.parse.50")(x)++++c_make :: (Curry t0) => Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Bool -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t0)))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t0) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0)))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0))))+c_make st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))))(Curry.Module.Make.c_makeWithFrontendParams(Curry.Module.Distribution.c_defaultParams(st)))++++c_makeWithFrontendParams :: (Curry t0) => Curry.Module.Distribution.C_FrontendParams -> Curry.Module.Prelude.C_Bool -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t0)))) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t0) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0)))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_makeWithFrontendParams x1 x2 x3 x4 x5 st = let {x6 = Curry.Module.FileGoodies.c_splitDirectoryBaseName(x3)(st)} in Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.c_maybe(Curry.Module.Distribution.c_getLoadPath(st))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_return))(Curry.Module.Distribution.c_fullPath(x1)(st))(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_makeWithFrontendParams'46_'35lambda4(x5)(Curry.Module.Make.c_makeWithFrontendParams'46_'35selFP3'35dir(x6)(st))(x1)(Curry.Module.Make.c_makeWithFrontendParams'46_'35selFP4'35modu(x6)(st))(x2)(x4)))(st)++++c_makeWithFrontendParams'46_'35selFP3'35dir :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char+c_makeWithFrontendParams'46_'35selFP3'35dir x1@(Curry.Module.Prelude.T2 x2 x3) st = x2+c_makeWithFrontendParams'46_'35selFP3'35dir (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_makeWithFrontendParams'46_'35selFP3'35dir(x)(st))(i)(xs)(st)+c_makeWithFrontendParams'46_'35selFP3'35dir x st = Curry.RunTimeSystem.patternFail("Make.makeWithFrontendParams._#selFP3#dir")(x)++++c_makeWithFrontendParams'46_'35selFP4'35modu :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char+c_makeWithFrontendParams'46_'35selFP4'35modu x1@(Curry.Module.Prelude.T2 x2 x3) st = x3+c_makeWithFrontendParams'46_'35selFP4'35modu (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_makeWithFrontendParams'46_'35selFP4'35modu(x)(st))(i)(xs)(st)+c_makeWithFrontendParams'46_'35selFP4'35modu x st = Curry.RunTimeSystem.patternFail("Make.makeWithFrontendParams._#selFP4#modu")(x)++++c_makeWithFrontendParams'46_'35lambda4 :: (Curry t209) => (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t209) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t209)))) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.Distribution.C_FrontendParams -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.Prelude.C_Bool -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t209)))) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_makeWithFrontendParams'46_'35lambda4 x1 x2 x3 x4 x5 x6 x7 st = let {x8 = Curry.Module.Make.c_makeWithFrontendParams'46_'35lambda4_case_6(x2)(x7)(Curry.Module.Prelude.op_61_61(x2)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))(Curry.Module.Prelude.List))(st))(st)} in Curry.Module.Prelude.op_62_62_61(Curry.Module.FileGoodies.c_lookupFileInPath(x4)((Curry.Module.Prelude.:<)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))(Curry.Module.Prelude.List)))))))((Curry.Module.Prelude.:<)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))(Curry.Module.Prelude.List))))))))(Curry.Module.Prelude.List)))(x8)(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_makeWithFrontendParams'46_'35lambda4'46_'35lambda5(x1)(x8)(x4)(Curry.Module.Distribution.c_setFullPath(x8)(x3)(st))(x5)(x6)))(st)++++c_makeWithFrontendParams'46_'35lambda4'46_'35lambda5 :: (Curry t209) => (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t209) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t209)))) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.Distribution.C_FrontendParams -> Curry.Module.Prelude.C_Bool -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t209)))) -> (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_makeWithFrontendParams'46_'35lambda4'46_'35lambda5 x1 x2 x3 x4 x5 x6 x7 st = Curry.Module.Prelude.op_62_62(Curry.Module.Make.c_unless(Curry.Module.Prelude.op_61_61(x7)(Curry.Module.Prelude.C_Nothing)(st))(Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Make.c_unless(x5)))(Curry.Module.Prelude.c_putStrLn((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('g'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('x'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('/'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))(Curry.Module.Prelude.List))))))))))))))))))))))))))))))))))))))))(st))(st))(Curry.Module.Prelude.op_62_62(Curry.Module.Distribution.c_callFrontendWithParams(Curry.Module.Distribution.C_FCY)(Curry.Module.Distribution.c_setQuiet(Curry.Module.Prelude.C_True)(x4)(st))(x3)(st))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Make.c_unless(x5)))(Curry.Module.Prelude.c_putStrLn((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))(Curry.Module.Prelude.List)))))))))))(st))(st))(st))(st))(st))(Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_newIORef(Curry.Module.FiniteMap.c_emptyFM(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Make.c_makeWithFrontendParams'46_'35lambda4'46_'35lambda5'46_'35lambda6))(st))(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_makeWithFrontendParams'46_'35lambda4'46_'35lambda5'46_'35lambda7(x1)(x2)(x3)(x6)))(st))(st)++++c_makeWithFrontendParams'46_'35lambda4'46_'35lambda5'46_'35lambda6 :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_makeWithFrontendParams'46_'35lambda4'46_'35lambda5'46_'35lambda6 x1 x2 st = Curry.Module.Prelude.c_not(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Sort.c_leqString(st))(x1)(st))(x2)(st))(st)++++c_makeWithFrontendParams'46_'35lambda4'46_'35lambda5'46_'35lambda7 :: (Curry t209) => (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t209) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t209)))) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t209)))) -> (Curry.Module.IOExts.C_IORef (Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t209)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_makeWithFrontendParams'46_'35lambda4'46_'35lambda5'46_'35lambda7 x1 x2 x3 x4 x5 st = Curry.Module.Prelude.op_62_62(Curry.Module.Make.c_workUpDependence(x2)(x5)(x4)(x1)(x3)(st))(Curry.Module.Prelude.c_return(Curry.Module.Prelude.T0)(st))(st)++++c_workUpDependence :: (Curry t0) => (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.IOExts.C_IORef (Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t0)) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t0)))) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t0) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0)))) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0+c_workUpDependence x1 x2 x3 x4 x5 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_readIORef(x2)(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_workUpDependence'46_'35lambda8(x4)(x2)(x5)(x1)(x3)))(st)++++c_workUpDependence'46_'35lambda8 :: (Curry t141) => (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t141) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t141)))) -> (Curry.Module.IOExts.C_IORef (Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t141)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t141)))) -> (Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t141) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t141+c_workUpDependence'46_'35lambda8 x1 x2 x3 x4 x5 x6 st = Curry.Module.Prelude.c_maybe(Curry.Module.Make.c_process(x4)(x2)(x5)(x1)(x3)(st))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_return))(Curry.Module.FiniteMap.c_lookupFM(x6)(x3)(st))(st)++++c_process :: (Curry t0) => (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.IOExts.C_IORef (Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t0)) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t0)))) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t0) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0)))) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0+c_process x1 x2 x3 x4 x5 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.FileGoodies.c_getFileInPath(Curry.Module.Prelude.op_43_43(x5)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))(Curry.Module.Prelude.List)))))(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.List)(Curry.Module.Prelude.List))(x1)(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_process'46_'35lambda9(x4)(x2)(x5)(x1)(x3)))(st)++++c_process'46_'35lambda9 :: (Curry t167) => (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t167) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t167)))) -> (Curry.Module.IOExts.C_IORef (Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t167)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t167)))) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t167+c_process'46_'35lambda9 x1 x2 x3 x4 x5 x6 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.op_62_62_61(Curry.Module.Make.c_fastReadImports(x6)(st))(Curry.Module.Prelude.c_mapIO(Curry.Module.Prelude.pf(Curry.Module.Make.c_workUpDependence(x4)(x2)(x5)(x1)))(st))(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_process'46_'35lambda9'46_'35lambda10(x1)(x2)(x6)(x3)(x5)))(st)++++c_process'46_'35lambda9'46_'35lambda10 :: (Curry t167) => (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t167) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t167)))) -> (Curry.Module.IOExts.C_IORef (Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t167)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t167)))) -> (Curry.Module.Prelude.List t167) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t167+c_process'46_'35lambda9'46_'35lambda10 x1 x2 x3 x4 x5 x6 st = let {x7 = Curry.Module.Prelude.op_43_43(Curry.Module.FileGoodies.c_dirName(x3)(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('/'))(Curry.Module.Prelude.List))(st)} in Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x5)(x7)(st))(x4)(st))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_maybe(Curry.Module.Prelude.op_62_62_61(Curry.Module.FlatCurry.c_readFlatCurryFile(x3)(st))(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x1)(x7)(st))(x6)(st))(st))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_return))))(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_process'46_'35lambda9'46_'35lambda10'46_'35lambda11(x2)(x4)))(st)++++c_process'46_'35lambda9'46_'35lambda10'46_'35lambda11 :: (Curry t167) => (Curry.Module.IOExts.C_IORef (Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t167)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> t167 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t167+c_process'46_'35lambda9'46_'35lambda10'46_'35lambda11 x1 x2 x3 st = Curry.Module.Prelude.op_62_62(Curry.Module.Make.c_updateIORef(x1)(Curry.Module.Prelude.pf(Curry.Module.Make.c_process'46_'35lambda9'46_'35lambda10'46_'35lambda11'46_'35lambda12(x2)(x3)))(st))(Curry.Module.Prelude.c_return(x3)(st))(st)++++c_process'46_'35lambda9'46_'35lambda10'46_'35lambda11'46_'35lambda12 :: (Curry t167) => (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> t167 -> (Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t167) -> Curry.RunTimeSystem.State -> Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t167+c_process'46_'35lambda9'46_'35lambda10'46_'35lambda11'46_'35lambda12 x1 x2 x3 st = Curry.Module.FiniteMap.c_addToFM(x3)(x1)(x2)(st)++++c_obsolete :: (Curry t0) => Curry.Module.Prelude.C_Bool -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char))) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char))) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t0)+c_obsolete x1 x2 x3 x4 x5 x6 st = let {x7 = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x2)(x5)(st))(x6)(st)} in Curry.Module.Prelude.op_62_62_61(Curry.Module.Directory.c_doesFileExist(x7)(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_obsolete'46_'35lambda15(x4)(x7)(Curry.Module.Prelude.c_map(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.op_43_43(x5)))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_flip(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_36))(x6)))(st))(x3)(st))(x1)))(st)++++c_obsolete'46isNewerThan'4686 :: Curry.Module.Time.C_ClockTime -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.C_Bool+c_obsolete'46isNewerThan'4686 x1 x2 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.Directory.c_doesFileExist(x2)(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_obsolete'46isNewerThan'4686'46_'35lambda13(x2)(x1)))(st)++++c_obsolete'46isNewerThan'4686'46_'35lambda13 :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.Time.C_ClockTime -> Curry.Module.Prelude.C_Bool -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.C_Bool+c_obsolete'46isNewerThan'4686'46_'35lambda13 x1 x2 x3 st = Curry.Module.Make.c_obsolete'46isNewerThan'4686'46_'35lambda13_case_5(x1)(x2)(x3)(Curry.Module.Prelude.c_not(x3)(st))(st)++++c_obsolete'46isNewerThan'4686'46_'35lambda13'46_'35lambda14 :: Curry.Module.Time.C_ClockTime -> Curry.Module.Time.C_ClockTime -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.C_Bool+c_obsolete'46isNewerThan'4686'46_'35lambda13'46_'35lambda14 x1 x2 st = Curry.Module.Prelude.c_return(Curry.Module.Prelude.op_47_61(Curry.Module.Time.c_compareClockTime(x1)(x2)(st))(Curry.Module.Prelude.C_GT)(st))(st)++++c_obsolete'46_'35lambda15 :: (Curry t287) => (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t287)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.Module.Prelude.C_Bool -> Curry.Module.Prelude.C_Bool -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t287)+c_obsolete'46_'35lambda15 x1 x2 x3 x4 x5@Curry.Module.Prelude.C_True st = Curry.Module.Prelude.op_62_62_61(Curry.Module.Directory.c_getModificationTime(x2)(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_obsolete'46_'35lambda15'46_'35lambda16(x1)(x2)(x3)(x4)))(st)+c_obsolete'46_'35lambda15 x1 x2 x3 x4 x5@Curry.Module.Prelude.C_False st = Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Make.c_unless(x4)))(Curry.Module.Prelude.c_putStrLn(Curry.Module.Prelude.op_43_43((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('m'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('g'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(':'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))(Curry.Module.Prelude.List)))))))))))))(x2)(st))(st))(st))(Curry.Module.Prelude.c_return(Curry.Module.Prelude.C_Nothing)(st))(st)+c_obsolete'46_'35lambda15 x1 x2 x3 x4 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_obsolete'46_'35lambda15(x1)(x2)(x3)(x4)(x)(st))(i)(xs)(st)+c_obsolete'46_'35lambda15 x1 x2 x3 x4 x st = Curry.RunTimeSystem.patternFail("Make.obsolete._#lambda15")(x)++++c_obsolete'46_'35lambda15'46_'35lambda16 :: (Curry t287) => (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t287)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.Module.Prelude.C_Bool -> Curry.Module.Time.C_ClockTime -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t287)+c_obsolete'46_'35lambda15'46_'35lambda16 x1 x2 x3 x4 x5 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_mapIO(Curry.Module.Prelude.pf(Curry.Module.Make.c_obsolete'46isNewerThan'4686(x5)))(st))(x3)(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_obsolete'46_'35lambda15'46_'35lambda16'46_'35lambda17(x1)(x2)(x3)(x4)))(st)++++c_obsolete'46_'35lambda15'46_'35lambda16'46_'35lambda17 :: (Curry t287) => (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t287)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.Module.Prelude.C_Bool -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Bool) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t287)+c_obsolete'46_'35lambda15'46_'35lambda16'46_'35lambda17 x1 x2 x3 x4 x5 st = Curry.Module.Make.c_obsolete'46_'35lambda15'46_'35lambda16'46_'35lambda17_case_4(x1)(x2)(x3)(x4)(x5)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_or(st))(x5)(st))(st)++++c_fastReadImports :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char))+c_fastReadImports x1 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.c_readFile(x1)(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_fastReadImports'46_'35lambda18))(st)++++c_fastReadImports'46_'35lambda18 :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char))+c_fastReadImports'46_'35lambda18 x1 st = Curry.Module.Prelude.c_return(Curry.Module.Make.c_strings(Curry.Module.Prelude.c_takeWhile(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_flip(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_47_61))(Curry.Module.Prelude.C_Char(']'))))(Curry.Module.Prelude.c_dropWhile(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_flip(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_47_61))(Curry.Module.Prelude.C_Char('['))))(x1)(st))(st))(st))(st)++++c_strings :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)+c_strings x1@Curry.Module.Prelude.List st = Curry.Module.Prelude.List+c_strings x1@((Curry.Module.Prelude.:<) x2 x3) st = Curry.Module.Make.c_strings_case_3(x2)(x3)(Curry.Module.Prelude.op_61_61(x2)(Curry.Module.Prelude.C_Char('\"'))(st))(st)+c_strings (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_strings(x)(st))(i)(xs)(st)+c_strings x st = Curry.RunTimeSystem.patternFail("Make.strings")(x)++++c_updateIORef :: (Curry t0) => (Curry.Module.IOExts.C_IORef t0) -> (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> t0)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_updateIORef x1 x2 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_readIORef(x1)(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_updateIORef'46_'35lambda20(x2)(x1)))(st)++++c_updateIORef'46_'35lambda20 :: (Curry t127) => (Curry.Module.Prelude.Prim (t127 -> Curry.RunTimeSystem.State -> t127)) -> (Curry.Module.IOExts.C_IORef t127) -> t127 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_updateIORef'46_'35lambda20 x1 x2 x3 st = Curry.Module.IOExts.c_writeIORef(x2)(Curry.Module.Prelude.c_apply(x1)(x3)(st))(st)++++c_unless :: Curry.Module.Prelude.C_Bool -> (Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_unless x1@Curry.Module.Prelude.C_True x2 st = Curry.Module.Prelude.c_return(Curry.Module.Prelude.T0)(st)+c_unless x1@Curry.Module.Prelude.C_False x2 st = x2+c_unless (Curry.Module.Prelude.C_BoolOr i xs) x2 st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_unless(x)(x2)(st))(i)(xs)(st)+c_unless x x2 st = Curry.RunTimeSystem.patternFail("Make.unless")(x)++++c_strings_case_3 x2 x3 x4@Curry.Module.Prelude.C_True st = Curry.Module.Make.c_strings_case_2(x3)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_break(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_flip(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_61_61))(Curry.Module.Prelude.C_Char('\"'))))(st))(x3)(st))(st)+c_strings_case_3 x2 x3 x4@Curry.Module.Prelude.C_False st = Curry.Module.Make.c_strings_case_0(x3)(Curry.Module.Prelude.c_otherwise(st))(st)+c_strings_case_3 x2 x3 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_strings_case_3(x2)(x3)(x)(st))(i)(xs)(st)+c_strings_case_3 x2 x3 x st = Curry.RunTimeSystem.patternFail("Make.strings_case_3")(x)++++c_strings_case_0 x3 x4@Curry.Module.Prelude.C_True st = Curry.Module.Make.c_strings(x3)(st)+c_strings_case_0 x3 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_strings_case_0(x3)(x)(st))(i)(xs)(st)+c_strings_case_0 x3 x st = Curry.RunTimeSystem.patternFail("Make.strings_case_0")(x)++++c_strings_case_2 x3 (Curry.Module.Prelude.T2 x4 x5) st = Curry.Module.Make.c_strings_case_1(x4)(x5)(st)+c_strings_case_2 x3 (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_strings_case_2(x3)(x)(st))(i)(xs)(st)+c_strings_case_2 x3 x st = Curry.RunTimeSystem.patternFail("Make.strings_case_2")(x)++++c_strings_case_1 x4 x5@((Curry.Module.Prelude.:<) x6 x7) st = (Curry.Module.Prelude.:<)(x4)(Curry.Module.Make.c_strings(x7)(st))+c_strings_case_1 x4 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_strings_case_1(x4)(x)(st))(i)(xs)(st)+c_strings_case_1 x4 x st = Curry.RunTimeSystem.patternFail("Make.strings_case_1")(x)++++c_obsolete'46_'35lambda15'46_'35lambda16'46_'35lambda17_case_4 x1 x2 x3 x4 x5 x6@Curry.Module.Prelude.C_True st = Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Make.c_unless(x4)))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_putStrLn))(Curry.Module.Prelude.op_43_43((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('b'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(':'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))(Curry.Module.Prelude.List)))))))))))))(x2)(st))(st))(st))(Curry.Module.Prelude.c_return(Curry.Module.Prelude.C_Nothing)(st))(st)+c_obsolete'46_'35lambda15'46_'35lambda16'46_'35lambda17_case_4 x1 x2 x3 x4 x5 x6@Curry.Module.Prelude.C_False st = Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Make.c_unless(x4)))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_putStrLn))(Curry.Module.Prelude.op_43_43((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(':'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))(Curry.Module.Prelude.List)))))))))))))(x2)(st))(st))(st))(Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.c_apply(x1)(x3)(st))(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_return))(Curry.Module.Prelude.pc(Curry.Module.Prelude.C_Just))(st))(st))(st)+c_obsolete'46_'35lambda15'46_'35lambda16'46_'35lambda17_case_4 x1 x2 x3 x4 x5 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_obsolete'46_'35lambda15'46_'35lambda16'46_'35lambda17_case_4(x1)(x2)(x3)(x4)(x5)(x)(st))(i)(xs)(st)+c_obsolete'46_'35lambda15'46_'35lambda16'46_'35lambda17_case_4 x1 x2 x3 x4 x5 x st = Curry.RunTimeSystem.patternFail("Make.obsolete._#lambda15._#lambda16._#lambda17_case_4")(x)++++c_obsolete'46isNewerThan'4686'46_'35lambda13_case_5 x1 x2 x3 x4@Curry.Module.Prelude.C_True st = Curry.Module.Prelude.c_return(Curry.Module.Prelude.C_False)(st)+c_obsolete'46isNewerThan'4686'46_'35lambda13_case_5 x1 x2 x3 x4@Curry.Module.Prelude.C_False st = Curry.Module.Prelude.op_62_62_61(Curry.Module.Directory.c_getModificationTime(x1)(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_obsolete'46isNewerThan'4686'46_'35lambda13'46_'35lambda14(x2)))(st)+c_obsolete'46isNewerThan'4686'46_'35lambda13_case_5 x1 x2 x3 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_obsolete'46isNewerThan'4686'46_'35lambda13_case_5(x1)(x2)(x3)(x)(st))(i)(xs)(st)+c_obsolete'46isNewerThan'4686'46_'35lambda13_case_5 x1 x2 x3 x st = Curry.RunTimeSystem.patternFail("Make.obsolete.isNewerThan.86._#lambda13_case_5")(x)++++c_makeWithFrontendParams'46_'35lambda4_case_6 x2 x7 x8@Curry.Module.Prelude.C_True st = x7+c_makeWithFrontendParams'46_'35lambda4_case_6 x2 x7 x8@Curry.Module.Prelude.C_False st = (Curry.Module.Prelude.:<)(x2)(x7)+c_makeWithFrontendParams'46_'35lambda4_case_6 x2 x7 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_makeWithFrontendParams'46_'35lambda4_case_6(x2)(x7)(x)(st))(i)(xs)(st)+c_makeWithFrontendParams'46_'35lambda4_case_6 x2 x7 x st = Curry.RunTimeSystem.patternFail("Make.makeWithFrontendParams._#lambda4_case_6")(x)++++c_parseArgs'46parse'4650_case_15 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_True st = Curry.Module.Make.c_parseArgs'46parse'4650(x1)(Curry.Module.Make.c_setQuiet(Curry.Module.Prelude.C_True)(x2)(st))(x5)(st)+c_parseArgs'46parse'4650_case_15 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_False st = Curry.Module.Make.c_parseArgs'46parse'4650_case_14(x1)(x2)(x4)(x5)(Curry.Module.Prelude.op_61_61(x4)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('q'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))(Curry.Module.Prelude.List))))))))(st))(st)+c_parseArgs'46parse'4650_case_15 x1 x2 x4 x5 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_parseArgs'46parse'4650_case_15(x1)(x2)(x4)(x5)(x)(st))(i)(xs)(st)+c_parseArgs'46parse'4650_case_15 x1 x2 x4 x5 x st = Curry.RunTimeSystem.patternFail("Make.parseArgs.parse.50_case_15")(x)++++c_parseArgs'46parse'4650_case_14 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_True st = Curry.Module.Make.c_parseArgs'46parse'4650(x1)(Curry.Module.Make.c_setQuiet(Curry.Module.Prelude.C_True)(x2)(st))(x5)(st)+c_parseArgs'46parse'4650_case_14 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_False st = Curry.Module.Make.c_parseArgs'46parse'4650_case_13(x1)(x2)(x4)(x5)(Curry.Module.Prelude.op_61_61(x4)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))(Curry.Module.Prelude.List)))(st))(st)+c_parseArgs'46parse'4650_case_14 x1 x2 x4 x5 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_parseArgs'46parse'4650_case_14(x1)(x2)(x4)(x5)(x)(st))(i)(xs)(st)+c_parseArgs'46parse'4650_case_14 x1 x2 x4 x5 x st = Curry.RunTimeSystem.patternFail("Make.parseArgs.parse.50_case_14")(x)++++c_parseArgs'46parse'4650_case_13 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_True st = Curry.Module.Make.c_parseArgs'46parse'4650(x1)(Curry.Module.Make.c_setForce(Curry.Module.Prelude.C_True)(x2)(st))(x5)(st)+c_parseArgs'46parse'4650_case_13 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_False st = Curry.Module.Make.c_parseArgs'46parse'4650_case_12(x1)(x2)(x4)(x5)(Curry.Module.Prelude.op_61_61(x4)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))(Curry.Module.Prelude.List))))))))(st))(st)+c_parseArgs'46parse'4650_case_13 x1 x2 x4 x5 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_parseArgs'46parse'4650_case_13(x1)(x2)(x4)(x5)(x)(st))(i)(xs)(st)+c_parseArgs'46parse'4650_case_13 x1 x2 x4 x5 x st = Curry.RunTimeSystem.patternFail("Make.parseArgs.parse.50_case_13")(x)++++c_parseArgs'46parse'4650_case_12 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_True st = Curry.Module.Make.c_parseArgs'46parse'4650(x1)(Curry.Module.Make.c_setForce(Curry.Module.Prelude.C_True)(x2)(st))(x5)(st)+c_parseArgs'46parse'4650_case_12 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_False st = Curry.Module.Make.c_parseArgs'46parse'4650_case_11(x1)(x2)(x4)(x5)(Curry.Module.Prelude.op_61_61(x4)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))(Curry.Module.Prelude.List)))(st))(st)+c_parseArgs'46parse'4650_case_12 x1 x2 x4 x5 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_parseArgs'46parse'4650_case_12(x1)(x2)(x4)(x5)(x)(st))(i)(xs)(st)+c_parseArgs'46parse'4650_case_12 x1 x2 x4 x5 x st = Curry.RunTimeSystem.patternFail("Make.parseArgs.parse.50_case_12")(x)++++c_parseArgs'46parse'4650_case_11 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_True st = Curry.Module.Make.c_parseArgs'46parse'4650_case_10(x1)(x2)(x5)(st)+c_parseArgs'46parse'4650_case_11 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_False st = Curry.Module.Make.c_parseArgs'46parse'4650_case_9(x1)(x2)(x4)(x5)(Curry.Module.Prelude.op_61_61(x4)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('m'))(Curry.Module.Prelude.List)))(st))(st)+c_parseArgs'46parse'4650_case_11 x1 x2 x4 x5 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_parseArgs'46parse'4650_case_11(x1)(x2)(x4)(x5)(x)(st))(i)(xs)(st)+c_parseArgs'46parse'4650_case_11 x1 x2 x4 x5 x st = Curry.RunTimeSystem.patternFail("Make.parseArgs.parse.50_case_11")(x)++++c_parseArgs'46parse'4650_case_9 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_True st = Curry.Module.Make.c_parseArgs'46parse'4650_case_8(x1)(x2)(x5)(st)+c_parseArgs'46parse'4650_case_9 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_False st = Curry.Module.Make.c_parseArgs'46parse'4650_case_7(x2)(x4)(x5)(Curry.Module.Prelude.c_null(x5)(st))(st)+c_parseArgs'46parse'4650_case_9 x1 x2 x4 x5 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_parseArgs'46parse'4650_case_9(x1)(x2)(x4)(x5)(x)(st))(i)(xs)(st)+c_parseArgs'46parse'4650_case_9 x1 x2 x4 x5 x st = Curry.RunTimeSystem.patternFail("Make.parseArgs.parse.50_case_9")(x)++++c_parseArgs'46parse'4650_case_7 x2 x4 x5 x6@Curry.Module.Prelude.C_True st = Curry.Module.Make.c_setModulename(x4)(x2)(st)+c_parseArgs'46parse'4650_case_7 x2 x4 x5 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_parseArgs'46parse'4650_case_7(x2)(x4)(x5)(x)(st))(i)(xs)(st)+c_parseArgs'46parse'4650_case_7 x2 x4 x5 x st = Curry.RunTimeSystem.patternFail("Make.parseArgs.parse.50_case_7")(x)++++c_parseArgs'46parse'4650_case_8 x1 x2 x5@((Curry.Module.Prelude.:<) x8 x9) st = Curry.Module.Make.c_parseArgs'46parse'4650(x1)(Curry.Module.Make.c_setMain(Curry.Module.Prelude.C_Just(x8))(x2)(st))(x9)(st)+c_parseArgs'46parse'4650_case_8 x1 x2 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_parseArgs'46parse'4650_case_8(x1)(x2)(x)(st))(i)(xs)(st)+c_parseArgs'46parse'4650_case_8 x1 x2 x st = Curry.RunTimeSystem.patternFail("Make.parseArgs.parse.50_case_8")(x)++++c_parseArgs'46parse'4650_case_10 x1 x2 x5@((Curry.Module.Prelude.:<) x6 x7) st = Curry.Module.Make.c_parseArgs'46parse'4650(x1)(Curry.Module.Make.c_setOutput(Curry.Module.Prelude.C_Just(x6))(x2)(st))(x7)(st)+c_parseArgs'46parse'4650_case_10 x1 x2 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_parseArgs'46parse'4650_case_10(x1)(x2)(x)(st))(i)(xs)(st)+c_parseArgs'46parse'4650_case_10 x1 x2 x st = Curry.RunTimeSystem.patternFail("Make.parseArgs.parse.50_case_10")(x)++
+ dist/build/Curry/Module/Oracle.hs view
@@ -0,0 +1,149 @@+{-# OPTIONS -cpp #-}++{-# LANGUAGE RankNTypes, ScopedTypeVariables, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances #-}++module Curry.Module.Oracle (module Curry.Module.Oracle) where++import Curry.RunTimeSystem+import Curry.Module.CEventOracle+import Curry.Module.IOExts+import Curry.Module.Prelude+import Curry.Module.Unsafe+import Curry.Module.Meta++++-- begin included++++-- end included++c_partCons :: (Curry t0,Curry t1) => (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> t1)) -> Curry.Module.CEventOracle.C_Ref -> t0 -> Curry.RunTimeSystem.State -> t1+c_partCons x1 x2 x3 st = Curry.Module.CEventOracle.c_closeRef(x2)(Curry.Module.Prelude.c_apply(x1)(x3)(st))(st)++++c_partFunc :: (Curry t0,Curry t1) => (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> t1))) -> Curry.Module.CEventOracle.C_Ref -> t0 -> Curry.RunTimeSystem.State -> t1+c_partFunc x1 x2 x3 st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x1)(x3)(st))(x2)(st)++++c_partCall :: (Curry t0) => t0 -> Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> t0+c_partCall x1 x2 st = Curry.Module.CEventOracle.c_closeRef(x2)(x1)(st)++++c_apply :: (Curry t0,Curry t1) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> t1))) -> t0 -> Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> t1+c_apply x1 x2 x3 st = Curry.Module.CEventOracle.c_apply(x1)(x2)(x3)(st)++++op_36_33 :: (Curry t0,Curry t1) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> t1))) -> t0 -> Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> t1+op_36_33 x1 x2 x3 st = Curry.Module.CEventOracle.op_36_33(x1)(x2)(x3)(st)++++op_36_33_33 :: (Curry t0,Curry t1) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> t1))) -> t0 -> Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> t1+op_36_33_33 x1 x2 x3 st = Curry.Module.CEventOracle.op_36_33_33(x1)(x2)(x3)(st)++++op_36_35 :: (Curry t0,Curry t1) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> t1))) -> t0 -> Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> t1+op_36_35 x1 x2 x3 st = Curry.Module.CEventOracle.op_36_35(x1)(x2)(x3)(st)++++op_36_35_35 :: (Curry t0,Curry t1) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> t1))) -> t0 -> Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> t1+op_36_35_35 x1 x2 x3 st = Curry.Module.CEventOracle.op_36_35_35(x1)(x2)(x3)(st)++++c_headNormalFormIO :: (Curry t0,Curry t1) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.T0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t1))))) -> t0 -> Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.T0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t1))+c_headNormalFormIO x1 x2 x3 st = Curry.Module.Prelude.c_error((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('h'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('N'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('m'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('F'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('m'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('I'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('O'))(Curry.Module.Prelude.List)))))))))))))))))(st)++++c_prim_unsafePerformIO :: (Curry t0) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.T0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0))) -> Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> t0+c_prim_unsafePerformIO x1 x2 st = Curry.Module.CEventOracle.c_replace(x2)(Curry.Module.Unsafe.c_unsafePerformIO(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x1)(x2)(st))(Curry.Module.Prelude.T0)(st))(st))(st)++++c_lambda_world :: (Curry t0) => (Curry.Module.Prelude.C_IO t0) -> Curry.Module.CEventOracle.C_Ref -> Curry.Module.Prelude.T0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0+c_lambda_world x1 x2 x3 st = Curry.Module.CEventOracle.c_collapse(x2)(x1)(st)++++op_62_62_61 :: (Curry t0,Curry t1) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.T0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0))) -> (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.T0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t1))))) -> Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.T0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t1))+op_62_62_61 x1 x2 x3 st = Curry.Module.CEventOracle.c_collapse(x3)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Oracle.c_partFunc(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Oracle.c_bind(x1)(x2)))))(st)++++c_bind :: (Curry t0,Curry t1) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.T0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0))) -> (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.T0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t1))))) -> Curry.Module.Prelude.T0 -> Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t1+c_bind x1 x2 x3 x4 st = let {x5 = Curry.Module.CEventOracle.c_fresh(Curry.Module.Prelude.T0)(st)} in Curry.Module.CEventOracle.c_expand(x4)((Curry.Module.Prelude.:<)(x5)(Curry.Module.Prelude.List))(Curry.Module.Prelude.op_62_62_61(Curry.Module.Oracle.c_apply(x1)(x3)(x4)(st))(Curry.Module.Prelude.pf(Curry.Module.Oracle.c_bind2(x2)(x3)(x5)))(st))(st)++++c_bind2 :: (Curry t0,Curry t1) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.T0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t1))))) -> Curry.Module.Prelude.T0 -> Curry.Module.CEventOracle.C_Ref -> t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t1+c_bind2 x1 x2 x3 x4 st = let {x5 = Curry.Module.CEventOracle.c_fresh(Curry.Module.Prelude.T0)(st)} in Curry.Module.CEventOracle.c_expand(x3)((Curry.Module.Prelude.:<)(x5)(Curry.Module.Prelude.List))(Curry.Module.Oracle.c_apply(Curry.Module.Oracle.c_apply(x1)(x4)(x3)(st))(x2)(x5)(st))(st)++++c_catchFail :: (Curry t0) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.T0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0))) -> (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.T0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0))) -> Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.T0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0))+c_catchFail x1 x2 x3 st = Curry.Module.CEventOracle.c_collapse(x3)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Oracle.c_partFunc(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Oracle.c_catch(x1)(x2)))))(st)++++c_catch :: (Curry t0) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.T0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0))) -> (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.T0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0))) -> Curry.Module.Prelude.T0 -> Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0+c_catch x1 x2 x3 x4 st = let {x5 = Curry.Module.CEventOracle.c_fresh(Curry.Module.Prelude.T0)(st)} in Curry.Module.CEventOracle.c_expand(x4)((Curry.Module.Prelude.:<)(x5)(Curry.Module.Prelude.List))(Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.c_catchFail(Curry.Module.Prelude.op_62_62_61(Curry.Module.Oracle.c_apply(x1)(x3)(x4)(st))(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_return))(Curry.Module.Prelude.pc(Curry.Module.Prelude.T2(Curry.Module.Prelude.C_True)))(st))(st))(Curry.Module.Prelude.op_62_62_61(Curry.Module.Oracle.c_apply(x2)(x3)(x5)(st))(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_return))(Curry.Module.Prelude.pc(Curry.Module.Prelude.T2(Curry.Module.Prelude.C_False)))(st))(st))(st))(Curry.Module.Prelude.pf(Curry.Module.Oracle.c_catch'46_'35lambda2))(st))(st)++++c_catch'46_'35lambda2 :: (Curry t162) => (Curry.Module.Prelude.T2 Curry.Module.Prelude.C_Bool t162) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t162+c_catch'46_'35lambda2 x1@(Curry.Module.Prelude.T2 x2 x3) st = Curry.Module.Prelude.op_62_62(Curry.Module.Oracle.c_safeIOResult(Curry.Module.Prelude.c_return(x2)(st))(st))(Curry.Module.Prelude.c_return(x3)(st))(st)+c_catch'46_'35lambda2 (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Oracle.c_catch'46_'35lambda2(x)(st))(i)(xs)(st)+c_catch'46_'35lambda2 x st = Curry.RunTimeSystem.patternFail("Oracle.catch._#lambda2")(x)++++c_compose :: (Curry t0,Curry t1,Curry t2) => (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> t1)) -> (Curry.Module.Prelude.Prim (t2 -> Curry.RunTimeSystem.State -> t0)) -> t2 -> Curry.RunTimeSystem.State -> t1+c_compose x1 x2 x3 st = Curry.Module.Prelude.c_apply(x1)(Curry.Module.Prelude.c_apply(x2)(x3)(st))(st)++++c_oracle :: (Curry t0) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> t0)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_oracle x1 st = Curry.Module.CEventOracle.c_initialize(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_return))(x1)(st))(st)++++c_oracleIO :: (Curry t0) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.T0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0)))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_oracleIO x1 st = Curry.Module.CEventOracle.c_initialize(Curry.Module.Prelude.pf(Curry.Module.Oracle.c_oracleIO'46_'35lambda3(x1)))(st)++++c_oracleIO'46_'35lambda3 :: (Curry t195) => (Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.T0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t195)))) -> Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t195+c_oracleIO'46_'35lambda3 x1 x2 st = let {x3 = Curry.Module.CEventOracle.c_fresh(Curry.Module.Prelude.T0)(st)} in Curry.Module.CEventOracle.c_expand(x2)((Curry.Module.Prelude.:<)(x3)(Curry.Module.Prelude.List))(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x1)(x2)(st))(x3)(st))(Curry.Module.Prelude.T0)(st))(st)++++c_safeIOResult :: (Curry t0) => (Curry.Module.Prelude.C_IO t0) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0+c_safeIOResult x1 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_getAssoc((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('x'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))(Curry.Module.Prelude.List))))))(st))(Curry.Module.Prelude.pf(Curry.Module.Oracle.c_safeIOResult'46_'35lambda4(x1)))(st)++++c_safeIOResult'46_'35lambda4 :: (Curry t120) => (Curry.Module.Prelude.C_IO t120) -> (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t120+c_safeIOResult'46_'35lambda4 x1 x2@(Curry.Module.Prelude.C_Just x3) st = Curry.Module.Prelude.op_62_62_61(x1)(Curry.Module.Prelude.pf(Curry.Module.Oracle.c_safeIOResult'46_'35lambda4'46_'35lambda5(x3)))(st)+c_safeIOResult'46_'35lambda4 x1 (Curry.Module.Prelude.C_MaybeOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Oracle.c_safeIOResult'46_'35lambda4(x1)(x)(st))(i)(xs)(st)+c_safeIOResult'46_'35lambda4 x1 x st = Curry.RunTimeSystem.patternFail("Oracle.safeIOResult._#lambda4")(x)++++c_safeIOResult'46_'35lambda4'46_'35lambda5 :: (Curry t120) => (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> t120 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t120+c_safeIOResult'46_'35lambda4'46_'35lambda5 x1 x2 st = let {x3 = Curry.Module.Prelude.c_show(x2)(st)} in Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.c_appendFile(x1)(Curry.Module.Prelude.op_43_43(Curry.Module.Prelude.c_show(Curry.Module.Prelude.c_length(x3)(st))(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('\n'))(x3))(st))(st))(Curry.Module.Prelude.c_return(x2)(st))(st)++++c_unknown :: (Curry t0) => Curry.Module.CEventOracle.C_Ref -> Curry.RunTimeSystem.State -> t0+c_unknown x1 st = Curry.Module.CEventOracle.c_unknown(x1)(st)++
+ dist/build/prophecy/prophecy-tmp/Curry/Module/AddWorld.hs view
@@ -0,0 +1,91 @@+{-# OPTIONS -cpp #-}++{-# LANGUAGE RankNTypes, ScopedTypeVariables, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances #-}++module Curry.Module.AddWorld (module Curry.Module.AddWorld) where++import Curry.RunTimeSystem+import Curry.Module.FlatCurry+import Curry.Module.FlatCurryGoodies+import Curry.Module.Prelude++++-- begin included++++-- end included++c_main :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_main st = Curry.Module.Prelude.op_62_62_61(Curry.Module.FlatCurry.c_readFlatCurry((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('P'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))(Curry.Module.Prelude.List))))))))(st))(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_writeFile((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('P'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))(Curry.Module.Prelude.List))))))))(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_show))(Curry.Module.AddWorld.c_addWorld(st))(st))(st))(st)++++c_addWorld :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Prog)+c_addWorld st = Curry.Module.Prelude.op_46(Curry.Module.FlatCurryGoodies.c_updProgTypes(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_map(Curry.Module.FlatCurryGoodies.c_updTypeConsDecls(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_map(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_updConsArgs(st))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_map(Curry.Module.AddWorld.c_addWorldTE(st))))(st))))(st))))(st))(Curry.Module.Prelude.op_46(Curry.Module.FlatCurryGoodies.c_updProgTypes(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_map(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_updTypeSynonym(st))(Curry.Module.AddWorld.c_addWorldTE(st))(st))))(st))(Curry.Module.FlatCurryGoodies.c_updProgFuncs(Curry.Module.AddWorld.c_addWorldFuncs(st))(st))(st))(st)++++c_addWorldTE :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_TypeExpr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_TypeExpr)+c_addWorldTE st = Curry.Module.Prelude.pf(Curry.Module.FlatCurryGoodies.c_trTypeExpr(Curry.Module.Prelude.pc(Curry.Module.FlatCurry.C_TVar))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.AddWorld.c_addWorldTE'46addWorldToIO'467))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pc))(Curry.Module.FlatCurry.C_FuncType)))++++c_addWorldTE'46addWorldToIO'467 :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeExpr) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_TypeExpr+c_addWorldTE'46addWorldToIO'467 x1 x2 st = Curry.Module.AddWorld.c_addWorldTE'46addWorldToIO'467_case_3(x1)(x2)(Curry.Module.AddWorld.c_isIO(x1)(st))(st)++++c_prelude :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char+c_prelude st = (Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('P'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))(Curry.Module.Prelude.List)))))))++++c_isIO :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_isIO x1@(Curry.Module.Prelude.T2 x2 x3) st = Curry.Module.Prelude.op_38_38(Curry.Module.Prelude.op_61_61(x3)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('I'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('O'))(Curry.Module.Prelude.List)))(st))(Curry.Module.Prelude.op_61_61(x2)(Curry.Module.AddWorld.c_prelude(st))(st))(st)+c_isIO (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.AddWorld.c_isIO(x)(st))(i)(xs)(st)+c_isIO x st = Curry.RunTimeSystem.patternFail("AddWorld.isIO")(x)++++c_unit :: Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_TypeExpr+c_unit st = Curry.Module.FlatCurry.C_TCons(Curry.Module.Prelude.T2(Curry.Module.AddWorld.c_prelude(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('('))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(')'))(Curry.Module.Prelude.List))))(Curry.Module.Prelude.List)++++c_addWorldFuncs :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)+c_addWorldFuncs st = Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_map(Curry.Module.FlatCurryGoodies.c_updFuncType(Curry.Module.AddWorld.c_addWorldTE(st))(st))))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.AddWorld.c_changeExtIOFunc))))(st)++++c_changeExtIOFunc :: Curry.Module.FlatCurry.C_FuncDecl -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_FuncDecl+c_changeExtIOFunc x1 st = let {x2 = Curry.Module.FlatCurryGoodies.c_resultType(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_funcType(st))(x1)(st))(st)} in Curry.Module.AddWorld.c_changeExtIOFunc_case_1(x1)(x2)(Curry.Module.Prelude.op_38_38(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_isExternal(st))(x1)(st))(Curry.Module.Prelude.op_38_38(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_isTCons(st))(x2)(st))(Curry.Module.AddWorld.c_isIO(Curry.Module.FlatCurryGoodies.c_tConsName(x2)(st))(st))(st))(st))(st)++++c_changeExtIOFunc_case_1 x1 x2 x3@Curry.Module.Prelude.C_True st = Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_updFuncArity(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_flip(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_43))(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))))(st))(x1)(st)+c_changeExtIOFunc_case_1 x1 x2 x3@Curry.Module.Prelude.C_False st = Curry.Module.AddWorld.c_changeExtIOFunc_case_0(x1)(Curry.Module.Prelude.c_otherwise(st))(st)+c_changeExtIOFunc_case_1 x1 x2 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.AddWorld.c_changeExtIOFunc_case_1(x1)(x2)(x)(st))(i)(xs)(st)+c_changeExtIOFunc_case_1 x1 x2 x st = Curry.RunTimeSystem.patternFail("AddWorld.changeExtIOFunc_case_1")(x)++++c_changeExtIOFunc_case_0 x1 x2@Curry.Module.Prelude.C_True st = x1+c_changeExtIOFunc_case_0 x1 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.AddWorld.c_changeExtIOFunc_case_0(x1)(x)(st))(i)(xs)(st)+c_changeExtIOFunc_case_0 x1 x st = Curry.RunTimeSystem.patternFail("AddWorld.changeExtIOFunc_case_0")(x)++++c_addWorldTE'46addWorldToIO'467_case_3 x1 x2 x3@Curry.Module.Prelude.C_True st = Curry.Module.FlatCurry.C_FuncType(Curry.Module.AddWorld.c_unit(st))(Curry.Module.FlatCurry.C_TCons(x1)(x2))+c_addWorldTE'46addWorldToIO'467_case_3 x1 x2 x3@Curry.Module.Prelude.C_False st = Curry.Module.AddWorld.c_addWorldTE'46addWorldToIO'467_case_2(x1)(x2)(Curry.Module.Prelude.c_otherwise(st))(st)+c_addWorldTE'46addWorldToIO'467_case_3 x1 x2 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.AddWorld.c_addWorldTE'46addWorldToIO'467_case_3(x1)(x2)(x)(st))(i)(xs)(st)+c_addWorldTE'46addWorldToIO'467_case_3 x1 x2 x st = Curry.RunTimeSystem.patternFail("AddWorld.addWorldTE.addWorldToIO.7_case_3")(x)++++c_addWorldTE'46addWorldToIO'467_case_2 x1 x2 x3@Curry.Module.Prelude.C_True st = Curry.Module.FlatCurry.C_TCons(x1)(x2)+c_addWorldTE'46addWorldToIO'467_case_2 x1 x2 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.AddWorld.c_addWorldTE'46addWorldToIO'467_case_2(x1)(x2)(x)(st))(i)(xs)(st)+c_addWorldTE'46addWorldToIO'467_case_2 x1 x2 x st = Curry.RunTimeSystem.patternFail("AddWorld.addWorldTE.addWorldToIO.7_case_2")(x)++
+ dist/build/prophecy/prophecy-tmp/Curry/Module/LiftCases.hs view
@@ -0,0 +1,678 @@+{-# OPTIONS -cpp #-}++{-# LANGUAGE RankNTypes, ScopedTypeVariables, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances #-}++module Curry.Module.LiftCases (module Curry.Module.LiftCases) where++import Curry.RunTimeSystem+import Curry.Module.FiniteMap+import Curry.Module.FlatCurry+import Curry.Module.FlatCurryGoodies+import Curry.Module.List+import Curry.Module.Prelude++++-- begin included++++-- end included++type C_FuncList = (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl++type C_Result = Curry.Module.Prelude.T3 (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl))++c_isCaseAuxFuncName :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_isCaseAuxFuncName x1 st = Curry.Module.Prelude.op_61_61(Curry.Module.Prelude.c_take(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_I(Curry.Module.Prelude.C_IHi))))(x1)(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('_'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('_'))(Curry.Module.Prelude.List)))))))(st)++++c_isCaseAuxFuncType :: Curry.Module.FlatCurry.C_TypeExpr -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_isCaseAuxFuncType x1 st = Curry.Module.Prelude.op_61_61(x1)(Curry.Module.FlatCurry.C_TVar(Curry.Module.Prelude.c_negate(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_I(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_I(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_IHi)))))))(st)))(st)++++c_liftCases :: Curry.Module.Prelude.C_Bool -> Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Prog+c_liftCases x1 x2 st = let {x3 = Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_progFuncs(st))(x2)(st)} in let {x5 = Curry.Module.List.c_partition(Curry.Module.FlatCurryGoodies.c_isExternal(st))(x3)(st)} in let {x8 = Curry.Module.Prelude.c_foldr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.LiftCases.c_liftCasesFunc(x1)(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_progName(st))(x2)(st))(Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_genAuxName(st))(Curry.Module.Prelude.c_map(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_snd))(Curry.Module.FlatCurryGoodies.c_funcName(st))(st))(x3)(st))(st))))(Curry.Module.Prelude.T3(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_id))(Curry.Module.Prelude.C_Zero)(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_id)))(Curry.Module.LiftCases.c_liftCases'46_'35selFP7'35ins(x5)(st))(st)} in Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_updProgFuncs(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_const(Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_liftCases'46_'35selFP4'35newFsf(x8)(st))(Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_liftCases'46_'35selFP5'35auxFf(x8)(st))(Curry.Module.LiftCases.c_liftCases'46_'35selFP6'35exts(x5)(st))(st))(st))))(st))(x2)(st)++++c_liftCases'46_'35selFP6'35exts :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl+c_liftCases'46_'35selFP6'35exts x1@(Curry.Module.Prelude.T2 x2 x3) st = x2+c_liftCases'46_'35selFP6'35exts (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCases'46_'35selFP6'35exts(x)(st))(i)(xs)(st)+c_liftCases'46_'35selFP6'35exts x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCases._#selFP6#exts")(x)++++c_liftCases'46_'35selFP7'35ins :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl+c_liftCases'46_'35selFP7'35ins x1@(Curry.Module.Prelude.T2 x2 x3) st = x3+c_liftCases'46_'35selFP7'35ins (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCases'46_'35selFP7'35ins(x)(st))(i)(xs)(st)+c_liftCases'46_'35selFP7'35ins x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCases._#selFP7#ins")(x)++++c_liftCases'46_'35selFP4'35newFsf :: (Curry.Module.Prelude.T3 (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)+c_liftCases'46_'35selFP4'35newFsf x1@(Curry.Module.Prelude.T3 x2 x3 x4) st = x2+c_liftCases'46_'35selFP4'35newFsf (Curry.Module.Prelude.T3Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCases'46_'35selFP4'35newFsf(x)(st))(i)(xs)(st)+c_liftCases'46_'35selFP4'35newFsf x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCases._#selFP4#newFsf")(x)++++c_liftCases'46_'35selFP5'35auxFf :: (Curry.Module.Prelude.T3 (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)+c_liftCases'46_'35selFP5'35auxFf x1@(Curry.Module.Prelude.T3 x2 x3 x4) st = x4+c_liftCases'46_'35selFP5'35auxFf (Curry.Module.Prelude.T3Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCases'46_'35selFP5'35auxFf(x)(st))(i)(xs)(st)+c_liftCases'46_'35selFP5'35auxFf x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCases._#selFP5#auxFf")(x)++++c_liftCasesFunc :: Curry.Module.Prelude.C_Bool -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.FlatCurry.C_FuncDecl -> (Curry.Module.Prelude.T3 (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T3 (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl))+c_liftCasesFunc x1 x2 x3 x4 x5@(Curry.Module.Prelude.T3 x6 x7 x8) st = let {x9 = Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_funcBody(st))(x4)(st)} in let {x10 = Curry.Module.Prelude.pf(Curry.Module.FlatCurryGoodies.c_trExpr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.LiftCases.c_liftCasesFunc'46var'4618))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.LiftCases.c_liftCasesFunc'46lit'4618))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))))(Curry.Module.LiftCases.c_liftCasesFunc'46comb'4618))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.LiftCases.c_liftCasesFunc'46freE'4618))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.LiftCases.c_liftCasesFunc'46or'4618))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))))(Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618(x3)(x2)))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.LiftCases.c_liftCasesFunc'46branch'4618)))} in let {x11 = Curry.Module.LiftCases.c_liftCasesFunc_case_20(x7)(x9)(x10)(x1)(st)} in Curry.Module.Prelude.T3(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pc((Curry.Module.Prelude.:<)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_updFuncBody(st))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_const(Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP61'35exp(x11)(st))))(st))(x4)(st))))(x6)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP62'35iMain(x11)(st))(Curry.Module.Prelude.op_46(x8)(Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP63'35ffeMain(x11)(st))(st))+c_liftCasesFunc x1 x2 x3 x4 (Curry.Module.Prelude.T3Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc(x1)(x2)(x3)(x4)(x)(st))(i)(xs)(st)+c_liftCasesFunc x1 x2 x3 x4 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc")(x)++++c_liftCasesFunc'46var'4618 :: (Curry t0,Curry t1) => Curry.Module.Prelude.C_Int -> t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t0 (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)+c_liftCasesFunc'46var'4618 x1 x2 st = Curry.Module.Prelude.T4(Curry.Module.FlatCurry.C_Var(x1))(x2)(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_id))((Curry.Module.Prelude.:<)(x1)(Curry.Module.Prelude.List))++++c_liftCasesFunc'46lit'4618 :: (Curry t0,Curry t1,Curry t2) => Curry.Module.FlatCurry.C_Literal -> t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t0 (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List t2)+c_liftCasesFunc'46lit'4618 x1 x2 st = Curry.Module.Prelude.T4(Curry.Module.FlatCurry.C_Lit(x1))(x2)(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_id))(Curry.Module.Prelude.List)++++c_liftCasesFunc'46comb'4618 :: (Curry t0,Curry t1,Curry t2) => Curry.Module.FlatCurry.C_CombType -> (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t0 (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List t2)))) -> t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t0 (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List t2)+c_liftCasesFunc'46comb'4618 x1 x2 x3 x4 st = let {x5 = Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_fold(x4)(st))(x3)(st)} in Curry.Module.Prelude.T4(Curry.Module.FlatCurry.C_Comb(x1)(x2)(Curry.Module.LiftCases.c_liftCasesFunc'46comb'4618'46_'35selFP10'35args'39(x5)(st)))(Curry.Module.LiftCases.c_liftCasesFunc'46comb'4618'46_'35selFP11'35i'39(x5)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46comb'4618'46_'35selFP12'35ff(x5)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46comb'4618'46_'35selFP13'35vs(x5)(st))++++c_liftCasesFunc'46comb'4618'46_'35selFP10'35args'39 :: (Curry t149,Curry t156,Curry t157) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t149 (Curry.Module.Prelude.Prim (t156 -> Curry.RunTimeSystem.State -> t156)) (Curry.Module.Prelude.List t157)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr+c_liftCasesFunc'46comb'4618'46_'35selFP10'35args'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_liftCasesFunc'46comb'4618'46_'35selFP10'35args'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46comb'4618'46_'35selFP10'35args'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46comb'4618'46_'35selFP10'35args'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.comb.18._#selFP10#args'")(x)++++c_liftCasesFunc'46comb'4618'46_'35selFP11'35i'39 :: (Curry t149,Curry t156,Curry t157) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t149 (Curry.Module.Prelude.Prim (t156 -> Curry.RunTimeSystem.State -> t156)) (Curry.Module.Prelude.List t157)) -> Curry.RunTimeSystem.State -> t149+c_liftCasesFunc'46comb'4618'46_'35selFP11'35i'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_liftCasesFunc'46comb'4618'46_'35selFP11'35i'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46comb'4618'46_'35selFP11'35i'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46comb'4618'46_'35selFP11'35i'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.comb.18._#selFP11#i'")(x)++++c_liftCasesFunc'46comb'4618'46_'35selFP12'35ff :: (Curry t149,Curry t156,Curry t157) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t149 (Curry.Module.Prelude.Prim (t156 -> Curry.RunTimeSystem.State -> t156)) (Curry.Module.Prelude.List t157)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t156 -> Curry.RunTimeSystem.State -> t156)+c_liftCasesFunc'46comb'4618'46_'35selFP12'35ff x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_liftCasesFunc'46comb'4618'46_'35selFP12'35ff (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46comb'4618'46_'35selFP12'35ff(x)(st))(i)(xs)(st)+c_liftCasesFunc'46comb'4618'46_'35selFP12'35ff x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.comb.18._#selFP12#ff")(x)++++c_liftCasesFunc'46comb'4618'46_'35selFP13'35vs :: (Curry t149,Curry t156,Curry t157) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t149 (Curry.Module.Prelude.Prim (t156 -> Curry.RunTimeSystem.State -> t156)) (Curry.Module.Prelude.List t157)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List t157+c_liftCasesFunc'46comb'4618'46_'35selFP13'35vs x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x5+c_liftCasesFunc'46comb'4618'46_'35selFP13'35vs (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46comb'4618'46_'35selFP13'35vs(x)(st))(i)(xs)(st)+c_liftCasesFunc'46comb'4618'46_'35selFP13'35vs x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.comb.18._#selFP13#vs")(x)++++c_liftCasesFunc'46leT'4618 :: (Curry t0,Curry t1,Curry t2,Curry t3) => (Curry.Module.Prelude.List (Curry.Module.Prelude.T2 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t0 (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int))))) -> (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t2 (Curry.Module.Prelude.Prim (t3 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int))) -> t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t2 (Curry.Module.Prelude.Prim (t3 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)+c_liftCasesFunc'46leT'4618 x1 x2 x3 st = let {x4 = Curry.Module.Prelude.c_unzip(x1)(st)} in let {x5 = Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP25'35vs(x4)(st)} in let {x7 = Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_fold(x3)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP26'35es(x4)(st))(st)} in let {x12 = Curry.Module.Prelude.c_apply(x2)(Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP22'35i'39(x7)(st))(st)} in Curry.Module.Prelude.T4(Curry.Module.FlatCurry.C_Let(Curry.Module.Prelude.c_zip(x5)(Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP21'35es'39(x7)(st))(st))(Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP17'35e'39(x12)(st)))(Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP18'35i'39'39(x12)(st))(Curry.Module.Prelude.op_46(Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP23'35ffes(x7)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP19'35ffe(x12)(st))(st))(Curry.Module.Prelude.c_filter(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_not))(Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_elemOf(st))(x5)(st))(st))(Curry.Module.Prelude.op_43_43(Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP24'35ves(x7)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP20'35ve(x12)(st))(st))(st))++++c_liftCasesFunc'46leT'4618'46_'35selFP25'35vs :: (Curry t161,Curry t172) => (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.List (Curry.Module.Prelude.Prim (t161 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t161 (Curry.Module.Prelude.Prim (t172 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int))))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_liftCasesFunc'46leT'4618'46_'35selFP25'35vs x1@(Curry.Module.Prelude.T2 x2 x3) st = x2+c_liftCasesFunc'46leT'4618'46_'35selFP25'35vs (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP25'35vs(x)(st))(i)(xs)(st)+c_liftCasesFunc'46leT'4618'46_'35selFP25'35vs x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.leT.18._#selFP25#vs")(x)++++c_liftCasesFunc'46leT'4618'46_'35selFP26'35es :: (Curry t161,Curry t172) => (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.List (Curry.Module.Prelude.Prim (t161 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t161 (Curry.Module.Prelude.Prim (t172 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int))))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List (Curry.Module.Prelude.Prim (t161 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t161 (Curry.Module.Prelude.Prim (t172 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)))+c_liftCasesFunc'46leT'4618'46_'35selFP26'35es x1@(Curry.Module.Prelude.T2 x2 x3) st = x3+c_liftCasesFunc'46leT'4618'46_'35selFP26'35es (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP26'35es(x)(st))(i)(xs)(st)+c_liftCasesFunc'46leT'4618'46_'35selFP26'35es x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.leT.18._#selFP26#es")(x)++++c_liftCasesFunc'46leT'4618'46_'35selFP21'35es'39 :: (Curry t161,Curry t172) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t161 (Curry.Module.Prelude.Prim (t172 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr+c_liftCasesFunc'46leT'4618'46_'35selFP21'35es'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_liftCasesFunc'46leT'4618'46_'35selFP21'35es'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP21'35es'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46leT'4618'46_'35selFP21'35es'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.leT.18._#selFP21#es'")(x)++++c_liftCasesFunc'46leT'4618'46_'35selFP22'35i'39 :: (Curry t161,Curry t172) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t161 (Curry.Module.Prelude.Prim (t172 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> t161+c_liftCasesFunc'46leT'4618'46_'35selFP22'35i'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_liftCasesFunc'46leT'4618'46_'35selFP22'35i'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP22'35i'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46leT'4618'46_'35selFP22'35i'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.leT.18._#selFP22#i'")(x)++++c_liftCasesFunc'46leT'4618'46_'35selFP23'35ffes :: (Curry t161,Curry t172) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t161 (Curry.Module.Prelude.Prim (t172 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t172 -> Curry.RunTimeSystem.State -> t172)+c_liftCasesFunc'46leT'4618'46_'35selFP23'35ffes x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_liftCasesFunc'46leT'4618'46_'35selFP23'35ffes (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP23'35ffes(x)(st))(i)(xs)(st)+c_liftCasesFunc'46leT'4618'46_'35selFP23'35ffes x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.leT.18._#selFP23#ffes")(x)++++c_liftCasesFunc'46leT'4618'46_'35selFP24'35ves :: (Curry t161,Curry t172) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t161 (Curry.Module.Prelude.Prim (t172 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_liftCasesFunc'46leT'4618'46_'35selFP24'35ves x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x5+c_liftCasesFunc'46leT'4618'46_'35selFP24'35ves (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP24'35ves(x)(st))(i)(xs)(st)+c_liftCasesFunc'46leT'4618'46_'35selFP24'35ves x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.leT.18._#selFP24#ves")(x)++++c_liftCasesFunc'46leT'4618'46_'35selFP17'35e'39 :: (Curry t175,Curry t184,Curry t172) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t175 (Curry.Module.Prelude.Prim (t184 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_liftCasesFunc'46leT'4618'46_'35selFP17'35e'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_liftCasesFunc'46leT'4618'46_'35selFP17'35e'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP17'35e'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46leT'4618'46_'35selFP17'35e'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.leT.18._#selFP17#e'")(x)++++c_liftCasesFunc'46leT'4618'46_'35selFP18'35i'39'39 :: (Curry t175,Curry t184,Curry t172) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t175 (Curry.Module.Prelude.Prim (t184 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> t175+c_liftCasesFunc'46leT'4618'46_'35selFP18'35i'39'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_liftCasesFunc'46leT'4618'46_'35selFP18'35i'39'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP18'35i'39'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46leT'4618'46_'35selFP18'35i'39'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.leT.18._#selFP18#i''")(x)++++c_liftCasesFunc'46leT'4618'46_'35selFP19'35ffe :: (Curry t175,Curry t184,Curry t172) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t175 (Curry.Module.Prelude.Prim (t184 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t184 -> Curry.RunTimeSystem.State -> t172)+c_liftCasesFunc'46leT'4618'46_'35selFP19'35ffe x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_liftCasesFunc'46leT'4618'46_'35selFP19'35ffe (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP19'35ffe(x)(st))(i)(xs)(st)+c_liftCasesFunc'46leT'4618'46_'35selFP19'35ffe x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.leT.18._#selFP19#ffe")(x)++++c_liftCasesFunc'46leT'4618'46_'35selFP20'35ve :: (Curry t175,Curry t184,Curry t172) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t175 (Curry.Module.Prelude.Prim (t184 -> Curry.RunTimeSystem.State -> t172)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_liftCasesFunc'46leT'4618'46_'35selFP20'35ve x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x5+c_liftCasesFunc'46leT'4618'46_'35selFP20'35ve (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46leT'4618'46_'35selFP20'35ve(x)(st))(i)(xs)(st)+c_liftCasesFunc'46leT'4618'46_'35selFP20'35ve x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.leT.18._#selFP20#ve")(x)++++c_liftCasesFunc'46freE'4618 :: (Curry t0,Curry t1,Curry t2) => (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t1 t2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int))) -> t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t1 t2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)+c_liftCasesFunc'46freE'4618 x1 x2 x3 st = let {x4 = Curry.Module.Prelude.c_apply(x2)(x3)(st)} in Curry.Module.Prelude.T4(Curry.Module.FlatCurry.C_Free(x1)(Curry.Module.LiftCases.c_liftCasesFunc'46freE'4618'46_'35selFP28'35e'39(x4)(st)))(Curry.Module.LiftCases.c_liftCasesFunc'46freE'4618'46_'35selFP29'35i'39(x4)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46freE'4618'46_'35selFP30'35ff(x4)(st))(Curry.Module.Prelude.c_filter(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_not))(Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_elemOf(st))(x1)(st))(st))(Curry.Module.LiftCases.c_liftCasesFunc'46freE'4618'46_'35selFP31'35ve(x4)(st))(st))++++c_liftCasesFunc'46freE'4618'46_'35selFP28'35e'39 :: (Curry t196,Curry t197) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t196 t197 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_liftCasesFunc'46freE'4618'46_'35selFP28'35e'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_liftCasesFunc'46freE'4618'46_'35selFP28'35e'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46freE'4618'46_'35selFP28'35e'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46freE'4618'46_'35selFP28'35e'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.freE.18._#selFP28#e'")(x)++++c_liftCasesFunc'46freE'4618'46_'35selFP29'35i'39 :: (Curry t196,Curry t197) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t196 t197 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> t196+c_liftCasesFunc'46freE'4618'46_'35selFP29'35i'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_liftCasesFunc'46freE'4618'46_'35selFP29'35i'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46freE'4618'46_'35selFP29'35i'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46freE'4618'46_'35selFP29'35i'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.freE.18._#selFP29#i'")(x)++++c_liftCasesFunc'46freE'4618'46_'35selFP30'35ff :: (Curry t196,Curry t197) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t196 t197 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> t197+c_liftCasesFunc'46freE'4618'46_'35selFP30'35ff x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_liftCasesFunc'46freE'4618'46_'35selFP30'35ff (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46freE'4618'46_'35selFP30'35ff(x)(st))(i)(xs)(st)+c_liftCasesFunc'46freE'4618'46_'35selFP30'35ff x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.freE.18._#selFP30#ff")(x)++++c_liftCasesFunc'46freE'4618'46_'35selFP31'35ve :: (Curry t196,Curry t197) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t196 t197 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_liftCasesFunc'46freE'4618'46_'35selFP31'35ve x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x5+c_liftCasesFunc'46freE'4618'46_'35selFP31'35ve (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46freE'4618'46_'35selFP31'35ve(x)(st))(i)(xs)(st)+c_liftCasesFunc'46freE'4618'46_'35selFP31'35ve x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.freE.18._#selFP31#ve")(x)++++c_liftCasesFunc'46or'4618 :: (Curry t0,Curry t1,Curry t2) => (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t0 (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List t2))) -> (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t0 (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List t2))) -> t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t0 (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List t2)+c_liftCasesFunc'46or'4618 x1 x2 x3 st = let {x4 = Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_fold(x3)(st))((Curry.Module.Prelude.:<)(x1)((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List)))(st)} in Curry.Module.Prelude.T4(Curry.Module.FlatCurry.C_Or(Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39(x4)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39(x4)(st)))(Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39(x4)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP36'35ff(x4)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP37'35vs(x4)(st))++++c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39 :: (Curry t209,Curry t218,Curry t219) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t209 (Curry.Module.Prelude.Prim (t218 -> Curry.RunTimeSystem.State -> t218)) (Curry.Module.Prelude.List t219)) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_17(x2)(st)+c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP33#e1'")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39 :: (Curry t209,Curry t218,Curry t219) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t209 (Curry.Module.Prelude.Prim (t218 -> Curry.RunTimeSystem.State -> t218)) (Curry.Module.Prelude.List t219)) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_14(x2)(st)+c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP34#e2'")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39 :: (Curry t209,Curry t218,Curry t219) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t209 (Curry.Module.Prelude.Prim (t218 -> Curry.RunTimeSystem.State -> t218)) (Curry.Module.Prelude.List t219)) -> Curry.RunTimeSystem.State -> t209+c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_11(x3)(x2)(st)+c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP35#i'")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP36'35ff :: (Curry t209,Curry t218,Curry t219) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t209 (Curry.Module.Prelude.Prim (t218 -> Curry.RunTimeSystem.State -> t218)) (Curry.Module.Prelude.List t219)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t218 -> Curry.RunTimeSystem.State -> t218)+c_liftCasesFunc'46or'4618'46_'35selFP36'35ff x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_8(x4)(x2)(st)+c_liftCasesFunc'46or'4618'46_'35selFP36'35ff (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP36'35ff(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP36'35ff x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP36#ff")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP37'35vs :: (Curry t209,Curry t218,Curry t219) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) t209 (Curry.Module.Prelude.Prim (t218 -> Curry.RunTimeSystem.State -> t218)) (Curry.Module.Prelude.List t219)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List t219+c_liftCasesFunc'46or'4618'46_'35selFP37'35vs x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_5(x5)(x2)(st)+c_liftCasesFunc'46or'4618'46_'35selFP37'35vs (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP37'35vs(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP37'35vs x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP37#vs")(x)++++c_liftCasesFunc'46casE'4618 :: (Curry t0,Curry t1) => (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.FlatCurry.C_CaseType -> (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int))) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_BranchExpr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> t1)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)))) -> t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t1 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)+c_liftCasesFunc'46casE'4618 x1 x2 x3 x4 x5 x6 st = let {x7 = Curry.Module.Prelude.c_apply(x4)(x6)(st)} in let {x8 = Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP44'35e'39(x7)(st)} in let {x12 = Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_fold(Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP45'35i'39(x7)(st))(st))(x5)(st)} in let {x14 = Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP41'35i'39'39(x12)(st)} in let {x17 = Curry.Module.LiftCases.c_nub(Curry.Module.Prelude.op_43_43(Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP47'35ve(x7)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP43'35vbs(x12)(st))(st))(st)} in let {x18 = Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618_case_2(x17)(x8)(st)} in Curry.Module.Prelude.T4(Curry.Module.LiftCases.c_genFuncCall(x2)(x1)(x14)(x18)(x8)(st))(Curry.Module.Prelude.op_43(x14)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pc((Curry.Module.Prelude.:<)(Curry.Module.LiftCases.c_genFunc(x2)(x1)(x14)(x18)(x8)(x3)(Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP40'35bs'39(x12)(st))(st))))(Curry.Module.Prelude.op_46(Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP46'35ffe(x7)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP42'35ffbs(x12)(st))(st))(st))(x17)++++c_liftCasesFunc'46casE'4618'46_'35selFP44'35e'39 :: (Curry t238) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t238 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_liftCasesFunc'46casE'4618'46_'35selFP44'35e'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_liftCasesFunc'46casE'4618'46_'35selFP44'35e'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP44'35e'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46casE'4618'46_'35selFP44'35e'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.casE.18._#selFP44#e'")(x)++++c_liftCasesFunc'46casE'4618'46_'35selFP45'35i'39 :: (Curry t238) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t238 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Int+c_liftCasesFunc'46casE'4618'46_'35selFP45'35i'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_liftCasesFunc'46casE'4618'46_'35selFP45'35i'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP45'35i'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46casE'4618'46_'35selFP45'35i'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.casE.18._#selFP45#i'")(x)++++c_liftCasesFunc'46casE'4618'46_'35selFP46'35ffe :: (Curry t238) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t238 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t238 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)+c_liftCasesFunc'46casE'4618'46_'35selFP46'35ffe x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_liftCasesFunc'46casE'4618'46_'35selFP46'35ffe (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP46'35ffe(x)(st))(i)(xs)(st)+c_liftCasesFunc'46casE'4618'46_'35selFP46'35ffe x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.casE.18._#selFP46#ffe")(x)++++c_liftCasesFunc'46casE'4618'46_'35selFP47'35ve :: (Curry t238) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t238 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_liftCasesFunc'46casE'4618'46_'35selFP47'35ve x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x5+c_liftCasesFunc'46casE'4618'46_'35selFP47'35ve (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP47'35ve(x)(st))(i)(xs)(st)+c_liftCasesFunc'46casE'4618'46_'35selFP47'35ve x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.casE.18._#selFP47#ve")(x)++++c_liftCasesFunc'46casE'4618'46_'35selFP40'35bs'39 :: (Curry t238) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t238 -> Curry.RunTimeSystem.State -> t238)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr+c_liftCasesFunc'46casE'4618'46_'35selFP40'35bs'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_liftCasesFunc'46casE'4618'46_'35selFP40'35bs'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP40'35bs'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46casE'4618'46_'35selFP40'35bs'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.casE.18._#selFP40#bs'")(x)++++c_liftCasesFunc'46casE'4618'46_'35selFP41'35i'39'39 :: (Curry t238) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t238 -> Curry.RunTimeSystem.State -> t238)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Int+c_liftCasesFunc'46casE'4618'46_'35selFP41'35i'39'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_liftCasesFunc'46casE'4618'46_'35selFP41'35i'39'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP41'35i'39'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46casE'4618'46_'35selFP41'35i'39'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.casE.18._#selFP41#i''")(x)++++c_liftCasesFunc'46casE'4618'46_'35selFP42'35ffbs :: (Curry t238) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t238 -> Curry.RunTimeSystem.State -> t238)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t238 -> Curry.RunTimeSystem.State -> t238)+c_liftCasesFunc'46casE'4618'46_'35selFP42'35ffbs x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_liftCasesFunc'46casE'4618'46_'35selFP42'35ffbs (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP42'35ffbs(x)(st))(i)(xs)(st)+c_liftCasesFunc'46casE'4618'46_'35selFP42'35ffbs x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.casE.18._#selFP42#ffbs")(x)++++c_liftCasesFunc'46casE'4618'46_'35selFP43'35vbs :: (Curry t238) => (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim (t238 -> Curry.RunTimeSystem.State -> t238)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_liftCasesFunc'46casE'4618'46_'35selFP43'35vbs x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x5+c_liftCasesFunc'46casE'4618'46_'35selFP43'35vbs (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618'46_'35selFP43'35vbs(x)(st))(i)(xs)(st)+c_liftCasesFunc'46casE'4618'46_'35selFP43'35vbs x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.casE.18._#selFP43#vbs")(x)++++c_liftCasesFunc'46branch'4618 :: (Curry t0,Curry t1,Curry t2) => Curry.Module.FlatCurry.C_Pattern -> (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t1 t2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int))) -> t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_BranchExpr t1 t2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)+c_liftCasesFunc'46branch'4618 x1 x2 x3 st = let {x4 = Curry.Module.Prelude.c_apply(x2)(x3)(st)} in Curry.Module.Prelude.T4(Curry.Module.FlatCurry.C_Branch(x1)(Curry.Module.LiftCases.c_liftCasesFunc'46branch'4618'46_'35selFP49'35e'39(x4)(st)))(Curry.Module.LiftCases.c_liftCasesFunc'46branch'4618'46_'35selFP50'35i'39(x4)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46branch'4618'46_'35selFP51'35ff(x4)(st))(Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_removePVars(Curry.Module.LiftCases.c_liftCasesFunc'46branch'4618'46_'35selFP52'35ve(x4)(st))(st))(x1)(st))++++c_liftCasesFunc'46branch'4618'46_'35selFP49'35e'39 :: (Curry t260,Curry t261) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t260 t261 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_liftCasesFunc'46branch'4618'46_'35selFP49'35e'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_liftCasesFunc'46branch'4618'46_'35selFP49'35e'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46branch'4618'46_'35selFP49'35e'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46branch'4618'46_'35selFP49'35e'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.branch.18._#selFP49#e'")(x)++++c_liftCasesFunc'46branch'4618'46_'35selFP50'35i'39 :: (Curry t260,Curry t261) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t260 t261 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> t260+c_liftCasesFunc'46branch'4618'46_'35selFP50'35i'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_liftCasesFunc'46branch'4618'46_'35selFP50'35i'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46branch'4618'46_'35selFP50'35i'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46branch'4618'46_'35selFP50'35i'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.branch.18._#selFP50#i'")(x)++++c_liftCasesFunc'46branch'4618'46_'35selFP51'35ff :: (Curry t260,Curry t261) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t260 t261 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> t261+c_liftCasesFunc'46branch'4618'46_'35selFP51'35ff x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_liftCasesFunc'46branch'4618'46_'35selFP51'35ff (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46branch'4618'46_'35selFP51'35ff(x)(st))(i)(xs)(st)+c_liftCasesFunc'46branch'4618'46_'35selFP51'35ff x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.branch.18._#selFP51#ff")(x)++++c_liftCasesFunc'46branch'4618'46_'35selFP52'35ve :: (Curry t260,Curry t261) => (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr t260 t261 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_liftCasesFunc'46branch'4618'46_'35selFP52'35ve x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x5+c_liftCasesFunc'46branch'4618'46_'35selFP52'35ve (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46branch'4618'46_'35selFP52'35ve(x)(st))(i)(xs)(st)+c_liftCasesFunc'46branch'4618'46_'35selFP52'35ve x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.branch.18._#selFP52#ve")(x)++++c_liftCasesFunc'46_'35selFP58'35e'39 :: (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_liftCasesFunc'46_'35selFP58'35e'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_liftCasesFunc'46_'35selFP58'35e'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP58'35e'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46_'35selFP58'35e'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc._#selFP58#e'")(x)++++c_liftCasesFunc'46_'35selFP59'35i'39 :: (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Int+c_liftCasesFunc'46_'35selFP59'35i'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_liftCasesFunc'46_'35selFP59'35i'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP59'35i'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46_'35selFP59'35i'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc._#selFP59#i'")(x)++++c_liftCasesFunc'46_'35selFP60'35ffe :: (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)+c_liftCasesFunc'46_'35selFP60'35ffe x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_liftCasesFunc'46_'35selFP60'35ffe (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP60'35ffe(x)(st))(i)(xs)(st)+c_liftCasesFunc'46_'35selFP60'35ffe x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc._#selFP60#ffe")(x)++++c_liftCasesFunc'46_'35lambda3 :: (Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)))) -> Curry.Module.FlatCurry.C_BranchExpr -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_BranchExpr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int))+c_liftCasesFunc'46_'35lambda3 x1 x2@(Curry.Module.FlatCurry.C_Branch x3 x4) st = Curry.Module.Prelude.pf(Curry.Module.LiftCases.c_liftCasesFunc'46branch'4618(x3)(Curry.Module.Prelude.c_apply(x1)(x4)(st)))+c_liftCasesFunc'46_'35lambda3 x1 (Curry.Module.FlatCurry.C_BranchExprOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46_'35lambda3(x1)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46_'35lambda3 x1 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc._#lambda3")(x)++++c_liftCasesFunc'46_'35selFP55'35bs'39 :: (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr+c_liftCasesFunc'46_'35selFP55'35bs'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_liftCasesFunc'46_'35selFP55'35bs'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP55'35bs'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46_'35selFP55'35bs'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc._#selFP55#bs'")(x)++++c_liftCasesFunc'46_'35selFP56'35i'39'39 :: (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Int+c_liftCasesFunc'46_'35selFP56'35i'39'39 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_liftCasesFunc'46_'35selFP56'35i'39'39 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP56'35i'39'39(x)(st))(i)(xs)(st)+c_liftCasesFunc'46_'35selFP56'35i'39'39 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc._#selFP56#i''")(x)++++c_liftCasesFunc'46_'35selFP57'35ffbs :: (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr) Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)+c_liftCasesFunc'46_'35selFP57'35ffbs x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_liftCasesFunc'46_'35selFP57'35ffbs (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP57'35ffbs(x)(st))(i)(xs)(st)+c_liftCasesFunc'46_'35selFP57'35ffbs x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc._#selFP57#ffbs")(x)++++c_liftCasesFunc'46_'35selFP61'35exp :: (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_liftCasesFunc'46_'35selFP61'35exp x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_liftCasesFunc'46_'35selFP61'35exp (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP61'35exp(x)(st))(i)(xs)(st)+c_liftCasesFunc'46_'35selFP61'35exp x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc._#selFP61#exp")(x)++++c_liftCasesFunc'46_'35selFP62'35iMain :: (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Int+c_liftCasesFunc'46_'35selFP62'35iMain x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_liftCasesFunc'46_'35selFP62'35iMain (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP62'35iMain(x)(st))(i)(xs)(st)+c_liftCasesFunc'46_'35selFP62'35iMain x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc._#selFP62#iMain")(x)++++c_liftCasesFunc'46_'35selFP63'35ffeMain :: (Curry.Module.Prelude.T4 Curry.Module.FlatCurry.C_Expr Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl)+c_liftCasesFunc'46_'35selFP63'35ffeMain x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_liftCasesFunc'46_'35selFP63'35ffeMain (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP63'35ffeMain(x)(st))(i)(xs)(st)+c_liftCasesFunc'46_'35selFP63'35ffeMain x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc._#selFP63#ffeMain")(x)++++c_fold :: (Curry t0,Curry t1,Curry t2,Curry t3) => t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 t1 t0 (Curry.Module.Prelude.Prim (t2 -> Curry.RunTimeSystem.State -> t2)) (Curry.Module.Prelude.List t3)))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 (Curry.Module.Prelude.List t1) t0 (Curry.Module.Prelude.Prim (t2 -> Curry.RunTimeSystem.State -> t2)) (Curry.Module.Prelude.List t3))+c_fold x1 st = Curry.Module.Prelude.pf(Curry.Module.Prelude.c_foldr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.LiftCases.c_fold'46once'4674))(Curry.Module.Prelude.T4(Curry.Module.Prelude.List)(x1)(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_id))(Curry.Module.Prelude.List)))++++c_fold'46once'4674 :: (Curry t0,Curry t1,Curry t2,Curry t3,Curry t4,Curry t5,Curry t6) => (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 t1 t2 (Curry.Module.Prelude.Prim (t3 -> Curry.RunTimeSystem.State -> t4)) (Curry.Module.Prelude.List t5))) -> (Curry.Module.Prelude.T4 (Curry.Module.Prelude.List t1) t0 (Curry.Module.Prelude.Prim (t4 -> Curry.RunTimeSystem.State -> t6)) (Curry.Module.Prelude.List t5)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T4 (Curry.Module.Prelude.List t1) t2 (Curry.Module.Prelude.Prim (t3 -> Curry.RunTimeSystem.State -> t6)) (Curry.Module.Prelude.List t5)+c_fold'46once'4674 x1 x2@(Curry.Module.Prelude.T4 x3 x4 x5 x6) st = let {x7 = Curry.Module.Prelude.c_apply(x1)(x4)(st)} in Curry.Module.Prelude.T4((Curry.Module.Prelude.:<)(Curry.Module.LiftCases.c_fold'46once'4674'46_'35selFP65'35e(x7)(st))(x3))(Curry.Module.LiftCases.c_fold'46once'4674'46_'35selFP66'35k(x7)(st))(Curry.Module.Prelude.op_46(x5)(Curry.Module.LiftCases.c_fold'46once'4674'46_'35selFP67'35ff2(x7)(st))(st))(Curry.Module.Prelude.op_43_43(x6)(Curry.Module.LiftCases.c_fold'46once'4674'46_'35selFP68'35vs2(x7)(st))(st))+c_fold'46once'4674 x1 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_fold'46once'4674(x1)(x)(st))(i)(xs)(st)+c_fold'46once'4674 x1 x st = Curry.RunTimeSystem.patternFail("LiftCases.fold.once.74")(x)++++c_fold'46once'4674'46_'35selFP65'35e :: (Curry t21,Curry t22,Curry t30,Curry t28,Curry t31) => (Curry.Module.Prelude.T4 t21 t22 (Curry.Module.Prelude.Prim (t30 -> Curry.RunTimeSystem.State -> t28)) (Curry.Module.Prelude.List t31)) -> Curry.RunTimeSystem.State -> t21+c_fold'46once'4674'46_'35selFP65'35e x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x2+c_fold'46once'4674'46_'35selFP65'35e (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_fold'46once'4674'46_'35selFP65'35e(x)(st))(i)(xs)(st)+c_fold'46once'4674'46_'35selFP65'35e x st = Curry.RunTimeSystem.patternFail("LiftCases.fold.once.74._#selFP65#e")(x)++++c_fold'46once'4674'46_'35selFP66'35k :: (Curry t21,Curry t22,Curry t30,Curry t28,Curry t31) => (Curry.Module.Prelude.T4 t21 t22 (Curry.Module.Prelude.Prim (t30 -> Curry.RunTimeSystem.State -> t28)) (Curry.Module.Prelude.List t31)) -> Curry.RunTimeSystem.State -> t22+c_fold'46once'4674'46_'35selFP66'35k x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x3+c_fold'46once'4674'46_'35selFP66'35k (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_fold'46once'4674'46_'35selFP66'35k(x)(st))(i)(xs)(st)+c_fold'46once'4674'46_'35selFP66'35k x st = Curry.RunTimeSystem.patternFail("LiftCases.fold.once.74._#selFP66#k")(x)++++c_fold'46once'4674'46_'35selFP67'35ff2 :: (Curry t21,Curry t22,Curry t30,Curry t28,Curry t31) => (Curry.Module.Prelude.T4 t21 t22 (Curry.Module.Prelude.Prim (t30 -> Curry.RunTimeSystem.State -> t28)) (Curry.Module.Prelude.List t31)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t30 -> Curry.RunTimeSystem.State -> t28)+c_fold'46once'4674'46_'35selFP67'35ff2 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x4+c_fold'46once'4674'46_'35selFP67'35ff2 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_fold'46once'4674'46_'35selFP67'35ff2(x)(st))(i)(xs)(st)+c_fold'46once'4674'46_'35selFP67'35ff2 x st = Curry.RunTimeSystem.patternFail("LiftCases.fold.once.74._#selFP67#ff2")(x)++++c_fold'46once'4674'46_'35selFP68'35vs2 :: (Curry t21,Curry t22,Curry t30,Curry t28,Curry t31) => (Curry.Module.Prelude.T4 t21 t22 (Curry.Module.Prelude.Prim (t30 -> Curry.RunTimeSystem.State -> t28)) (Curry.Module.Prelude.List t31)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List t31+c_fold'46once'4674'46_'35selFP68'35vs2 x1@(Curry.Module.Prelude.T4 x2 x3 x4 x5) st = x5+c_fold'46once'4674'46_'35selFP68'35vs2 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_fold'46once'4674'46_'35selFP68'35vs2(x)(st))(i)(xs)(st)+c_fold'46once'4674'46_'35selFP68'35vs2 x st = Curry.RunTimeSystem.patternFail("LiftCases.fold.once.74._#selFP68#vs2")(x)++++c_genFuncCall :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_genFuncCall x1 x2 x3 x4 x5 st = Curry.Module.FlatCurry.C_Comb(Curry.Module.FlatCurry.C_FuncCall)(Curry.Module.Prelude.T2(x1)(Curry.Module.Prelude.op_43_43(x2)(Curry.Module.Prelude.c_show(x3)(st))(st)))(Curry.Module.Prelude.op_43_43(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pc(Curry.Module.FlatCurry.C_Var))(x4)(st))((Curry.Module.Prelude.:<)(x5)(Curry.Module.Prelude.List))(st))++++c_genFunc :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.Module.FlatCurry.C_Expr -> Curry.Module.FlatCurry.C_CaseType -> (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_FuncDecl+c_genFunc x1 x2 x3 x4 x5 x6 x7 st = let {x8 = Curry.Module.LiftCases.c_genFunc_case_1(x4)(x7)(x5)(st)} in Curry.Module.Prelude.op_36(Curry.Module.Prelude.pc(Curry.Module.FlatCurry.C_Func(Curry.Module.Prelude.T2(x1)(Curry.Module.Prelude.op_43_43(x2)(Curry.Module.Prelude.c_show(x3)(st))(st)))(Curry.Module.Prelude.op_43(Curry.Module.Prelude.c_length(x4)(st))(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(Curry.Module.FlatCurry.C_Private)(Curry.Module.FlatCurry.C_TVar(Curry.Module.Prelude.c_negate(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_I(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_I(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_IHi)))))))(st)))))(Curry.Module.FlatCurry.C_Rule(Curry.Module.Prelude.op_43_43(x4)((Curry.Module.Prelude.:<)(x8)(Curry.Module.Prelude.List))(st))(Curry.Module.FlatCurry.C_Case(x6)(Curry.Module.FlatCurry.C_Var(x8))(x7)))(st)++++c_genFunc'46allVarsBranch'4682 :: Curry.Module.FlatCurry.C_BranchExpr -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_genFunc'46allVarsBranch'4682 x1@(Curry.Module.FlatCurry.C_Branch x2 x3) st = Curry.Module.Prelude.op_43_43(Curry.Module.FlatCurryGoodies.c_trPattern(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.LiftCases.c_genFunc'46allVarsBranch'4682'46_'35lambda6))(Curry.Module.Prelude.pf(Curry.Module.LiftCases.c_genFunc'46allVarsBranch'4682'46_'35lambda7))(x2)(st))(Curry.Module.FlatCurryGoodies.c_allVars(x3)(st))(st)+c_genFunc'46allVarsBranch'4682 (Curry.Module.FlatCurry.C_BranchExprOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_genFunc'46allVarsBranch'4682(x)(st))(i)(xs)(st)+c_genFunc'46allVarsBranch'4682 x st = Curry.RunTimeSystem.patternFail("LiftCases.genFunc.allVarsBranch.82")(x)++++c_genFunc'46allVarsBranch'4682'46_'35lambda6 :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_genFunc'46allVarsBranch'4682'46_'35lambda6 x1 x2 st = x2++++c_genFunc'46allVarsBranch'4682'46_'35lambda7 :: (Curry t262) => Curry.Module.FlatCurry.C_Literal -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List t262+c_genFunc'46allVarsBranch'4682'46_'35lambda7 x1 st = Curry.Module.Prelude.List++++c_removePVars :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Pattern -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)+c_removePVars x1 st = Curry.Module.Prelude.pf(Curry.Module.FlatCurryGoodies.c_trPattern(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.LiftCases.c_removePVars'46_'35lambda8(x1)))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_const(x1))))++++c_removePVars'46_'35lambda8 :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_removePVars'46_'35lambda8 x1 x2 x3 st = Curry.Module.Prelude.c_filter(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_not))(Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_elemOf(st))(x3)(st))(st))(x1)(st)++++c_genAuxName :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)+c_genAuxName st = Curry.Module.Prelude.pf(Curry.Module.Prelude.c_foldl(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.LiftCases.c_addUnderscores))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('_'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('_'))(Curry.Module.Prelude.List))))))))++++c_addUnderscores :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char+c_addUnderscores x1 x2 st = Curry.Module.LiftCases.c_addUnderscores_case_0(x1)(x2)(Curry.Module.List.c_isPrefixOf(x1)(x2)(st))(st)++++c_elemOf :: (Curry t0) => Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t0) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool))+c_elemOf st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.c_flip(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_elem)))++++c_nub :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int+c_nub x1 st = Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_fst))))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.FiniteMap.c_fmToList))(Curry.Module.Prelude.op_36(Curry.Module.FiniteMap.c_listToFM(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_60))(st))(Curry.Module.Prelude.c_zip(x1)(Curry.Module.Prelude.c_repeat(Curry.Module.Prelude.T0)(st))(st))(st))(st))(st)++++c_addUnderscores_case_0 x1 x2 x3@Curry.Module.Prelude.C_True st = Curry.Module.LiftCases.c_addUnderscores(Curry.Module.Prelude.op_43_43(x1)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('_'))(Curry.Module.Prelude.List))(st))(x2)(st)+c_addUnderscores_case_0 x1 x2 x3@Curry.Module.Prelude.C_False st = x1+c_addUnderscores_case_0 x1 x2 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_addUnderscores_case_0(x1)(x2)(x)(st))(i)(xs)(st)+c_addUnderscores_case_0 x1 x2 x st = Curry.RunTimeSystem.patternFail("LiftCases.addUnderscores_case_0")(x)++++c_genFunc_case_1 x4 x7 x5@(Curry.Module.FlatCurry.C_Var x9) st = x9+c_genFunc_case_1 x4 x7 x5@(Curry.Module.FlatCurry.C_Lit x10) st = Curry.Module.Prelude.op_43(Curry.Module.Prelude.c_foldr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.c_max))(Curry.Module.Prelude.C_Zero)(Curry.Module.Prelude.op_43_43(x4)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_concatMap(Curry.Module.Prelude.pf(Curry.Module.LiftCases.c_genFunc'46allVarsBranch'4682))(st))(x7)(st))(st))(st))(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st)+c_genFunc_case_1 x4 x7 x5@(Curry.Module.FlatCurry.C_Comb x11 x12 x13) st = Curry.Module.Prelude.op_43(Curry.Module.Prelude.c_foldr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.c_max))(Curry.Module.Prelude.C_Zero)(Curry.Module.Prelude.op_43_43(x4)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_concatMap(Curry.Module.Prelude.pf(Curry.Module.LiftCases.c_genFunc'46allVarsBranch'4682))(st))(x7)(st))(st))(st))(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st)+c_genFunc_case_1 x4 x7 x5@(Curry.Module.FlatCurry.C_Let x14 x15) st = Curry.Module.Prelude.op_43(Curry.Module.Prelude.c_foldr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.c_max))(Curry.Module.Prelude.C_Zero)(Curry.Module.Prelude.op_43_43(x4)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_concatMap(Curry.Module.Prelude.pf(Curry.Module.LiftCases.c_genFunc'46allVarsBranch'4682))(st))(x7)(st))(st))(st))(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st)+c_genFunc_case_1 x4 x7 x5@(Curry.Module.FlatCurry.C_Free x16 x17) st = Curry.Module.Prelude.op_43(Curry.Module.Prelude.c_foldr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.c_max))(Curry.Module.Prelude.C_Zero)(Curry.Module.Prelude.op_43_43(x4)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_concatMap(Curry.Module.Prelude.pf(Curry.Module.LiftCases.c_genFunc'46allVarsBranch'4682))(st))(x7)(st))(st))(st))(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st)+c_genFunc_case_1 x4 x7 x5@(Curry.Module.FlatCurry.C_Or x18 x19) st = Curry.Module.Prelude.op_43(Curry.Module.Prelude.c_foldr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.c_max))(Curry.Module.Prelude.C_Zero)(Curry.Module.Prelude.op_43_43(x4)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_concatMap(Curry.Module.Prelude.pf(Curry.Module.LiftCases.c_genFunc'46allVarsBranch'4682))(st))(x7)(st))(st))(st))(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st)+c_genFunc_case_1 x4 x7 x5@(Curry.Module.FlatCurry.C_Case x20 x21 x22) st = Curry.Module.Prelude.op_43(Curry.Module.Prelude.c_foldr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.c_max))(Curry.Module.Prelude.C_Zero)(Curry.Module.Prelude.op_43_43(x4)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_concatMap(Curry.Module.Prelude.pf(Curry.Module.LiftCases.c_genFunc'46allVarsBranch'4682))(st))(x7)(st))(st))(st))(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st)+c_genFunc_case_1 x4 x7 (Curry.Module.FlatCurry.C_ExprOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_genFunc_case_1(x4)(x7)(x)(st))(i)(xs)(st)+c_genFunc_case_1 x4 x7 x st = Curry.RunTimeSystem.patternFail("LiftCases.genFunc_case_1")(x)++++c_liftCasesFunc'46casE'4618_case_2 x17 x8@(Curry.Module.FlatCurry.C_Var x19) st = Curry.Module.List.c_delete(x19)(x17)(st)+c_liftCasesFunc'46casE'4618_case_2 x17 x8@(Curry.Module.FlatCurry.C_Lit x20) st = x17+c_liftCasesFunc'46casE'4618_case_2 x17 x8@(Curry.Module.FlatCurry.C_Comb x21 x22 x23) st = x17+c_liftCasesFunc'46casE'4618_case_2 x17 x8@(Curry.Module.FlatCurry.C_Let x24 x25) st = x17+c_liftCasesFunc'46casE'4618_case_2 x17 x8@(Curry.Module.FlatCurry.C_Free x26 x27) st = x17+c_liftCasesFunc'46casE'4618_case_2 x17 x8@(Curry.Module.FlatCurry.C_Or x28 x29) st = x17+c_liftCasesFunc'46casE'4618_case_2 x17 x8@(Curry.Module.FlatCurry.C_Case x30 x31 x32) st = x17+c_liftCasesFunc'46casE'4618_case_2 x17 (Curry.Module.FlatCurry.C_ExprOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46casE'4618_case_2(x17)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46casE'4618_case_2 x17 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.casE.18_case_2")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_5 x5 x2@((Curry.Module.Prelude.:<) x6 x7) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_4(x5)(x7)(st)+c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_5 x5 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_5(x5)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_5 x5 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP37#vs_case_5")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_4 x5 x7@((Curry.Module.Prelude.:<) x8 x9) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_3(x5)(x9)(st)+c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_4 x5 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_4(x5)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_4 x5 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP37#vs_case_4")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_3 x5 x9@Curry.Module.Prelude.List st = x5+c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_3 x5 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_3(x5)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP37'35vs_case_3 x5 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP37#vs_case_3")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_8 x4 x2@((Curry.Module.Prelude.:<) x6 x7) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_7(x4)(x7)(st)+c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_8 x4 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_8(x4)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_8 x4 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP36#ff_case_8")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_7 x4 x7@((Curry.Module.Prelude.:<) x8 x9) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_6(x4)(x9)(st)+c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_7 x4 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_7(x4)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_7 x4 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP36#ff_case_7")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_6 x4 x9@Curry.Module.Prelude.List st = x4+c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_6 x4 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_6(x4)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP36'35ff_case_6 x4 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP36#ff_case_6")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_11 x3 x2@((Curry.Module.Prelude.:<) x6 x7) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_10(x3)(x7)(st)+c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_11 x3 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_11(x3)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_11 x3 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP35#i'_case_11")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_10 x3 x7@((Curry.Module.Prelude.:<) x8 x9) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_9(x3)(x9)(st)+c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_10 x3 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_10(x3)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_10 x3 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP35#i'_case_10")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_9 x3 x9@Curry.Module.Prelude.List st = x3+c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_9 x3 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_9(x3)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP35'35i'39_case_9 x3 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP35#i'_case_9")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_14 x2@((Curry.Module.Prelude.:<) x6 x7) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_13(x7)(st)+c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_14 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_14(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_14 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP34#e2'_case_14")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_13 x7@((Curry.Module.Prelude.:<) x8 x9) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_12(x8)(x9)(st)+c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_13 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_13(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_13 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP34#e2'_case_13")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_12 x8 x9@Curry.Module.Prelude.List st = x8+c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_12 x8 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_12(x8)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP34'35e2'39_case_12 x8 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP34#e2'_case_12")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_17 x2@((Curry.Module.Prelude.:<) x6 x7) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_16(x6)(x7)(st)+c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_17 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_17(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_17 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP33#e1'_case_17")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_16 x6 x7@((Curry.Module.Prelude.:<) x8 x9) st = Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_15(x6)(x9)(st)+c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_16 x6 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_16(x6)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_16 x6 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP33#e1'_case_16")(x)++++c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_15 x6 x9@Curry.Module.Prelude.List st = x6+c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_15 x6 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_15(x6)(x)(st))(i)(xs)(st)+c_liftCasesFunc'46or'4618'46_'35selFP33'35e1'39_case_15 x6 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc.or.18._#selFP33#e1'_case_15")(x)++++c_liftCasesFunc_case_20 x7 x9 x10 x1@Curry.Module.Prelude.C_True st = Curry.Module.LiftCases.c_liftCasesFunc_case_19(x7)(x10)(x9)(st)+c_liftCasesFunc_case_20 x7 x9 x10 x1@Curry.Module.Prelude.C_False st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_20 x7 x9 x10 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc_case_20(x7)(x9)(x10)(x)(st))(i)(xs)(st)+c_liftCasesFunc_case_20 x7 x9 x10 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc_case_20")(x)++++c_liftCasesFunc_case_19 x7 x10 x9@(Curry.Module.FlatCurry.C_Case x12 x13 x14) st = Curry.Module.LiftCases.c_liftCasesFunc_case_18(x7)(x9)(x10)(x12)(x14)(x13)(st)+c_liftCasesFunc_case_19 x7 x10 x9@(Curry.Module.FlatCurry.C_Var x37) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_19 x7 x10 x9@(Curry.Module.FlatCurry.C_Lit x38) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_19 x7 x10 x9@(Curry.Module.FlatCurry.C_Comb x39 x40 x41) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_19 x7 x10 x9@(Curry.Module.FlatCurry.C_Let x42 x43) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_19 x7 x10 x9@(Curry.Module.FlatCurry.C_Free x44 x45) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_19 x7 x10 x9@(Curry.Module.FlatCurry.C_Or x46 x47) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_19 x7 x10 (Curry.Module.FlatCurry.C_ExprOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc_case_19(x7)(x10)(x)(st))(i)(xs)(st)+c_liftCasesFunc_case_19 x7 x10 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc_case_19")(x)++++c_liftCasesFunc_case_18 x7 x9 x10 x12 x14 x13@(Curry.Module.FlatCurry.C_Var x15) st = let {x16 = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(Curry.Module.FlatCurry.C_Var(x15))(st))(x7)(st)} in let {x20 = Curry.Module.Prelude.c_apply(Curry.Module.LiftCases.c_fold(Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP59'35i'39(x16)(st))(st))(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.LiftCases.c_liftCasesFunc'46_'35lambda3(x10)))(x14)(st))(st)} in Curry.Module.Prelude.T4(Curry.Module.FlatCurry.C_Case(x12)(Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP58'35e'39(x16)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP55'35bs'39(x20)(st)))(Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP56'35i'39'39(x20)(st))(Curry.Module.Prelude.op_46(Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP60'35ffe(x16)(st))(Curry.Module.LiftCases.c_liftCasesFunc'46_'35selFP57'35ffbs(x20)(st))(st))(Curry.Module.Prelude.List)+c_liftCasesFunc_case_18 x7 x9 x10 x12 x14 x13@(Curry.Module.FlatCurry.C_Lit x24) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_18 x7 x9 x10 x12 x14 x13@(Curry.Module.FlatCurry.C_Comb x25 x26 x27) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_18 x7 x9 x10 x12 x14 x13@(Curry.Module.FlatCurry.C_Let x28 x29) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_18 x7 x9 x10 x12 x14 x13@(Curry.Module.FlatCurry.C_Free x30 x31) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_18 x7 x9 x10 x12 x14 x13@(Curry.Module.FlatCurry.C_Or x32 x33) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_18 x7 x9 x10 x12 x14 x13@(Curry.Module.FlatCurry.C_Case x34 x35 x36) st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x10)(x9)(st))(x7)(st)+c_liftCasesFunc_case_18 x7 x9 x10 x12 x14 (Curry.Module.FlatCurry.C_ExprOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.LiftCases.c_liftCasesFunc_case_18(x7)(x9)(x10)(x12)(x14)(x)(st))(i)(xs)(st)+c_liftCasesFunc_case_18 x7 x9 x10 x12 x14 x st = Curry.RunTimeSystem.patternFail("LiftCases.liftCasesFunc_case_18")(x)++
+ dist/build/prophecy/prophecy-tmp/Curry/Module/Make.hs view
@@ -0,0 +1,463 @@+{-# OPTIONS -cpp #-}++{-# LANGUAGE RankNTypes, ScopedTypeVariables, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances #-}++module Curry.Module.Make (module Curry.Module.Make) where++import Curry.RunTimeSystem+import Curry.Module.Directory+import Curry.Module.Distribution+import Curry.Module.FileGoodies+import Curry.Module.FiniteMap+import Curry.Module.FlatCurry+import Curry.Module.IOExts+import Curry.Module.Prelude+import Curry.Module.Sort+import Curry.Module.System+import Curry.Module.Time+import Curry.Module.FlatCurryGoodies++++-- begin included++++-- end included++type C_ModuleName = Curry.Module.Prelude.List Curry.Module.Prelude.C_Char++type C_Path = Curry.Module.Prelude.List Curry.Module.Prelude.C_Char++type C_FileName = Curry.Module.Prelude.List Curry.Module.Prelude.C_Char++type C_TestAct t0 = (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t0)++type C_ProgAct t0 = (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List t0) -> Curry.Module.FlatCurry.C_Prog -> Curry.Module.Prelude.C_IO t0++type C_Done t0 = Curry.Module.IOExts.C_IORef (Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t0)++type C_Getter t0 = Curry.Module.Make.C_Parameter -> t0++type C_Setter t0 = t0 -> Curry.Module.Make.C_Parameter -> Curry.Module.Make.C_Parameter++data C_Parameter = C_Parameter Curry.Module.Prelude.C_Bool Curry.Module.Prelude.C_Bool (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)+ | C_ParameterFail Curry.RunTimeSystem.C_Exceptions+ | C_ParameterOr Curry.RunTimeSystem.OrRef (Curry.RunTimeSystem.Branches Curry.Module.Make.C_Parameter)++instance BaseCurry Curry.Module.Make.C_Parameter where+ nf f (Curry.Module.Make.C_Parameter x1 x2 x3 x4 x5) state0 = Curry.RunTimeSystem.nfCTC(\ v1 state1 -> Curry.RunTimeSystem.nfCTC(\ v2 state2 -> Curry.RunTimeSystem.nfCTC(\ v3 state3 -> Curry.RunTimeSystem.nfCTC(\ v4 state4 -> Curry.RunTimeSystem.nfCTC(\ v5 state5 -> f(Curry.Module.Make.C_Parameter(v1)(v2)(v3)(v4)(v5))(state5))(x5)(state4))(x4)(state3))(x3)(state2))(x2)(state1))(x1)(state0)+ nf f x st = f(x)(st)++ gnf f (Curry.Module.Make.C_Parameter x1 x2 x3 x4 x5) state0 = Curry.RunTimeSystem.gnfCTC(\ v1 state1 -> Curry.RunTimeSystem.gnfCTC(\ v2 state2 -> Curry.RunTimeSystem.gnfCTC(\ v3 state3 -> Curry.RunTimeSystem.gnfCTC(\ v4 state4 -> Curry.RunTimeSystem.gnfCTC(\ v5 state5 -> f(Curry.Module.Make.C_Parameter(v1)(v2)(v3)(v4)(v5))(state5))(x5)(state4))(x4)(state3))(x3)(state2))(x2)(state1))(x1)(state0)+ gnf f x st = f(x)(st)++ generator i = Curry.RunTimeSystem.withRef(\ r -> Curry.Module.Make.C_ParameterOr(Curry.RunTimeSystem.mkRef(r)(5)(i))([Curry.Module.Make.C_Parameter(Curry.RunTimeSystem.generator((Prelude.+)(r)((4::Int))))(Curry.RunTimeSystem.generator((Prelude.+)(r)((3::Int))))(Curry.RunTimeSystem.generator((Prelude.+)(r)((2::Int))))(Curry.RunTimeSystem.generator((Prelude.+)(r)((1::Int))))(Curry.RunTimeSystem.generator((Prelude.+)(r)((0::Int))))]))(5)++ failed = Curry.Module.Make.C_ParameterFail++ branching = Curry.Module.Make.C_ParameterOr++ consKind (Curry.Module.Make.C_ParameterOr _ _) = Curry.RunTimeSystem.Branching+ consKind (Curry.Module.Make.C_ParameterFail _) = Curry.RunTimeSystem.Failed+ consKind _ = Curry.RunTimeSystem.Val++ exceptions (Curry.Module.Make.C_ParameterFail x) = x++ orRef (Curry.Module.Make.C_ParameterOr x _) = x++ branches (Curry.Module.Make.C_ParameterOr _ x) = x++++++instance Curry Curry.Module.Make.C_Parameter where+ strEq (Curry.Module.Make.C_Parameter x1 x2 x3 x4 x5) (Curry.Module.Make.C_Parameter y1 y2 y3 y4 y5) st = Curry.Module.Prelude.concAnd(Curry.Module.Prelude.genStrEq(x1)(y1)(st))(Curry.Module.Prelude.concAnd(Curry.Module.Prelude.genStrEq(x2)(y2)(st))(Curry.Module.Prelude.concAnd(Curry.Module.Prelude.genStrEq(x3)(y3)(st))(Curry.Module.Prelude.concAnd(Curry.Module.Prelude.genStrEq(x4)(y4)(st))(Curry.Module.Prelude.genStrEq(x5)(y5)(st))(st))(st))(st))(st)+ strEq _ x0 _ = Curry.Module.Prelude.strEqFail(Curry.Module.Prelude.typeName(x0))++ eq (Curry.Module.Make.C_Parameter x1 x2 x3 x4 x5) (Curry.Module.Make.C_Parameter y1 y2 y3 y4 y5) st = Curry.Module.Prelude.op_38_38(Curry.Module.Prelude.genEq(x1)(y1)(st))(Curry.Module.Prelude.op_38_38(Curry.Module.Prelude.genEq(x2)(y2)(st))(Curry.Module.Prelude.op_38_38(Curry.Module.Prelude.genEq(x3)(y3)(st))(Curry.Module.Prelude.op_38_38(Curry.Module.Prelude.genEq(x4)(y4)(st))(Curry.Module.Prelude.genEq(x5)(y5)(st))(st))(st))(st))(st)+ eq _ _ _ = Curry.Module.Prelude.C_False++ propagate f (Curry.Module.Make.C_Parameter x1 x2 x3 x4 x5) st = Curry.Module.Make.C_Parameter(f((0::Int))(x1)(st))(f((1::Int))(x2)(st))(f((2::Int))(x3)(st))(f((3::Int))(x4)(st))(f((4::Int))(x5)(st))++ foldCurry f c (Curry.Module.Make.C_Parameter x1 x2 x3 x4 x5) st = f(x1)(f(x2)(f(x3)(f(x4)(f(x5)(c)(st))(st))(st))(st))(st)++ typeName _ = "Parameter"++ showQ d (Curry.Module.Make.C_Parameter x1 x2 x3 x4 x5) = Prelude.showParen(Prelude.True)(showStr)+ where+ showStr = (Prelude..)(Prelude.showString("Make.Parameter "))((Prelude..)(Curry.Module.Prelude.showQ(Curry.RunTimeSystem.eleven)(x1))((Prelude..)(Prelude.showChar(' '))((Prelude..)(Curry.Module.Prelude.showQ(Curry.RunTimeSystem.eleven)(x2))((Prelude..)(Prelude.showChar(' '))((Prelude..)(Curry.Module.Prelude.showQ(Curry.RunTimeSystem.eleven)(x3))((Prelude..)(Prelude.showChar(' '))((Prelude..)(Curry.Module.Prelude.showQ(Curry.RunTimeSystem.eleven)(x4))((Prelude..)(Prelude.showChar(' '))(Curry.Module.Prelude.showQ(Curry.RunTimeSystem.eleven)(x5))))))))))+++ showQ _ (Curry.Module.Make.C_ParameterOr r _) = Prelude.showString((:)('_')(Prelude.show(Curry.RunTimeSystem.deref(r))))++++++instance Show Curry.Module.Make.C_Parameter where+ showsPrec d (Curry.Module.Make.C_Parameter x1 x2 x3 x4 x5) = Prelude.showParen((Prelude.>)(d)(Curry.RunTimeSystem.ten))(showStr)+ where+ showStr = (Prelude..)(Prelude.showString("Parameter "))((Prelude..)(Prelude.showsPrec(Curry.RunTimeSystem.eleven)(x1))((Prelude..)(Prelude.showChar(' '))((Prelude..)(Prelude.showsPrec(Curry.RunTimeSystem.eleven)(x2))((Prelude..)(Prelude.showChar(' '))((Prelude..)(Prelude.showsPrec(Curry.RunTimeSystem.eleven)(x3))((Prelude..)(Prelude.showChar(' '))((Prelude..)(Prelude.showsPrec(Curry.RunTimeSystem.eleven)(x4))((Prelude..)(Prelude.showChar(' '))(Prelude.showsPrec(Curry.RunTimeSystem.eleven)(x5))))))))))+++ showsPrec _ (Curry.Module.Make.C_ParameterOr r _) = Prelude.showString((:)('_')(Prelude.show(Curry.RunTimeSystem.deref(r))))++++++instance Read Curry.Module.Make.C_Parameter where+ readsPrec d r = Prelude.readParen((Prelude.>)(d)(Curry.RunTimeSystem.ten))(\ r -> [(,)(Curry.Module.Make.C_Parameter(x1)(x2)(x3)(x4)(x5))(r5) | ((,) _ r0) <- Curry.RunTimeSystem.readQualified("Make")("Parameter")(r), ((,) x1 r1) <- Prelude.readsPrec(Curry.RunTimeSystem.eleven)(r0), ((,) x2 r2) <- Prelude.readsPrec(Curry.RunTimeSystem.eleven)(r1), ((,) x3 r3) <- Prelude.readsPrec(Curry.RunTimeSystem.eleven)(r2), ((,) x4 r4) <- Prelude.readsPrec(Curry.RunTimeSystem.eleven)(r3), ((,) x5 r5) <- Prelude.readsPrec(Curry.RunTimeSystem.eleven)(r4)])(r)++++++c_defaults :: Curry.RunTimeSystem.State -> Curry.Module.Make.C_Parameter+c_defaults st = Curry.Module.Make.C_Parameter(Curry.Module.Prelude.C_False)(Curry.Module.Prelude.C_False)(Curry.Module.Prelude.C_Nothing)(Curry.Module.Prelude.C_Nothing)(Curry.Module.Prelude.List)++++c_quiet :: Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_quiet x1@(Curry.Module.Make.C_Parameter x2 x3 x4 x5 x6) st = x2+c_quiet (Curry.Module.Make.C_ParameterOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_quiet(x)(st))(i)(xs)(st)+c_quiet x st = Curry.RunTimeSystem.patternFail("Make.quiet")(x)++++c_setQuiet :: Curry.Module.Prelude.C_Bool -> Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Make.C_Parameter+c_setQuiet x1 x2@(Curry.Module.Make.C_Parameter x3 x4 x5 x6 x7) st = Curry.Module.Make.C_Parameter(x1)(x4)(x5)(x6)(x7)+c_setQuiet x1 (Curry.Module.Make.C_ParameterOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_setQuiet(x1)(x)(st))(i)(xs)(st)+c_setQuiet x1 x st = Curry.RunTimeSystem.patternFail("Make.setQuiet")(x)++++c_force :: Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_force x1@(Curry.Module.Make.C_Parameter x2 x3 x4 x5 x6) st = x3+c_force (Curry.Module.Make.C_ParameterOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_force(x)(st))(i)(xs)(st)+c_force x st = Curry.RunTimeSystem.patternFail("Make.force")(x)++++c_setForce :: Curry.Module.Prelude.C_Bool -> Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Make.C_Parameter+c_setForce x1 x2@(Curry.Module.Make.C_Parameter x3 x4 x5 x6 x7) st = Curry.Module.Make.C_Parameter(x3)(x1)(x5)(x6)(x7)+c_setForce x1 (Curry.Module.Make.C_ParameterOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_setForce(x1)(x)(st))(i)(xs)(st)+c_setForce x1 x st = Curry.RunTimeSystem.patternFail("Make.setForce")(x)++++c_output :: Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)+c_output x1@(Curry.Module.Make.C_Parameter x2 x3 x4 x5 x6) st = x4+c_output (Curry.Module.Make.C_ParameterOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_output(x)(st))(i)(xs)(st)+c_output x st = Curry.RunTimeSystem.patternFail("Make.output")(x)++++c_setOutput :: (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Make.C_Parameter+c_setOutput x1 x2@(Curry.Module.Make.C_Parameter x3 x4 x5 x6 x7) st = Curry.Module.Make.C_Parameter(x3)(x4)(x1)(x6)(x7)+c_setOutput x1 (Curry.Module.Make.C_ParameterOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_setOutput(x1)(x)(st))(i)(xs)(st)+c_setOutput x1 x st = Curry.RunTimeSystem.patternFail("Make.setOutput")(x)++++c_main :: Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)+c_main x1@(Curry.Module.Make.C_Parameter x2 x3 x4 x5 x6) st = x5+c_main (Curry.Module.Make.C_ParameterOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_main(x)(st))(i)(xs)(st)+c_main x st = Curry.RunTimeSystem.patternFail("Make.main")(x)++++c_setMain :: (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Make.C_Parameter+c_setMain x1 x2@(Curry.Module.Make.C_Parameter x3 x4 x5 x6 x7) st = Curry.Module.Make.C_Parameter(x3)(x4)(x5)(x1)(x7)+c_setMain x1 (Curry.Module.Make.C_ParameterOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_setMain(x1)(x)(st))(i)(xs)(st)+c_setMain x1 x st = Curry.RunTimeSystem.patternFail("Make.setMain")(x)++++c_modulename :: Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char+c_modulename x1@(Curry.Module.Make.C_Parameter x2 x3 x4 x5 x6) st = x6+c_modulename (Curry.Module.Make.C_ParameterOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_modulename(x)(st))(i)(xs)(st)+c_modulename x st = Curry.RunTimeSystem.patternFail("Make.modulename")(x)++++c_setModulename :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Make.C_Parameter+c_setModulename x1 x2@(Curry.Module.Make.C_Parameter x3 x4 x5 x6 x7) st = Curry.Module.Make.C_Parameter(x3)(x4)(x5)(x6)(x1)+c_setModulename x1 (Curry.Module.Make.C_ParameterOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_setModulename(x1)(x)(st))(i)(xs)(st)+c_setModulename x1 x st = Curry.RunTimeSystem.patternFail("Make.setModulename")(x)++++c_parseArgs :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Make.C_Parameter+c_parseArgs st = Curry.Module.Prelude.op_62_62_61(Curry.Module.System.c_getArgs(st))(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_return))(Curry.Module.Prelude.pf(Curry.Module.Make.c_parseArgs'46parse'4650(Curry.Module.Prelude.c_error((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('g'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(':'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('<'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('/'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('>'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('<'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('q'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('/'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('q'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('>'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('<'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('>'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('m'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('m'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))(Curry.Module.Prelude.List)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(st))(Curry.Module.Make.c_defaults(st))))(st))(st)++++c_parseArgs'46parse'4650 :: Curry.Module.Make.C_Parameter -> Curry.Module.Make.C_Parameter -> (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Make.C_Parameter+c_parseArgs'46parse'4650 x1 x2 x3@Curry.Module.Prelude.List st = x1+c_parseArgs'46parse'4650 x1 x2 x3@((Curry.Module.Prelude.:<) x4 x5) st = Curry.Module.Make.c_parseArgs'46parse'4650_case_15(x1)(x2)(x4)(x5)(Curry.Module.Prelude.op_61_61(x4)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('q'))(Curry.Module.Prelude.List)))(st))(st)+c_parseArgs'46parse'4650 x1 x2 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_parseArgs'46parse'4650(x1)(x2)(x)(st))(i)(xs)(st)+c_parseArgs'46parse'4650 x1 x2 x st = Curry.RunTimeSystem.patternFail("Make.parseArgs.parse.50")(x)++++c_make :: (Curry t0) => Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Bool -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t0)))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t0) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0)))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0))))+c_make st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))))(Curry.Module.Make.c_makeWithFrontendParams(Curry.Module.Distribution.c_defaultParams(st)))++++c_makeWithFrontendParams :: (Curry t0) => Curry.Module.Distribution.C_FrontendParams -> Curry.Module.Prelude.C_Bool -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t0)))) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t0) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0)))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_makeWithFrontendParams x1 x2 x3 x4 x5 st = let {x6 = Curry.Module.FileGoodies.c_splitDirectoryBaseName(x3)(st)} in Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.c_maybe(Curry.Module.Distribution.c_getLoadPath(st))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_return))(Curry.Module.Distribution.c_fullPath(x1)(st))(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_makeWithFrontendParams'46_'35lambda4(x5)(Curry.Module.Make.c_makeWithFrontendParams'46_'35selFP3'35dir(x6)(st))(x1)(Curry.Module.Make.c_makeWithFrontendParams'46_'35selFP4'35modu(x6)(st))(x2)(x4)))(st)++++c_makeWithFrontendParams'46_'35selFP3'35dir :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char+c_makeWithFrontendParams'46_'35selFP3'35dir x1@(Curry.Module.Prelude.T2 x2 x3) st = x2+c_makeWithFrontendParams'46_'35selFP3'35dir (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_makeWithFrontendParams'46_'35selFP3'35dir(x)(st))(i)(xs)(st)+c_makeWithFrontendParams'46_'35selFP3'35dir x st = Curry.RunTimeSystem.patternFail("Make.makeWithFrontendParams._#selFP3#dir")(x)++++c_makeWithFrontendParams'46_'35selFP4'35modu :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char+c_makeWithFrontendParams'46_'35selFP4'35modu x1@(Curry.Module.Prelude.T2 x2 x3) st = x3+c_makeWithFrontendParams'46_'35selFP4'35modu (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_makeWithFrontendParams'46_'35selFP4'35modu(x)(st))(i)(xs)(st)+c_makeWithFrontendParams'46_'35selFP4'35modu x st = Curry.RunTimeSystem.patternFail("Make.makeWithFrontendParams._#selFP4#modu")(x)++++c_makeWithFrontendParams'46_'35lambda4 :: (Curry t209) => (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t209) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t209)))) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.Distribution.C_FrontendParams -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.Prelude.C_Bool -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t209)))) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_makeWithFrontendParams'46_'35lambda4 x1 x2 x3 x4 x5 x6 x7 st = let {x8 = Curry.Module.Make.c_makeWithFrontendParams'46_'35lambda4_case_6(x2)(x7)(Curry.Module.Prelude.op_61_61(x2)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))(Curry.Module.Prelude.List))(st))(st)} in Curry.Module.Prelude.op_62_62_61(Curry.Module.FileGoodies.c_lookupFileInPath(x4)((Curry.Module.Prelude.:<)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))(Curry.Module.Prelude.List)))))))((Curry.Module.Prelude.:<)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))(Curry.Module.Prelude.List))))))))(Curry.Module.Prelude.List)))(x8)(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_makeWithFrontendParams'46_'35lambda4'46_'35lambda5(x1)(x8)(x4)(Curry.Module.Distribution.c_setFullPath(x8)(x3)(st))(x5)(x6)))(st)++++c_makeWithFrontendParams'46_'35lambda4'46_'35lambda5 :: (Curry t209) => (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t209) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t209)))) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.Distribution.C_FrontendParams -> Curry.Module.Prelude.C_Bool -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t209)))) -> (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_makeWithFrontendParams'46_'35lambda4'46_'35lambda5 x1 x2 x3 x4 x5 x6 x7 st = Curry.Module.Prelude.op_62_62(Curry.Module.Make.c_unless(Curry.Module.Prelude.op_61_61(x7)(Curry.Module.Prelude.C_Nothing)(st))(Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Make.c_unless(x5)))(Curry.Module.Prelude.c_putStrLn((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('g'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('x'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('/'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))(Curry.Module.Prelude.List))))))))))))))))))))))))))))))))))))))))(st))(st))(Curry.Module.Prelude.op_62_62(Curry.Module.Distribution.c_callFrontendWithParams(Curry.Module.Distribution.C_FCY)(Curry.Module.Distribution.c_setQuiet(Curry.Module.Prelude.C_True)(x4)(st))(x3)(st))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Make.c_unless(x5)))(Curry.Module.Prelude.c_putStrLn((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))(Curry.Module.Prelude.List)))))))))))(st))(st))(st))(st))(st))(Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_newIORef(Curry.Module.FiniteMap.c_emptyFM(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Make.c_makeWithFrontendParams'46_'35lambda4'46_'35lambda5'46_'35lambda6))(st))(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_makeWithFrontendParams'46_'35lambda4'46_'35lambda5'46_'35lambda7(x1)(x2)(x3)(x6)))(st))(st)++++c_makeWithFrontendParams'46_'35lambda4'46_'35lambda5'46_'35lambda6 :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_makeWithFrontendParams'46_'35lambda4'46_'35lambda5'46_'35lambda6 x1 x2 st = Curry.Module.Prelude.c_not(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Sort.c_leqString(st))(x1)(st))(x2)(st))(st)++++c_makeWithFrontendParams'46_'35lambda4'46_'35lambda5'46_'35lambda7 :: (Curry t209) => (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t209) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t209)))) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t209)))) -> (Curry.Module.IOExts.C_IORef (Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t209)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_makeWithFrontendParams'46_'35lambda4'46_'35lambda5'46_'35lambda7 x1 x2 x3 x4 x5 st = Curry.Module.Prelude.op_62_62(Curry.Module.Make.c_workUpDependence(x2)(x5)(x4)(x1)(x3)(st))(Curry.Module.Prelude.c_return(Curry.Module.Prelude.T0)(st))(st)++++c_workUpDependence :: (Curry t0) => (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.IOExts.C_IORef (Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t0)) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t0)))) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t0) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0)))) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0+c_workUpDependence x1 x2 x3 x4 x5 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_readIORef(x2)(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_workUpDependence'46_'35lambda8(x4)(x2)(x5)(x1)(x3)))(st)++++c_workUpDependence'46_'35lambda8 :: (Curry t141) => (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t141) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t141)))) -> (Curry.Module.IOExts.C_IORef (Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t141)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t141)))) -> (Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t141) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t141+c_workUpDependence'46_'35lambda8 x1 x2 x3 x4 x5 x6 st = Curry.Module.Prelude.c_maybe(Curry.Module.Make.c_process(x4)(x2)(x5)(x1)(x3)(st))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_return))(Curry.Module.FiniteMap.c_lookupFM(x6)(x3)(st))(st)++++c_process :: (Curry t0) => (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.IOExts.C_IORef (Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t0)) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t0)))) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t0) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0)))) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0+c_process x1 x2 x3 x4 x5 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.FileGoodies.c_getFileInPath(Curry.Module.Prelude.op_43_43(x5)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))(Curry.Module.Prelude.List)))))(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.List)(Curry.Module.Prelude.List))(x1)(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_process'46_'35lambda9(x4)(x2)(x5)(x1)(x3)))(st)++++c_process'46_'35lambda9 :: (Curry t167) => (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t167) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t167)))) -> (Curry.Module.IOExts.C_IORef (Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t167)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t167)))) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t167+c_process'46_'35lambda9 x1 x2 x3 x4 x5 x6 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.op_62_62_61(Curry.Module.Make.c_fastReadImports(x6)(st))(Curry.Module.Prelude.c_mapIO(Curry.Module.Prelude.pf(Curry.Module.Make.c_workUpDependence(x4)(x2)(x5)(x1)))(st))(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_process'46_'35lambda9'46_'35lambda10(x1)(x2)(x6)(x3)(x5)))(st)++++c_process'46_'35lambda9'46_'35lambda10 :: (Curry t167) => (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List t167) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t167)))) -> (Curry.Module.IOExts.C_IORef (Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t167)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t167)))) -> (Curry.Module.Prelude.List t167) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t167+c_process'46_'35lambda9'46_'35lambda10 x1 x2 x3 x4 x5 x6 st = let {x7 = Curry.Module.Prelude.op_43_43(Curry.Module.FileGoodies.c_dirName(x3)(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('/'))(Curry.Module.Prelude.List))(st)} in Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x5)(x7)(st))(x4)(st))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_maybe(Curry.Module.Prelude.op_62_62_61(Curry.Module.FlatCurry.c_readFlatCurryFile(x3)(st))(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x1)(x7)(st))(x6)(st))(st))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_return))))(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_process'46_'35lambda9'46_'35lambda10'46_'35lambda11(x2)(x4)))(st)++++c_process'46_'35lambda9'46_'35lambda10'46_'35lambda11 :: (Curry t167) => (Curry.Module.IOExts.C_IORef (Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t167)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> t167 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t167+c_process'46_'35lambda9'46_'35lambda10'46_'35lambda11 x1 x2 x3 st = Curry.Module.Prelude.op_62_62(Curry.Module.Make.c_updateIORef(x1)(Curry.Module.Prelude.pf(Curry.Module.Make.c_process'46_'35lambda9'46_'35lambda10'46_'35lambda11'46_'35lambda12(x2)(x3)))(st))(Curry.Module.Prelude.c_return(x3)(st))(st)++++c_process'46_'35lambda9'46_'35lambda10'46_'35lambda11'46_'35lambda12 :: (Curry t167) => (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> t167 -> (Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t167) -> Curry.RunTimeSystem.State -> Curry.Module.FiniteMap.C_FM (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t167+c_process'46_'35lambda9'46_'35lambda10'46_'35lambda11'46_'35lambda12 x1 x2 x3 st = Curry.Module.FiniteMap.c_addToFM(x3)(x1)(x2)(st)++++c_obsolete :: (Curry t0) => Curry.Module.Prelude.C_Bool -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char))) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char))) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t0)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t0)+c_obsolete x1 x2 x3 x4 x5 x6 st = let {x7 = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x2)(x5)(st))(x6)(st)} in Curry.Module.Prelude.op_62_62_61(Curry.Module.Directory.c_doesFileExist(x7)(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_obsolete'46_'35lambda15(x4)(x7)(Curry.Module.Prelude.c_map(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.op_43_43(x5)))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_flip(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_36))(x6)))(st))(x3)(st))(x1)))(st)++++c_obsolete'46isNewerThan'4686 :: Curry.Module.Time.C_ClockTime -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.C_Bool+c_obsolete'46isNewerThan'4686 x1 x2 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.Directory.c_doesFileExist(x2)(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_obsolete'46isNewerThan'4686'46_'35lambda13(x2)(x1)))(st)++++c_obsolete'46isNewerThan'4686'46_'35lambda13 :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.Time.C_ClockTime -> Curry.Module.Prelude.C_Bool -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.C_Bool+c_obsolete'46isNewerThan'4686'46_'35lambda13 x1 x2 x3 st = Curry.Module.Make.c_obsolete'46isNewerThan'4686'46_'35lambda13_case_5(x1)(x2)(x3)(Curry.Module.Prelude.c_not(x3)(st))(st)++++c_obsolete'46isNewerThan'4686'46_'35lambda13'46_'35lambda14 :: Curry.Module.Time.C_ClockTime -> Curry.Module.Time.C_ClockTime -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.C_Bool+c_obsolete'46isNewerThan'4686'46_'35lambda13'46_'35lambda14 x1 x2 st = Curry.Module.Prelude.c_return(Curry.Module.Prelude.op_47_61(Curry.Module.Time.c_compareClockTime(x1)(x2)(st))(Curry.Module.Prelude.C_GT)(st))(st)++++c_obsolete'46_'35lambda15 :: (Curry t287) => (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t287)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.Module.Prelude.C_Bool -> Curry.Module.Prelude.C_Bool -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t287)+c_obsolete'46_'35lambda15 x1 x2 x3 x4 x5@Curry.Module.Prelude.C_True st = Curry.Module.Prelude.op_62_62_61(Curry.Module.Directory.c_getModificationTime(x2)(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_obsolete'46_'35lambda15'46_'35lambda16(x1)(x2)(x3)(x4)))(st)+c_obsolete'46_'35lambda15 x1 x2 x3 x4 x5@Curry.Module.Prelude.C_False st = Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Make.c_unless(x4)))(Curry.Module.Prelude.c_putStrLn(Curry.Module.Prelude.op_43_43((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('m'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('g'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(':'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))(Curry.Module.Prelude.List)))))))))))))(x2)(st))(st))(st))(Curry.Module.Prelude.c_return(Curry.Module.Prelude.C_Nothing)(st))(st)+c_obsolete'46_'35lambda15 x1 x2 x3 x4 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_obsolete'46_'35lambda15(x1)(x2)(x3)(x4)(x)(st))(i)(xs)(st)+c_obsolete'46_'35lambda15 x1 x2 x3 x4 x st = Curry.RunTimeSystem.patternFail("Make.obsolete._#lambda15")(x)++++c_obsolete'46_'35lambda15'46_'35lambda16 :: (Curry t287) => (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t287)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.Module.Prelude.C_Bool -> Curry.Module.Time.C_ClockTime -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t287)+c_obsolete'46_'35lambda15'46_'35lambda16 x1 x2 x3 x4 x5 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_mapIO(Curry.Module.Prelude.pf(Curry.Module.Make.c_obsolete'46isNewerThan'4686(x5)))(st))(x3)(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_obsolete'46_'35lambda15'46_'35lambda16'46_'35lambda17(x1)(x2)(x3)(x4)))(st)++++c_obsolete'46_'35lambda15'46_'35lambda16'46_'35lambda17 :: (Curry t287) => (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO t287)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.Module.Prelude.C_Bool -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Bool) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe t287)+c_obsolete'46_'35lambda15'46_'35lambda16'46_'35lambda17 x1 x2 x3 x4 x5 st = Curry.Module.Make.c_obsolete'46_'35lambda15'46_'35lambda16'46_'35lambda17_case_4(x1)(x2)(x3)(x4)(x5)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_or(st))(x5)(st))(st)++++c_fastReadImports :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char))+c_fastReadImports x1 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.c_readFile(x1)(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_fastReadImports'46_'35lambda18))(st)++++c_fastReadImports'46_'35lambda18 :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char))+c_fastReadImports'46_'35lambda18 x1 st = Curry.Module.Prelude.c_return(Curry.Module.Make.c_strings(Curry.Module.Prelude.c_takeWhile(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_flip(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_47_61))(Curry.Module.Prelude.C_Char(']'))))(Curry.Module.Prelude.c_dropWhile(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_flip(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_47_61))(Curry.Module.Prelude.C_Char('['))))(x1)(st))(st))(st))(st)++++c_strings :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)+c_strings x1@Curry.Module.Prelude.List st = Curry.Module.Prelude.List+c_strings x1@((Curry.Module.Prelude.:<) x2 x3) st = Curry.Module.Make.c_strings_case_3(x2)(x3)(Curry.Module.Prelude.op_61_61(x2)(Curry.Module.Prelude.C_Char('\"'))(st))(st)+c_strings (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_strings(x)(st))(i)(xs)(st)+c_strings x st = Curry.RunTimeSystem.patternFail("Make.strings")(x)++++c_updateIORef :: (Curry t0) => (Curry.Module.IOExts.C_IORef t0) -> (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> t0)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_updateIORef x1 x2 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.IOExts.c_readIORef(x1)(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_updateIORef'46_'35lambda20(x2)(x1)))(st)++++c_updateIORef'46_'35lambda20 :: (Curry t127) => (Curry.Module.Prelude.Prim (t127 -> Curry.RunTimeSystem.State -> t127)) -> (Curry.Module.IOExts.C_IORef t127) -> t127 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_updateIORef'46_'35lambda20 x1 x2 x3 st = Curry.Module.IOExts.c_writeIORef(x2)(Curry.Module.Prelude.c_apply(x1)(x3)(st))(st)++++c_unless :: Curry.Module.Prelude.C_Bool -> (Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_unless x1@Curry.Module.Prelude.C_True x2 st = Curry.Module.Prelude.c_return(Curry.Module.Prelude.T0)(st)+c_unless x1@Curry.Module.Prelude.C_False x2 st = x2+c_unless (Curry.Module.Prelude.C_BoolOr i xs) x2 st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_unless(x)(x2)(st))(i)(xs)(st)+c_unless x x2 st = Curry.RunTimeSystem.patternFail("Make.unless")(x)++++c_strings_case_3 x2 x3 x4@Curry.Module.Prelude.C_True st = Curry.Module.Make.c_strings_case_2(x3)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_break(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_flip(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_61_61))(Curry.Module.Prelude.C_Char('\"'))))(st))(x3)(st))(st)+c_strings_case_3 x2 x3 x4@Curry.Module.Prelude.C_False st = Curry.Module.Make.c_strings_case_0(x3)(Curry.Module.Prelude.c_otherwise(st))(st)+c_strings_case_3 x2 x3 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_strings_case_3(x2)(x3)(x)(st))(i)(xs)(st)+c_strings_case_3 x2 x3 x st = Curry.RunTimeSystem.patternFail("Make.strings_case_3")(x)++++c_strings_case_0 x3 x4@Curry.Module.Prelude.C_True st = Curry.Module.Make.c_strings(x3)(st)+c_strings_case_0 x3 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_strings_case_0(x3)(x)(st))(i)(xs)(st)+c_strings_case_0 x3 x st = Curry.RunTimeSystem.patternFail("Make.strings_case_0")(x)++++c_strings_case_2 x3 (Curry.Module.Prelude.T2 x4 x5) st = Curry.Module.Make.c_strings_case_1(x4)(x5)(st)+c_strings_case_2 x3 (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_strings_case_2(x3)(x)(st))(i)(xs)(st)+c_strings_case_2 x3 x st = Curry.RunTimeSystem.patternFail("Make.strings_case_2")(x)++++c_strings_case_1 x4 x5@((Curry.Module.Prelude.:<) x6 x7) st = (Curry.Module.Prelude.:<)(x4)(Curry.Module.Make.c_strings(x7)(st))+c_strings_case_1 x4 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_strings_case_1(x4)(x)(st))(i)(xs)(st)+c_strings_case_1 x4 x st = Curry.RunTimeSystem.patternFail("Make.strings_case_1")(x)++++c_obsolete'46_'35lambda15'46_'35lambda16'46_'35lambda17_case_4 x1 x2 x3 x4 x5 x6@Curry.Module.Prelude.C_True st = Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Make.c_unless(x4)))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_putStrLn))(Curry.Module.Prelude.op_43_43((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('b'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(':'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))(Curry.Module.Prelude.List)))))))))))))(x2)(st))(st))(st))(Curry.Module.Prelude.c_return(Curry.Module.Prelude.C_Nothing)(st))(st)+c_obsolete'46_'35lambda15'46_'35lambda16'46_'35lambda17_case_4 x1 x2 x3 x4 x5 x6@Curry.Module.Prelude.C_False st = Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Make.c_unless(x4)))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_putStrLn))(Curry.Module.Prelude.op_43_43((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(':'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))(Curry.Module.Prelude.List)))))))))))))(x2)(st))(st))(st))(Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.c_apply(x1)(x3)(st))(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_return))(Curry.Module.Prelude.pc(Curry.Module.Prelude.C_Just))(st))(st))(st)+c_obsolete'46_'35lambda15'46_'35lambda16'46_'35lambda17_case_4 x1 x2 x3 x4 x5 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_obsolete'46_'35lambda15'46_'35lambda16'46_'35lambda17_case_4(x1)(x2)(x3)(x4)(x5)(x)(st))(i)(xs)(st)+c_obsolete'46_'35lambda15'46_'35lambda16'46_'35lambda17_case_4 x1 x2 x3 x4 x5 x st = Curry.RunTimeSystem.patternFail("Make.obsolete._#lambda15._#lambda16._#lambda17_case_4")(x)++++c_obsolete'46isNewerThan'4686'46_'35lambda13_case_5 x1 x2 x3 x4@Curry.Module.Prelude.C_True st = Curry.Module.Prelude.c_return(Curry.Module.Prelude.C_False)(st)+c_obsolete'46isNewerThan'4686'46_'35lambda13_case_5 x1 x2 x3 x4@Curry.Module.Prelude.C_False st = Curry.Module.Prelude.op_62_62_61(Curry.Module.Directory.c_getModificationTime(x1)(st))(Curry.Module.Prelude.pf(Curry.Module.Make.c_obsolete'46isNewerThan'4686'46_'35lambda13'46_'35lambda14(x2)))(st)+c_obsolete'46isNewerThan'4686'46_'35lambda13_case_5 x1 x2 x3 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_obsolete'46isNewerThan'4686'46_'35lambda13_case_5(x1)(x2)(x3)(x)(st))(i)(xs)(st)+c_obsolete'46isNewerThan'4686'46_'35lambda13_case_5 x1 x2 x3 x st = Curry.RunTimeSystem.patternFail("Make.obsolete.isNewerThan.86._#lambda13_case_5")(x)++++c_makeWithFrontendParams'46_'35lambda4_case_6 x2 x7 x8@Curry.Module.Prelude.C_True st = x7+c_makeWithFrontendParams'46_'35lambda4_case_6 x2 x7 x8@Curry.Module.Prelude.C_False st = (Curry.Module.Prelude.:<)(x2)(x7)+c_makeWithFrontendParams'46_'35lambda4_case_6 x2 x7 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_makeWithFrontendParams'46_'35lambda4_case_6(x2)(x7)(x)(st))(i)(xs)(st)+c_makeWithFrontendParams'46_'35lambda4_case_6 x2 x7 x st = Curry.RunTimeSystem.patternFail("Make.makeWithFrontendParams._#lambda4_case_6")(x)++++c_parseArgs'46parse'4650_case_15 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_True st = Curry.Module.Make.c_parseArgs'46parse'4650(x1)(Curry.Module.Make.c_setQuiet(Curry.Module.Prelude.C_True)(x2)(st))(x5)(st)+c_parseArgs'46parse'4650_case_15 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_False st = Curry.Module.Make.c_parseArgs'46parse'4650_case_14(x1)(x2)(x4)(x5)(Curry.Module.Prelude.op_61_61(x4)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('q'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))(Curry.Module.Prelude.List))))))))(st))(st)+c_parseArgs'46parse'4650_case_15 x1 x2 x4 x5 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_parseArgs'46parse'4650_case_15(x1)(x2)(x4)(x5)(x)(st))(i)(xs)(st)+c_parseArgs'46parse'4650_case_15 x1 x2 x4 x5 x st = Curry.RunTimeSystem.patternFail("Make.parseArgs.parse.50_case_15")(x)++++c_parseArgs'46parse'4650_case_14 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_True st = Curry.Module.Make.c_parseArgs'46parse'4650(x1)(Curry.Module.Make.c_setQuiet(Curry.Module.Prelude.C_True)(x2)(st))(x5)(st)+c_parseArgs'46parse'4650_case_14 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_False st = Curry.Module.Make.c_parseArgs'46parse'4650_case_13(x1)(x2)(x4)(x5)(Curry.Module.Prelude.op_61_61(x4)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))(Curry.Module.Prelude.List)))(st))(st)+c_parseArgs'46parse'4650_case_14 x1 x2 x4 x5 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_parseArgs'46parse'4650_case_14(x1)(x2)(x4)(x5)(x)(st))(i)(xs)(st)+c_parseArgs'46parse'4650_case_14 x1 x2 x4 x5 x st = Curry.RunTimeSystem.patternFail("Make.parseArgs.parse.50_case_14")(x)++++c_parseArgs'46parse'4650_case_13 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_True st = Curry.Module.Make.c_parseArgs'46parse'4650(x1)(Curry.Module.Make.c_setForce(Curry.Module.Prelude.C_True)(x2)(st))(x5)(st)+c_parseArgs'46parse'4650_case_13 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_False st = Curry.Module.Make.c_parseArgs'46parse'4650_case_12(x1)(x2)(x4)(x5)(Curry.Module.Prelude.op_61_61(x4)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))(Curry.Module.Prelude.List))))))))(st))(st)+c_parseArgs'46parse'4650_case_13 x1 x2 x4 x5 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_parseArgs'46parse'4650_case_13(x1)(x2)(x4)(x5)(x)(st))(i)(xs)(st)+c_parseArgs'46parse'4650_case_13 x1 x2 x4 x5 x st = Curry.RunTimeSystem.patternFail("Make.parseArgs.parse.50_case_13")(x)++++c_parseArgs'46parse'4650_case_12 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_True st = Curry.Module.Make.c_parseArgs'46parse'4650(x1)(Curry.Module.Make.c_setForce(Curry.Module.Prelude.C_True)(x2)(st))(x5)(st)+c_parseArgs'46parse'4650_case_12 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_False st = Curry.Module.Make.c_parseArgs'46parse'4650_case_11(x1)(x2)(x4)(x5)(Curry.Module.Prelude.op_61_61(x4)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))(Curry.Module.Prelude.List)))(st))(st)+c_parseArgs'46parse'4650_case_12 x1 x2 x4 x5 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_parseArgs'46parse'4650_case_12(x1)(x2)(x4)(x5)(x)(st))(i)(xs)(st)+c_parseArgs'46parse'4650_case_12 x1 x2 x4 x5 x st = Curry.RunTimeSystem.patternFail("Make.parseArgs.parse.50_case_12")(x)++++c_parseArgs'46parse'4650_case_11 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_True st = Curry.Module.Make.c_parseArgs'46parse'4650_case_10(x1)(x2)(x5)(st)+c_parseArgs'46parse'4650_case_11 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_False st = Curry.Module.Make.c_parseArgs'46parse'4650_case_9(x1)(x2)(x4)(x5)(Curry.Module.Prelude.op_61_61(x4)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('-'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('m'))(Curry.Module.Prelude.List)))(st))(st)+c_parseArgs'46parse'4650_case_11 x1 x2 x4 x5 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_parseArgs'46parse'4650_case_11(x1)(x2)(x4)(x5)(x)(st))(i)(xs)(st)+c_parseArgs'46parse'4650_case_11 x1 x2 x4 x5 x st = Curry.RunTimeSystem.patternFail("Make.parseArgs.parse.50_case_11")(x)++++c_parseArgs'46parse'4650_case_9 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_True st = Curry.Module.Make.c_parseArgs'46parse'4650_case_8(x1)(x2)(x5)(st)+c_parseArgs'46parse'4650_case_9 x1 x2 x4 x5 x6@Curry.Module.Prelude.C_False st = Curry.Module.Make.c_parseArgs'46parse'4650_case_7(x2)(x4)(x5)(Curry.Module.Prelude.c_null(x5)(st))(st)+c_parseArgs'46parse'4650_case_9 x1 x2 x4 x5 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_parseArgs'46parse'4650_case_9(x1)(x2)(x4)(x5)(x)(st))(i)(xs)(st)+c_parseArgs'46parse'4650_case_9 x1 x2 x4 x5 x st = Curry.RunTimeSystem.patternFail("Make.parseArgs.parse.50_case_9")(x)++++c_parseArgs'46parse'4650_case_7 x2 x4 x5 x6@Curry.Module.Prelude.C_True st = Curry.Module.Make.c_setModulename(x4)(x2)(st)+c_parseArgs'46parse'4650_case_7 x2 x4 x5 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_parseArgs'46parse'4650_case_7(x2)(x4)(x5)(x)(st))(i)(xs)(st)+c_parseArgs'46parse'4650_case_7 x2 x4 x5 x st = Curry.RunTimeSystem.patternFail("Make.parseArgs.parse.50_case_7")(x)++++c_parseArgs'46parse'4650_case_8 x1 x2 x5@((Curry.Module.Prelude.:<) x8 x9) st = Curry.Module.Make.c_parseArgs'46parse'4650(x1)(Curry.Module.Make.c_setMain(Curry.Module.Prelude.C_Just(x8))(x2)(st))(x9)(st)+c_parseArgs'46parse'4650_case_8 x1 x2 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_parseArgs'46parse'4650_case_8(x1)(x2)(x)(st))(i)(xs)(st)+c_parseArgs'46parse'4650_case_8 x1 x2 x st = Curry.RunTimeSystem.patternFail("Make.parseArgs.parse.50_case_8")(x)++++c_parseArgs'46parse'4650_case_10 x1 x2 x5@((Curry.Module.Prelude.:<) x6 x7) st = Curry.Module.Make.c_parseArgs'46parse'4650(x1)(Curry.Module.Make.c_setOutput(Curry.Module.Prelude.C_Just(x6))(x2)(st))(x7)(st)+c_parseArgs'46parse'4650_case_10 x1 x2 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Make.c_parseArgs'46parse'4650_case_10(x1)(x2)(x)(st))(i)(xs)(st)+c_parseArgs'46parse'4650_case_10 x1 x2 x st = Curry.RunTimeSystem.patternFail("Make.parseArgs.parse.50_case_10")(x)++
+ dist/build/prophecy/prophecy-tmp/Curry/Module/Transform.hs view
@@ -0,0 +1,732 @@+{-# OPTIONS -cpp #-}++{-# LANGUAGE RankNTypes, ScopedTypeVariables, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances #-}++module Curry.Module.Transform (module Curry.Module.Transform) where++import Curry.RunTimeSystem+import Curry.Module.AddWorld+import Curry.Module.Directory+import Curry.Module.Distribution+import Curry.Module.FlatCurry+import Curry.Module.FlatCurryGoodies+import Curry.Module.Integer+import Curry.Module.LiftCases+import Curry.Module.List+import Curry.Module.Make+import Curry.Module.Maybe+import Curry.Module.Prelude+import Curry.Module.ReadShowTerm+import Curry.Module.Wrapper+import Curry.Module.System++++-- begin included++++-- end included++type C_Options = (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.Module.Prelude.C_Bool++type C_T t0 = (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) t0)++c_aux2 :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_aux2 st = Curry.Module.Transform.c_main(st)++++c_main :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_main st = Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.c_putStrLn((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('h'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('h'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('h'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('g'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))(Curry.Module.Prelude.List)))))))))))))))))))))))))))))))))))))(st))(Curry.Module.Prelude.op_62_62_61(Curry.Module.Make.c_parseArgs(st))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_main'46_'35lambda2))(st))(st)++++c_main'46_'35lambda2 :: Curry.Module.Make.C_Parameter -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_main'46_'35lambda2 x1 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.Distribution.c_getStdLibDir(st))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_main'46_'35lambda2'46_'35lambda3(x1)))(st)++++c_main'46_'35lambda2'46_'35lambda3 :: Curry.Module.Make.C_Parameter -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_main'46_'35lambda2'46_'35lambda3 x1 x2 st = Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.c_maybe(Curry.Module.Prelude.c_done(st))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_mayCreateDirectory))(Curry.Module.Make.c_output(x1)(st))(st))(Curry.Module.Prelude.op_62_62(Curry.Module.Transform.c_transform(x2)(Curry.Module.Make.c_force(x1)(st))(Curry.Module.Make.c_quiet(x1)(st))(Curry.Module.Make.c_output(x1)(st))(Curry.Module.Make.c_modulename(x1)(st))(st))(Curry.Module.Prelude.c_putStrLn((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('h'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('g'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('h'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))(Curry.Module.Prelude.List))))))))))))))))))))))))))))))))))(st))(st))(st)++++c_mayCreateDirectory :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_mayCreateDirectory x1 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.Directory.c_doesDirectoryExist(x1)(st))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_mayCreateDirectory'46_'35lambda4(x1)))(st)++++c_mayCreateDirectory'46_'35lambda4 :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.Prelude.C_Bool -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_mayCreateDirectory'46_'35lambda4 x1 x2 st = Curry.Module.Make.c_unless(x2)(Curry.Module.Directory.c_createDirectory(x1)(st))(st)++++c_transform :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.Prelude.C_Bool -> Curry.Module.Prelude.C_Bool -> (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0+c_transform x1 x2 x3 x4 x5 st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Make.c_make(st))(x3)(st))(x5)(st))(Curry.Module.Transform.c_transform_case_38(x1)(x3)(x4)(x2)(st))(st))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_writeTrans(x4)))(st)++++c_transform'46readTypes'4610 :: (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl)+c_transform'46readTypes'4610 x1 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.c_readFile(Curry.Module.Prelude.c_head(x1)(st))(st))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_transform'46readTypes'4610'46_'35lambda6))(st)++++c_transform'46readTypes'4610'46_'35lambda6 :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl)+c_transform'46readTypes'4610'46_'35lambda6 x1 st = Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_return))(Curry.Module.Prelude.c_filter(Curry.Module.Transform.c_hasHOTypeArg(st))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_fst))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_head))(Curry.Module.ReadShowTerm.c_readsTerm(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_dropWhile(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_flip(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_47_61))(Curry.Module.Prelude.C_Char('['))))))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_dropWhile(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_flip(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_47_61))(Curry.Module.Prelude.C_Char(']'))))))(Curry.Module.Prelude.c_dropWhile(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_flip(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_47_61))(Curry.Module.Prelude.C_Char('['))))(x1)(st))(st))(st))(st))(st))(st))(st))(st)++++c_transform'46_'35lambda7 :: (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)+c_transform'46_'35lambda7 x1 x2 st = Curry.Module.Prelude.op_46(Curry.Module.Wrapper.c_addFcy(st))(Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_addOrc(x2)(x1)))(st)++++c_transform'46myObsolete'4610 :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl))))) -> (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.Module.Prelude.C_Bool -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl))+c_transform'46myObsolete'4610 x1 x2 x3 x4 x5 x6 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x2)(x5)(st))(x6)(st))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_transform'46myObsolete'4610'46_'35lambda8(x1)(x6)(x3)(x5)(x4)))(st)++++c_transform'46myObsolete'4610'46_'35lambda8 :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.Prelude.C_Bool -> (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl))+c_transform'46myObsolete'4610'46_'35lambda8 x1 x2 x3 x4 x5 x6 st = Curry.Module.Transform.c_transform'46myObsolete'4610'46_'35lambda8_case_37(x1)(x2)(x3)(x4)(x5)(x6)(Curry.Module.Prelude.op_124_124(Curry.Module.Maybe.c_isJust(x6)(st))(Curry.Module.Prelude.op_124_124(Curry.Module.Maybe.c_isJust(x3)(st))(Curry.Module.Prelude.c_not(Curry.Module.List.c_isPrefixOf(x1)(x4)(st))(st))(st))(st))(st)++++c_transform'46myObsolete'4610'46_'35lambda8'46_'35lambda9 :: (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl))+c_transform'46myObsolete'4610'46_'35lambda8'46_'35lambda9 x1 st = Curry.Module.Prelude.c_return(Curry.Module.Prelude.C_Just(x1))(st)++++c_transform'46_'35lambda5 :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl))+c_transform'46_'35lambda5 x1 x2 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.Transform.c_transform'46readTypes'4610((Curry.Module.Prelude.:<)(x1)(Curry.Module.Prelude.List))(st))(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_return))(Curry.Module.Prelude.pc(Curry.Module.Prelude.C_Just))(st))(st)++++c_writeTrans :: (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl)) -> Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl)+c_writeTrans x1 x2 x3 x4 st = let {x5 = Curry.Module.Wrapper.c_addOrc(x2)(x1)(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_progName(st))(x4)(st))(st)} in let {x6 = Curry.Module.Transform.c_transProg(Curry.Module.Prelude.c_concat(x3)(st))(Curry.Module.LiftCases.c_liftCases(Curry.Module.Prelude.C_False)(x4)(st))(st)} in let {x9 = Curry.Module.Prelude.c_show(Curry.Module.Transform.c_writeTrans'46_'35selFP4'35trProg(x6)(st))(st)} in Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.c_putStrLn(Curry.Module.Prelude.op_43_43((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('g'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('g'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))(Curry.Module.Prelude.List))))))))))))(x5)(st))(st))(Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.c_writeFile(Curry.Module.Prelude.op_43_43(x5)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))(Curry.Module.Prelude.List)))))(st))(x9)(st))(Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.c_writeFile(Curry.Module.Prelude.op_43_43(x5)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))(Curry.Module.Prelude.List))))))(st))(x9)(st))(Curry.Module.Prelude.c_return(Curry.Module.Transform.c_writeTrans'46_'35selFP3'35trTypes(x6)(st))(st))(st))(st))(st)++++c_writeTrans'46_'35selFP3'35trTypes :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl) Curry.Module.FlatCurry.C_Prog) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl+c_writeTrans'46_'35selFP3'35trTypes x1@(Curry.Module.Prelude.T2 x2 x3) st = x2+c_writeTrans'46_'35selFP3'35trTypes (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_writeTrans'46_'35selFP3'35trTypes(x)(st))(i)(xs)(st)+c_writeTrans'46_'35selFP3'35trTypes x st = Curry.RunTimeSystem.patternFail("Transform.writeTrans._#selFP3#trTypes")(x)++++c_writeTrans'46_'35selFP4'35trProg :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl) Curry.Module.FlatCurry.C_Prog) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Prog+c_writeTrans'46_'35selFP4'35trProg x1@(Curry.Module.Prelude.T2 x2 x3) st = x3+c_writeTrans'46_'35selFP4'35trProg (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_writeTrans'46_'35selFP4'35trProg(x)(st))(i)(xs)(st)+c_writeTrans'46_'35selFP4'35trProg x st = Curry.RunTimeSystem.patternFail("Transform.writeTrans._#selFP4#trProg")(x)++++c_transProg :: (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl) -> Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl) Curry.Module.FlatCurry.C_Prog+c_transProg x1 x2 st = let {x4 = Curry.Module.List.c_partition(Curry.Module.Transform.c_hasHOTypeArg(st))(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_progTypes(st))(x2)(st))(st)} in let {x7 = Curry.Module.Prelude.c_fst(Curry.Module.Transform.c_transProg'46fixDependence'4633(Curry.Module.Prelude.op_43_43(Curry.Module.Transform.c_transProg'46_'35selFP6'35withHo(x4)(st))(x1)(st))(Curry.Module.Transform.c_transProg'46_'35selFP7'35noHo(x4)(st))(st))(st)} in Curry.Module.Prelude.T2(x7)(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_updProg(Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_newModName))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_transProg'46_'35lambda15(x2)))(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.Transform.c_transType(Curry.Module.Prelude.pf(Curry.Module.Transform.c_transProg'46isTrType'4633(x7)))))))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_filter(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Transform.c_transProg'46isTrType'4633(x7)))(Curry.Module.FlatCurryGoodies.c_typeName(st))(st))))(st))(Curry.Module.Prelude.c_concatMap(Curry.Module.Prelude.pf(Curry.Module.Transform.c_transFunc(Curry.Module.Prelude.pf(Curry.Module.Transform.c_transProg'46isTrType'4633(x7)))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_transProg'46isTrCons'4633(x7)))))(st))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_map(Curry.Module.FlatCurryGoodies.c_updOpName(Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_newModNameQ))(st))))(st))(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_rnmAllVarsInProg(st))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_flip(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_43))(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))))(st))(Curry.Module.Prelude.c_apply(Curry.Module.AddWorld.c_addWorld(st))(x2)(st))(st))(st))++++c_transProg'46_'35selFP6'35withHo :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl) (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl+c_transProg'46_'35selFP6'35withHo x1@(Curry.Module.Prelude.T2 x2 x3) st = x2+c_transProg'46_'35selFP6'35withHo (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transProg'46_'35selFP6'35withHo(x)(st))(i)(xs)(st)+c_transProg'46_'35selFP6'35withHo x st = Curry.RunTimeSystem.patternFail("Transform.transProg._#selFP6#withHo")(x)++++c_transProg'46_'35selFP7'35noHo :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl) (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl+c_transProg'46_'35selFP7'35noHo x1@(Curry.Module.Prelude.T2 x2 x3) st = x3+c_transProg'46_'35selFP7'35noHo (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transProg'46_'35selFP7'35noHo(x)(st))(i)(xs)(st)+c_transProg'46_'35selFP7'35noHo x st = Curry.RunTimeSystem.patternFail("Transform.transProg._#selFP7#noHo")(x)++++c_transProg'46containsTypes'4633 :: (Curry.Module.Prelude.List (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_TypeExpr -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)+c_transProg'46containsTypes'4633 x1 st = Curry.Module.Prelude.pf(Curry.Module.FlatCurryGoodies.c_trTypeExpr(Curry.Module.Prelude.pf(Curry.Module.Transform.c_transProg'46containsTypes'4633'46_'35lambda13))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Transform.c_transProg'46containsTypes'4633'46_'35lambda14(x1)))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_124_124)))++++c_transProg'46containsTypes'4633'46_'35lambda13 :: Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_transProg'46containsTypes'4633'46_'35lambda13 x1 st = Curry.Module.Prelude.C_False++++c_transProg'46containsTypes'4633'46_'35lambda14 :: (Curry.Module.Prelude.List (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char))) -> (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Bool) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_transProg'46containsTypes'4633'46_'35lambda14 x1 x2 x3 st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_or(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_elem(x2)(st))(x1)(st))(x3))(st)++++c_transProg'46dependsOnTypes'4633 :: (Curry.Module.Prelude.List (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_TypeDecl -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)+c_transProg'46dependsOnTypes'4633 x1 st = Curry.Module.Prelude.pf(Curry.Module.FlatCurryGoodies.c_trType(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_transProg'46dependsOnTypes'4633'46_'35lambda11(x1)))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_transProg'46dependsOnTypes'4633'46_'35lambda12(x1))))++++c_transProg'46dependsOnTypes'4633'46_'35lambda11 :: (Curry.Module.Prelude.List (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char))) -> (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.Module.FlatCurry.C_Visibility -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_ConsDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)+c_transProg'46dependsOnTypes'4633'46_'35lambda11 x1 x2 x3 x4 st = Curry.Module.Prelude.c_any(Curry.Module.Prelude.op_46(Curry.Module.Prelude.c_any(Curry.Module.Transform.c_transProg'46containsTypes'4633(x1)(st))(st))(Curry.Module.FlatCurryGoodies.c_consArgs(st))(st))(st)++++c_transProg'46dependsOnTypes'4633'46_'35lambda12 :: (Curry.Module.Prelude.List (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char))) -> (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.Module.FlatCurry.C_Visibility -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_TypeExpr -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)+c_transProg'46dependsOnTypes'4633'46_'35lambda12 x1 x2 x3 x4 st = Curry.Module.Transform.c_transProg'46containsTypes'4633(x1)(st)++++c_transProg'46fixDependence'4633 :: (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl) -> (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl) (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl)+c_transProg'46fixDependence'4633 x1 x2 st = Curry.Module.Transform.c_transProg'46fixDependence'4633_case_36(x1)(x2)(Curry.Module.List.c_partition(Curry.Module.Transform.c_transProg'46dependsOnTypes'4633(Curry.Module.Prelude.c_map(Curry.Module.FlatCurryGoodies.c_typeName(st))(x1)(st))(st))(x2)(st))(st)++++c_transProg'46isTrType'4633 :: (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl) -> (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_transProg'46isTrType'4633 x1 x2 st = Curry.Module.Prelude.op_36(Curry.Module.Prelude.c_elem(x2)(st))(Curry.Module.Prelude.c_map(Curry.Module.FlatCurryGoodies.c_typeName(st))(x1)(st))(st)++++c_transProg'46isTrCons'4633 :: (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_TypeDecl) -> (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_transProg'46isTrCons'4633 x1 x2 st = Curry.Module.Prelude.op_36(Curry.Module.Prelude.c_elem(x2)(st))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_map(Curry.Module.FlatCurryGoodies.c_consName(st))))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.c_concatMap(Curry.Module.FlatCurryGoodies.c_typeConsDecls(st))(st))(Curry.Module.Prelude.c_filter(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_not))(Curry.Module.FlatCurryGoodies.c_isTypeSyn(st))(st))(x1)(st))(st))(st))(st)++++c_transProg'46_'35lambda15 :: Curry.Module.FlatCurry.C_Prog -> (Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)+c_transProg'46_'35lambda15 x1 x2 st = (Curry.Module.Prelude.:<)(Curry.Module.Wrapper.c_eventMod(st))((Curry.Module.Prelude.:<)(Curry.Module.Wrapper.c_oracle(st))((Curry.Module.Prelude.:<)(Curry.Module.Wrapper.c_ioexts(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_progName(st))(x1)(st))(Curry.Module.Prelude.op_43_43(x2)(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_newModName))(x2)(st))(st)))))++++c_hasHOTypeArg :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_TypeDecl -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)+c_hasHOTypeArg st = Curry.Module.Prelude.pf(Curry.Module.FlatCurryGoodies.c_trType(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))))(Curry.Module.Transform.c_hasHOTypeArg'46_'35lambda16))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))))(Curry.Module.Transform.c_hasHOTypeArg'46_'35lambda17)))++++c_hasHOTypeArg'46_'35lambda16 :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.Module.FlatCurry.C_Visibility -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_ConsDecl) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_hasHOTypeArg'46_'35lambda16 x1 x2 x3 x4 st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_any(Curry.Module.FlatCurryGoodies.c_isFuncType(st))(st))(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_concatMap(Curry.Module.FlatCurryGoodies.c_consArgs(st))(st))(x4)(st))(st)++++c_hasHOTypeArg'46_'35lambda17 :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.Module.FlatCurry.C_Visibility -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.Module.FlatCurry.C_TypeExpr -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_hasHOTypeArg'46_'35lambda17 x1 x2 x3 x4 st = Curry.Module.Prelude.C_False++++c_transType :: (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.Module.FlatCurry.C_TypeDecl -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_TypeDecl+c_transType x1 x2 st = Curry.Module.Transform.c_transType_case_34(x1)(x2)(Curry.Module.Prelude.c_apply(x1)(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_typeName(st))(x2)(st))(st))(st)++++c_when :: (Curry t0) => (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> t0)) -> t0 -> Curry.RunTimeSystem.State -> t0+c_when x1 x2 x3 st = Curry.Module.Transform.c_when_case_32(x1)(x2)(x3)(Curry.Module.Prelude.c_apply(x1)(x3)(st))(st)++++c_rType :: (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.Module.FlatCurry.C_TypeExpr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_TypeExpr+c_rType x1 x2@(Curry.Module.FlatCurry.C_TVar x3) st = x2+c_rType x1 x2@(Curry.Module.FlatCurry.C_TCons x4 x5) st = Curry.Module.FlatCurry.C_TCons(Curry.Module.Transform.c_when(x1)(Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_newModNameQ))(x4)(st))(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.Transform.c_rType(x1)))(x5)(st))+c_rType x1 x2@(Curry.Module.FlatCurry.C_FuncType x6 x7) st = Curry.Module.FlatCurry.C_FuncType(Curry.Module.Wrapper.c_tRef(st))(Curry.Module.FlatCurry.C_FuncType(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_updQNamesInTypeExpr(Curry.Module.Prelude.pf(Curry.Module.Transform.c_when(x1)(Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_newModNameQ))))(st))(Curry.Module.Transform.c_rType(x1)(x6)(st))(st))(Curry.Module.Transform.c_rType(x1)(x7)(st)))+c_rType x1 (Curry.Module.FlatCurry.C_TypeExprOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_rType(x1)(x)(st))(i)(xs)(st)+c_rType x1 x st = Curry.RunTimeSystem.patternFail("Transform.rType")(x)++++c_transFunc :: (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.Module.FlatCurry.C_FuncDecl -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_FuncDecl+c_transFunc x1 x2 x3@(Curry.Module.FlatCurry.C_Func x4 x5 x6 x7 x8) st = let {x9 = Curry.Module.FlatCurryGoodies.c_resultType(x7)(st)} in let {x10 = Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_allVarsInFunc(st))(x3)(st)} in let {x12 = Curry.Module.Prelude.c_enumFromTo(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(Curry.Module.Prelude.op_43(x5)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(st)} in let {x13 = Curry.Module.Wrapper.c_newModNameQ(x4)(st)} in Curry.Module.Transform.c_transFunc_case_31(x1)(x2)(x3)(x4)(x5)(x6)(x7)(x9)(x10)(x12)(x13)(Curry.Module.Prelude.op_124_124(Curry.Module.Prelude.op_61_61(x4)(Curry.Module.Prelude.T2((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('G'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('b'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))(Curry.Module.Prelude.List)))))))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('g'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('b'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))(Curry.Module.Prelude.List))))))))(st))(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_elem(x4)(st))(Curry.Module.Wrapper.c_implementedInOracle(st))(st))(st))(st)+c_transFunc x1 x2 (Curry.Module.FlatCurry.C_FuncDeclOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFunc(x1)(x2)(x)(st))(i)(xs)(st)+c_transFunc x1 x2 x st = Curry.RunTimeSystem.patternFail("Transform.transFunc")(x)++++c_transFunc'46isIO'4689 :: Curry.Module.FlatCurry.C_TypeExpr -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_transFunc'46isIO'4689 x1 st = Curry.Module.Prelude.op_38_38(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_isTCons(st))(x1)(st))(Curry.Module.Prelude.op_61_61(Curry.Module.FlatCurryGoodies.c_tConsName(x1)(st))(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_prelude(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('I'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('O'))(Curry.Module.Prelude.List))))(st))(st)++++c_transFunc'46isComplexIO'4689 :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.Module.FlatCurry.C_TypeExpr -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_transFunc'46isComplexIO'4689 x1 x2@(Curry.Module.FlatCurry.C_TVar x3) st = Curry.Module.Prelude.C_False+c_transFunc'46isComplexIO'4689 x1 x2@(Curry.Module.FlatCurry.C_TCons x4 x5) st = Curry.Module.Prelude.op_38_38(Curry.Module.Prelude.op_47_61(x5)((Curry.Module.Prelude.:<)(Curry.Module.FlatCurry.C_TCons(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_prelude(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('('))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(')'))(Curry.Module.Prelude.List))))(Curry.Module.Prelude.List))(Curry.Module.Prelude.List))(st))(Curry.Module.Prelude.c_not(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_elem(x1)(st))(Curry.Module.Wrapper.c_specialIOs(st))(st))(st))(st)+c_transFunc'46isComplexIO'4689 x1 (Curry.Module.FlatCurry.C_TypeExprOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFunc'46isComplexIO'4689(x1)(x)(st))(i)(xs)(st)+c_transFunc'46isComplexIO'4689 x1 x st = Curry.RunTimeSystem.patternFail("Transform.transFunc.isComplexIO.89")(x)++++c_transFunc'46isGlobal'4689 :: Curry.Module.FlatCurry.C_FuncDecl -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_transFunc'46isGlobal'4689 x1 st = Curry.Module.Transform.c_transFunc'46isGlobal'4689_case_20(x1)(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_funcBody(st))(x1)(st))(st)++++c_transFunc'46extCall'4689 :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_transFunc'46extCall'4689 x1 x2 st = Curry.Module.FlatCurry.C_Comb(Curry.Module.FlatCurry.C_FuncCall)(x1)(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pc(Curry.Module.FlatCurry.C_Var))(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_reverse(st))(Curry.Module.Prelude.c_tail(Curry.Module.Prelude.c_enumFromTo(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(x2)(st))(st))(st))(st))++++c_transFunc'46_'35lambda19 :: Curry.Module.FlatCurry.C_CombType -> (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Bool) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_transFunc'46_'35lambda19 x1 x2 x3 st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_and(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_isCombTypeConsCall(st))(x1)(st))(x3))(st)++++c_transFunc'46_'35lambda20 :: (Curry.Module.Prelude.List (Curry.Module.Prelude.T2 Curry.Module.Prelude.C_Int Curry.Module.Prelude.C_Bool)) -> Curry.Module.Prelude.C_Bool -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_transFunc'46_'35lambda20 x1 x2 st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_and(st))((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_snd))(x1)(st)))(st)++++c_transFunc'46_'35lambda21 :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.Module.Prelude.C_Bool -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_transFunc'46_'35lambda21 x1 x2 st = x2++++c_transFunc'46_'35lambda22 :: Curry.Module.FlatCurry.C_CaseType -> Curry.Module.Prelude.C_Bool -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Bool) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_transFunc'46_'35lambda22 x1 x2 x3 st = Curry.Module.Prelude.C_False++++c_transFunc'46_'35lambda23 :: Curry.Module.FlatCurry.C_Pattern -> Curry.Module.Prelude.C_Bool -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool+c_transFunc'46_'35lambda23 x1 x2 st = Curry.Module.Prelude.C_False++++c_transFuncType :: Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.Module.FlatCurry.C_TypeExpr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_TypeExpr+c_transFuncType x1 x2 x3@(Curry.Module.FlatCurry.C_TVar x4) st = Curry.Module.Transform.c_transFuncType_case_15(x1)(x2)(x3)(x4)(Curry.Module.Prelude.op_124_124(Curry.Module.Prelude.op_61_61(x4)(Curry.Module.Prelude.c_negate(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_I(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_I(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_IHi)))))))(st))(st))(Curry.Module.Prelude.op_47_61(x1)(Curry.Module.Prelude.C_Zero)(st))(st))(st)+c_transFuncType x1 x2 x3@(Curry.Module.FlatCurry.C_TCons x5 x6) st = Curry.Module.Transform.c_transFuncType_case_14(x2)(x3)(x1)(st)+c_transFuncType x1 x2 x3@(Curry.Module.FlatCurry.C_FuncType x7 x8) st = Curry.Module.Transform.c_transFuncType_case_13(x1)(x2)(x3)(x7)(x8)(Curry.Module.Prelude.op_61_61(x1)(Curry.Module.Prelude.C_Zero)(st))(st)+c_transFuncType x1 x2 (Curry.Module.FlatCurry.C_TypeExprOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFuncType(x1)(x2)(x)(st))(i)(xs)(st)+c_transFuncType x1 x2 x st = Curry.RunTimeSystem.patternFail("Transform.transFuncType")(x)++++c_transExpr :: (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.Module.FlatCurry.C_Expr -> Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T3 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) Curry.Module.FlatCurry.C_Expr)+c_transExpr x1 x2 x3 st = Curry.Module.Transform.c_transExpr_case_11(x1)(x2)(x3)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_trExpr(Curry.Module.Prelude.pf(Curry.Module.Transform.c_var))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_lit))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_comb))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Transform.c_leT))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Transform.c_freE))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Transform.c_oR))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_casE))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)))))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))))))))(Curry.Module.Transform.c_branch))(x2)(st))(x1)(st))(x3)(st))((Curry.Module.Prelude.:<)(Curry.Module.Wrapper.c_ref(st))(Curry.Module.Prelude.List))(st))(st)++++c_ret :: (Curry t0) => t0 -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) t0)+c_ret x1 x2 x3 x4 st = Curry.Module.Prelude.C_Right(Curry.Module.Prelude.T4(x3)(x4)(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_id))(x1))++++op_46_62_62_61 :: (Curry t0,Curry t1) => (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) t0))))) -> (Curry.Module.Prelude.Prim (t0 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) t1)))))) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) t1)+op_46_62_62_61 x1 x2 x3 x4 x5 st = Curry.Module.Transform.c_'46'62'62'61_case_9(x1)(x2)(x3)(x4)(x5)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x1)(x3)(st))(x4)(st))(x5)(st))(st)++++c_sequence :: (Curry t0) => (Curry.Module.Prelude.List (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) t0)))))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) (Curry.Module.Prelude.List t0)))))+c_sequence x1@Curry.Module.Prelude.List st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_ret(Curry.Module.Prelude.List))+c_sequence x1@((Curry.Module.Prelude.:<) x2 x3) st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.op_46_62_62_61(x2)(Curry.Module.Prelude.pf(Curry.Module.Transform.c_sequence'46_'35lambda28(x3))))+c_sequence (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_sequence(x)(st))(i)(xs)(st)+c_sequence x st = Curry.RunTimeSystem.patternFail("Transform.sequence")(x)++++c_sequence'46_'35lambda28 :: (Curry t149) => (Curry.Module.Prelude.List (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) t149)))))) -> t149 -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) (Curry.Module.Prelude.List t149)))))+c_sequence'46_'35lambda28 x1 x2 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.op_46_62_62_61(Curry.Module.Transform.c_sequence(x1)(st))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_sequence'46_'35lambda28'46_'35lambda29(x2))))++++c_sequence'46_'35lambda28'46_'35lambda29 :: (Curry t149) => t149 -> (Curry.Module.Prelude.List t149) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) (Curry.Module.Prelude.List t149)))))+c_sequence'46_'35lambda28'46_'35lambda29 x1 x2 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_ret((Curry.Module.Prelude.:<)(x1)(x2)))++++c_nextRef :: (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.Prelude.C_Int)+c_nextRef x1 x2 x3@Curry.Module.Prelude.List st = Curry.Module.Prelude.C_Right(Curry.Module.Prelude.T4(Curry.Module.Prelude.op_43(x2)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(Curry.Module.Prelude.List)(Curry.Module.Prelude.pc((Curry.Module.Prelude.:<)(x2)))(x2))+c_nextRef x1 x2 x3@((Curry.Module.Prelude.:<) x4 x5) st = Curry.Module.Prelude.C_Right(Curry.Module.Prelude.T4(x2)(x5)(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_id))(x4))+c_nextRef x1 x2 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_nextRef(x1)(x2)(x)(st))(i)(xs)(st)+c_nextRef x1 x2 x st = Curry.RunTimeSystem.patternFail("Transform.nextRef")(x)++++c_renameCons :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)))))+c_renameCons x1 x2 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Transform.c_ret(Curry.Module.Transform.c_when(x2)(Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_newModNameQ))(x1)(st))(x2))++++c_var :: Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_var x1 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_ret(Curry.Module.FlatCurry.C_Var(x1)))++++c_lit :: Curry.Module.FlatCurry.C_Literal -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_lit x1 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_ret(Curry.Module.FlatCurry.C_Lit(x1)))++++c_comb :: Curry.Module.FlatCurry.C_CombType -> (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr)))))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_comb x1@Curry.Module.FlatCurry.C_ConsCall x2 x3 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.op_46_62_62_61(Curry.Module.Transform.c_sequence(x3)(st))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_comb'46_'35lambda30(x1)(x2))))+c_comb x1@(Curry.Module.FlatCurry.C_ConsPartCall x4) x2 x3 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.op_46_62_62_61(Curry.Module.Transform.c_sequence(x3)(st))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_comb'46_'35lambda32(x1)(x4)(x2))))+c_comb x1@Curry.Module.FlatCurry.C_FuncCall x2 x3 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.op_46_62_62_61(Curry.Module.Transform.c_sequence(x3)(st))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_comb'46_'35lambda34(x1)(x2))))+c_comb x1@(Curry.Module.FlatCurry.C_FuncPartCall x5) x2 x3 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.op_46_62_62_61(Curry.Module.Transform.c_sequence(x3)(st))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_comb'46_'35lambda36(x5)(x2)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pc))(Curry.Module.FlatCurry.C_Comb(Curry.Module.FlatCurry.C_FuncPartCall(Curry.Module.Prelude.op_43(x5)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))))))))+c_comb (Curry.Module.FlatCurry.C_CombTypeOr i xs) x2 x3 st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_comb(x)(x2)(x3)(st))(i)(xs)(st)+c_comb x x2 x3 st = Curry.RunTimeSystem.patternFail("Transform.comb")(x)++++c_comb'46_'35lambda30 :: Curry.Module.FlatCurry.C_CombType -> (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_comb'46_'35lambda30 x1 x2 x3 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.op_46_62_62_61(Curry.Module.Prelude.pf(Curry.Module.Transform.c_renameCons(x2)))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_comb'46_'35lambda30'46_'35lambda31(x3)(x1))))++++c_comb'46_'35lambda30'46_'35lambda31 :: (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.Module.FlatCurry.C_CombType -> (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_comb'46_'35lambda30'46_'35lambda31 x1 x2 x3 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_ret(Curry.Module.FlatCurry.C_Comb(x2)(x3)(x1)))++++c_comb'46_'35lambda32 :: Curry.Module.FlatCurry.C_CombType -> Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_comb'46_'35lambda32 x1 x2 x3 x4 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.op_46_62_62_61(Curry.Module.Prelude.pf(Curry.Module.Transform.c_renameCons(x3)))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_comb'46_'35lambda32'46_'35lambda33(x4)(x1)(x2))))++++c_comb'46_'35lambda32'46_'35lambda33 :: (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.Module.FlatCurry.C_CombType -> Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_comb'46_'35lambda32'46_'35lambda33 x1 x2 x3 x4 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_ret(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_partCons(st))(x3)(st))(Curry.Module.FlatCurry.C_Comb(x2)(x4)(x1))(st)))++++c_comb'46_'35lambda34 :: Curry.Module.FlatCurry.C_CombType -> (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_comb'46_'35lambda34 x1 x2 x3 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.op_46_62_62_61(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_nextRef))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_comb'46_'35lambda34'46_'35lambda35(x3)(x1)(x2))))++++c_comb'46_'35lambda34'46_'35lambda35 :: (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.Module.FlatCurry.C_CombType -> (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_comb'46_'35lambda34'46_'35lambda35 x1 x2 x3 x4 st = let {x5 = Curry.Module.Prelude.op_43_43(x1)((Curry.Module.Prelude.:<)(Curry.Module.FlatCurry.C_Var(x4))(Curry.Module.Prelude.List))(st)} in Curry.Module.Transform.c_comb'46_'35lambda34'46_'35lambda35_case_5(x2)(x3)(x5)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_elem(x3)(st))(Curry.Module.Wrapper.c_implementedInOracle(st))(st))(st)++++c_comb'46_'35lambda36 :: Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr))) -> (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_comb'46_'35lambda36 x1 x2 x3 x4 st = Curry.Module.Prelude.op_36(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))))(Curry.Module.Transform.c_ret))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_partFunc(st))(x1)(st))(Curry.Module.Transform.c_comb'46_'35lambda36_case_4(x2)(x3)(x4)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_elem(x2)(st))(Curry.Module.Wrapper.c_implementedInOracle(st))(st))(st))(st))(st)++++c_leT :: (Curry.Module.Prelude.List (Curry.Module.Prelude.T2 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))))) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_leT x1 x2 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.op_46_62_62_61(Curry.Module.Transform.c_sequence(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_snd))(x1)(st))(st))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_leT'46_'35lambda37(x1)(x2))))++++c_leT'46_'35lambda37 :: (Curry.Module.Prelude.List (Curry.Module.Prelude.T2 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))))) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))) -> (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_leT'46_'35lambda37 x1 x2 x3 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.op_46_62_62_61(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_nextRef))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))))(Curry.Module.Transform.c_leT'46_'35lambda37'46_'35lambda38(x3)(x1)(x2))))++++c_leT'46_'35lambda37'46_'35lambda38 :: (Curry t150,Curry t151,Curry t152) => (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.T2 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))))) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))) -> Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.List t150) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List t151) (Curry.Module.Prelude.Prim (t152 -> Curry.RunTimeSystem.State -> t152)) Curry.Module.FlatCurry.C_Expr)+c_leT'46_'35lambda37'46_'35lambda38 x1 x2 x3 x4 x5 x6 x7@Curry.Module.Prelude.List st = Curry.Module.Transform.c_leT'46_'35lambda37'46_'35lambda38_case_3(x1)(x2)(x3)(x4)(x5)(x6)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x3)(x5)(st))(x6)(st))((Curry.Module.Prelude.:<)(x4)(Curry.Module.Prelude.List))(st))(st)+c_leT'46_'35lambda37'46_'35lambda38 x1 x2 x3 x4 x5 x6 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_leT'46_'35lambda37'46_'35lambda38(x1)(x2)(x3)(x4)(x5)(x6)(x)(st))(i)(xs)(st)+c_leT'46_'35lambda37'46_'35lambda38 x1 x2 x3 x4 x5 x6 x st = Curry.RunTimeSystem.patternFail("Transform.leT._#lambda37._#lambda38")(x)++++c_freE :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_freE x1 x2 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.op_46_62_62_61(Curry.Module.Transform.c_sequence(Curry.Module.Prelude.c_replicate(Curry.Module.Prelude.c_length(x1)(st))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.op_46_62_62_61(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_nextRef))(Curry.Module.Prelude.op_46(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))))(Curry.Module.Transform.c_ret))(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_unknown))(Curry.Module.Prelude.pc(Curry.Module.FlatCurry.C_Var))(st))(st))))(st))(st))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_freE'46_'35lambda40(x2)(x1))))++++c_freE'46_'35lambda40 :: (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_freE'46_'35lambda40 x1 x2 x3 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.op_46_62_62_61(x1)(Curry.Module.Prelude.pf(Curry.Module.Transform.c_freE'46_'35lambda40'46_'35lambda41(x3)(x2))))++++c_freE'46_'35lambda40'46_'35lambda41 :: (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_freE'46_'35lambda40'46_'35lambda41 x1 x2 x3 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_ret(Curry.Module.FlatCurry.C_Let(Curry.Module.Prelude.c_zip(x2)(x1)(st))(x3)))++++c_oR :: (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))) -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_oR x1 x2 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.op_46_62_62_61(x1)(Curry.Module.Prelude.pf(Curry.Module.Transform.c_oR'46_'35lambda42(x2))))++++c_oR'46_'35lambda42 :: (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))) -> Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_oR'46_'35lambda42 x1 x2 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.op_46_62_62_61(x1)(Curry.Module.Prelude.pf(Curry.Module.Transform.c_oR'46_'35lambda42'46_'35lambda43(x2))))++++c_oR'46_'35lambda42'46_'35lambda43 :: Curry.Module.FlatCurry.C_Expr -> Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_oR'46_'35lambda42'46_'35lambda43 x1 x2 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_ret(Curry.Module.FlatCurry.C_Or(x1)(x2)))++++c_casE :: Curry.Module.FlatCurry.C_CaseType -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))) -> (Curry.Module.Prelude.List (Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_BranchExpr))))))) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_casE x1 x2 x3 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.op_46_62_62_61(x2)(Curry.Module.Prelude.pf(Curry.Module.Transform.c_casE'46_'35lambda44(x1)(x3))))++++c_casE'46_'35lambda44 :: Curry.Module.FlatCurry.C_CaseType -> (Curry.Module.Prelude.List (Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_BranchExpr))))))) -> Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_casE'46_'35lambda44 x1 x2 x3 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.op_46_62_62_61(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_nextRef))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_casE'46_'35lambda44'46_'35lambda45(x1)(x3)(x2))))++++c_casE'46_'35lambda44'46_'35lambda45 :: Curry.Module.FlatCurry.C_CaseType -> Curry.Module.FlatCurry.C_Expr -> (Curry.Module.Prelude.List (Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_BranchExpr))))))) -> Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_casE'46_'35lambda44'46_'35lambda45 x1 x2 x3 x4 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.op_46_62_62_61(Curry.Module.Transform.c_sequence(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_flip(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_36))(x4)))(x3)(st))(st))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_casE'46_'35lambda44'46_'35lambda45'46_'35lambda46(x1)(x2))))++++c_casE'46_'35lambda44'46_'35lambda45'46_'35lambda46 :: Curry.Module.FlatCurry.C_CaseType -> Curry.Module.FlatCurry.C_Expr -> (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_BranchExpr) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))+c_casE'46_'35lambda44'46_'35lambda45'46_'35lambda46 x1 x2 x3 st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_ret(Curry.Module.FlatCurry.C_Case(x1)(x2)(x3)))++++c_branch :: Curry.Module.FlatCurry.C_Pattern -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_Expr))))) -> Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool)) -> Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Either (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.T4 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Int)) Curry.Module.FlatCurry.C_BranchExpr)+c_branch x1 x2 x3 x4 x5 x6@Curry.Module.Prelude.List st = Curry.Module.Transform.c_branch_case_1(x1)(x2)(x3)(x4)(x5)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x2)(x4)(st))(x5)(st))((Curry.Module.Prelude.:<)(x3)(Curry.Module.Prelude.List))(st))(st)+c_branch x1 x2 x3 x4 x5 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_branch(x1)(x2)(x3)(x4)(x5)(x)(st))(i)(xs)(st)+c_branch x1 x2 x3 x4 x5 x st = Curry.RunTimeSystem.patternFail("Transform.branch")(x)++++c_branch_case_1 x1 x2 x3 x4 x5 x6@(Curry.Module.Prelude.C_Right x7) st = Curry.Module.Transform.c_branch_case_0(x1)(x3)(x4)(x7)(st)+c_branch_case_1 x1 x2 x3 x4 x5 x6@(Curry.Module.Prelude.C_Left x12) st = Curry.Module.Prelude.C_Left(x12)+c_branch_case_1 x1 x2 x3 x4 x5 (Curry.Module.Prelude.C_EitherOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_branch_case_1(x1)(x2)(x3)(x4)(x5)(x)(st))(i)(xs)(st)+c_branch_case_1 x1 x2 x3 x4 x5 x st = Curry.RunTimeSystem.patternFail("Transform.branch_case_1")(x)++++c_branch_case_0 x1 x3 x4 x7@(Curry.Module.Prelude.T4 x8 x9 x10 x11) st = Curry.Module.Prelude.C_Right(Curry.Module.Prelude.T4(x8)(Curry.Module.Prelude.List)(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_id))(Curry.Module.FlatCurry.C_Branch(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_updPatCons(Curry.Module.Prelude.pf(Curry.Module.Transform.c_when(x4)(Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_newModNameQ))))(st))(x1)(st))(Curry.Module.Wrapper.c_event(x9)(x3)(Curry.Module.Prelude.c_apply(x10)(Curry.Module.Prelude.List)(st))(x11)(st))))+c_branch_case_0 x1 x3 x4 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_branch_case_0(x1)(x3)(x4)(x)(st))(i)(xs)(st)+c_branch_case_0 x1 x3 x4 x st = Curry.RunTimeSystem.patternFail("Transform.branch_case_0")(x)++++c_leT'46_'35lambda37'46_'35lambda38_case_3 x1 x2 x3 x4 x5 x6 x7@(Curry.Module.Prelude.C_Right x8) st = Curry.Module.Transform.c_leT'46_'35lambda37'46_'35lambda38_case_2(x1)(x2)(x4)(x8)(st)+c_leT'46_'35lambda37'46_'35lambda38_case_3 x1 x2 x3 x4 x5 x6 x7@(Curry.Module.Prelude.C_Left x14) st = Curry.Module.Prelude.C_Left(x14)+c_leT'46_'35lambda37'46_'35lambda38_case_3 x1 x2 x3 x4 x5 x6 (Curry.Module.Prelude.C_EitherOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_leT'46_'35lambda37'46_'35lambda38_case_3(x1)(x2)(x3)(x4)(x5)(x6)(x)(st))(i)(xs)(st)+c_leT'46_'35lambda37'46_'35lambda38_case_3 x1 x2 x3 x4 x5 x6 x st = Curry.RunTimeSystem.patternFail("Transform.leT._#lambda37._#lambda38_case_3")(x)++++c_leT'46_'35lambda37'46_'35lambda38_case_2 x1 x2 x4 x8@(Curry.Module.Prelude.T4 x9 x10 x11 x12) st = Curry.Module.Prelude.C_Right(Curry.Module.Prelude.T4(x9)(Curry.Module.Prelude.List)(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_id))(Curry.Module.FlatCurry.C_Let(Curry.Module.Prelude.c_zip(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_fst))(x2)(st))(x1)(st))(Curry.Module.Wrapper.c_event(x10)(x4)(Curry.Module.Prelude.c_apply(x11)(Curry.Module.Prelude.List)(st))(x12)(st))))+c_leT'46_'35lambda37'46_'35lambda38_case_2 x1 x2 x4 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_leT'46_'35lambda37'46_'35lambda38_case_2(x1)(x2)(x4)(x)(st))(i)(xs)(st)+c_leT'46_'35lambda37'46_'35lambda38_case_2 x1 x2 x4 x st = Curry.RunTimeSystem.patternFail("Transform.leT._#lambda37._#lambda38_case_2")(x)++++c_comb'46_'35lambda36_case_4 x2 x3 x4 x5@Curry.Module.Prelude.C_True st = Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_inOraclePartCall(Curry.Module.Prelude.c_snd(x2)(st))(st))(x4)(st)+c_comb'46_'35lambda36_case_4 x2 x3 x4 x5@Curry.Module.Prelude.C_False st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x3)(Curry.Module.Wrapper.c_newModNameQ(x2)(st))(st))(x4)(st)+c_comb'46_'35lambda36_case_4 x2 x3 x4 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_comb'46_'35lambda36_case_4(x2)(x3)(x4)(x)(st))(i)(xs)(st)+c_comb'46_'35lambda36_case_4 x2 x3 x4 x st = Curry.RunTimeSystem.patternFail("Transform.comb._#lambda36_case_4")(x)++++c_comb'46_'35lambda34'46_'35lambda35_case_5 x2 x3 x5 x6@Curry.Module.Prelude.C_True st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_ret(Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_inOraclePartCall(Curry.Module.Prelude.c_snd(x3)(st))(st))(x5)(st)))+c_comb'46_'35lambda34'46_'35lambda35_case_5 x2 x3 x5 x6@Curry.Module.Prelude.C_False st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_ret(Curry.Module.FlatCurry.C_Comb(x2)(Curry.Module.Wrapper.c_newModNameQ(x3)(st))(x5)))+c_comb'46_'35lambda34'46_'35lambda35_case_5 x2 x3 x5 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_comb'46_'35lambda34'46_'35lambda35_case_5(x2)(x3)(x5)(x)(st))(i)(xs)(st)+c_comb'46_'35lambda34'46_'35lambda35_case_5 x2 x3 x5 x st = Curry.RunTimeSystem.patternFail("Transform.comb._#lambda34._#lambda35_case_5")(x)++++c_'46'62'62'61_case_9 x1 x2 x3 x4 x5 (Curry.Module.Prelude.C_Right x6) st = Curry.Module.Transform.c_'46'62'62'61_case_8(x2)(x3)(x6)(st)+c_'46'62'62'61_case_9 x1 x2 x3 x4 x5 x6@(Curry.Module.Prelude.C_Left x17) st = Curry.Module.Prelude.C_Left(x17)+c_'46'62'62'61_case_9 x1 x2 x3 x4 x5 (Curry.Module.Prelude.C_EitherOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_'46'62'62'61_case_9(x1)(x2)(x3)(x4)(x5)(x)(st))(i)(xs)(st)+c_'46'62'62'61_case_9 x1 x2 x3 x4 x5 x st = Curry.RunTimeSystem.patternFail("Transform..>>=_case_9")(x)++++c_'46'62'62'61_case_8 x2 x3 x6@(Curry.Module.Prelude.T4 x7 x8 x9 x10) st = Curry.Module.Transform.c_'46'62'62'61_case_7(x2)(x3)(x7)(x8)(x9)(x10)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(x2)(x10)(st))(x3)(st))(x7)(st))(x8)(st))(st)+c_'46'62'62'61_case_8 x2 x3 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_'46'62'62'61_case_8(x2)(x3)(x)(st))(i)(xs)(st)+c_'46'62'62'61_case_8 x2 x3 x st = Curry.RunTimeSystem.patternFail("Transform..>>=_case_8")(x)++++c_'46'62'62'61_case_7 x2 x3 x7 x8 x9 x10 (Curry.Module.Prelude.C_Right x11) st = Curry.Module.Transform.c_'46'62'62'61_case_6(x9)(x11)(st)+c_'46'62'62'61_case_7 x2 x3 x7 x8 x9 x10 x11@(Curry.Module.Prelude.C_Left x16) st = Curry.Module.Prelude.C_Left(x16)+c_'46'62'62'61_case_7 x2 x3 x7 x8 x9 x10 (Curry.Module.Prelude.C_EitherOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_'46'62'62'61_case_7(x2)(x3)(x7)(x8)(x9)(x10)(x)(st))(i)(xs)(st)+c_'46'62'62'61_case_7 x2 x3 x7 x8 x9 x10 x st = Curry.RunTimeSystem.patternFail("Transform..>>=_case_7")(x)++++c_'46'62'62'61_case_6 x9 x11@(Curry.Module.Prelude.T4 x12 x13 x14 x15) st = Curry.Module.Prelude.C_Right(Curry.Module.Prelude.T4(x12)(x13)(Curry.Module.Prelude.op_46(x9)(x14)(st))(x15))+c_'46'62'62'61_case_6 x9 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_'46'62'62'61_case_6(x9)(x)(st))(i)(xs)(st)+c_'46'62'62'61_case_6 x9 x st = Curry.RunTimeSystem.patternFail("Transform..>>=_case_6")(x)++++c_transExpr_case_11 x1 x2 x3 (Curry.Module.Prelude.C_Right x4) st = Curry.Module.Transform.c_transExpr_case_10(x4)(st)+c_transExpr_case_11 x1 x2 x3 x4@(Curry.Module.Prelude.C_Left x9) st = Curry.Module.Prelude.C_Left(x9)+c_transExpr_case_11 x1 x2 x3 (Curry.Module.Prelude.C_EitherOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transExpr_case_11(x1)(x2)(x3)(x)(st))(i)(xs)(st)+c_transExpr_case_11 x1 x2 x3 x st = Curry.RunTimeSystem.patternFail("Transform.transExpr_case_11")(x)++++c_transExpr_case_10 x4@(Curry.Module.Prelude.T4 x5 x6 x7 x8) st = Curry.Module.Prelude.C_Right(Curry.Module.Prelude.T3(x6)(Curry.Module.Prelude.c_apply(x7)(Curry.Module.Prelude.List)(st))(x8))+c_transExpr_case_10 (Curry.Module.Prelude.T4Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transExpr_case_10(x)(st))(i)(xs)(st)+c_transExpr_case_10 x st = Curry.RunTimeSystem.patternFail("Transform.transExpr_case_10")(x)++++c_transFuncType_case_13 x1 x2 x3 x7 x8 x9@Curry.Module.Prelude.C_True st = Curry.Module.FlatCurry.C_FuncType(Curry.Module.Wrapper.c_tRef(st))(Curry.Module.Transform.c_rType(x2)(x3)(st))+c_transFuncType_case_13 x1 x2 x3 x7 x8 x9@Curry.Module.Prelude.C_False st = Curry.Module.Transform.c_transFuncType_case_12(x1)(x2)(x7)(x8)(Curry.Module.Prelude.c_otherwise(st))(st)+c_transFuncType_case_13 x1 x2 x3 x7 x8 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFuncType_case_13(x1)(x2)(x3)(x7)(x8)(x)(st))(i)(xs)(st)+c_transFuncType_case_13 x1 x2 x3 x7 x8 x st = Curry.RunTimeSystem.patternFail("Transform.transFuncType_case_13")(x)++++c_transFuncType_case_12 x1 x2 x7 x8 x9@Curry.Module.Prelude.C_True st = Curry.Module.FlatCurry.C_FuncType(Curry.Module.Transform.c_rType(x2)(x7)(st))(Curry.Module.Transform.c_transFuncType(Curry.Module.Prelude.op_45(x1)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(x2)(x8)(st))+c_transFuncType_case_12 x1 x2 x7 x8 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFuncType_case_12(x1)(x2)(x7)(x8)(x)(st))(i)(xs)(st)+c_transFuncType_case_12 x1 x2 x7 x8 x st = Curry.RunTimeSystem.patternFail("Transform.transFuncType_case_12")(x)++++c_transFuncType_case_14 x2 x3 x1@Curry.Module.Prelude.C_Zero st = Curry.Module.FlatCurry.C_FuncType(Curry.Module.Wrapper.c_tRef(st))(Curry.Module.Transform.c_rType(x2)(x3)(st))+c_transFuncType_case_14 x2 x3 (Curry.Module.Prelude.C_IntOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFuncType_case_14(x2)(x3)(x)(st))(i)(xs)(st)+c_transFuncType_case_14 x2 x3 x st = Curry.RunTimeSystem.patternFail("Transform.transFuncType_case_14")(x)++++c_transFuncType_case_15 x1 x2 x3 x4 x5@Curry.Module.Prelude.C_True st = x3+c_transFuncType_case_15 x1 x2 x3 x4 x5@Curry.Module.Prelude.C_False st = Curry.Module.FlatCurry.C_FuncType(Curry.Module.Wrapper.c_tRef(st))(Curry.Module.Transform.c_rType(x2)(x3)(st))+c_transFuncType_case_15 x1 x2 x3 x4 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFuncType_case_15(x1)(x2)(x3)(x4)(x)(st))(i)(xs)(st)+c_transFuncType_case_15 x1 x2 x3 x4 x st = Curry.RunTimeSystem.patternFail("Transform.transFuncType_case_15")(x)++++c_transFunc'46isGlobal'4689_case_20 x1 (Curry.Module.FlatCurry.C_Comb x2 x3 x4) st = Curry.Module.Transform.c_transFunc'46isGlobal'4689_case_19(x3)(x4)(x2)(st)+c_transFunc'46isGlobal'4689_case_20 x1 x2@(Curry.Module.FlatCurry.C_Var x13) st = Curry.Module.Prelude.C_False+c_transFunc'46isGlobal'4689_case_20 x1 x2@(Curry.Module.FlatCurry.C_Lit x14) st = Curry.Module.Prelude.C_False+c_transFunc'46isGlobal'4689_case_20 x1 x2@(Curry.Module.FlatCurry.C_Let x15 x16) st = Curry.Module.Prelude.C_False+c_transFunc'46isGlobal'4689_case_20 x1 x2@(Curry.Module.FlatCurry.C_Free x17 x18) st = Curry.Module.Prelude.C_False+c_transFunc'46isGlobal'4689_case_20 x1 x2@(Curry.Module.FlatCurry.C_Or x19 x20) st = Curry.Module.Prelude.C_False+c_transFunc'46isGlobal'4689_case_20 x1 x2@(Curry.Module.FlatCurry.C_Case x21 x22 x23) st = Curry.Module.Prelude.C_False+c_transFunc'46isGlobal'4689_case_20 x1 (Curry.Module.FlatCurry.C_ExprOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFunc'46isGlobal'4689_case_20(x1)(x)(st))(i)(xs)(st)+c_transFunc'46isGlobal'4689_case_20 x1 x st = Curry.RunTimeSystem.patternFail("Transform.transFunc.isGlobal.89_case_20")(x)++++c_transFunc'46isGlobal'4689_case_19 x3 x4 x2@Curry.Module.FlatCurry.C_FuncCall st = Curry.Module.Transform.c_transFunc'46isGlobal'4689_case_18(x3)(x4)(st)+c_transFunc'46isGlobal'4689_case_19 x3 x4 x2@Curry.Module.FlatCurry.C_ConsCall st = Curry.Module.Prelude.C_False+c_transFunc'46isGlobal'4689_case_19 x3 x4 x2@(Curry.Module.FlatCurry.C_FuncPartCall x11) st = Curry.Module.Prelude.C_False+c_transFunc'46isGlobal'4689_case_19 x3 x4 x2@(Curry.Module.FlatCurry.C_ConsPartCall x12) st = Curry.Module.Prelude.C_False+c_transFunc'46isGlobal'4689_case_19 x3 x4 (Curry.Module.FlatCurry.C_CombTypeOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFunc'46isGlobal'4689_case_19(x3)(x4)(x)(st))(i)(xs)(st)+c_transFunc'46isGlobal'4689_case_19 x3 x4 x st = Curry.RunTimeSystem.patternFail("Transform.transFunc.isGlobal.89_case_19")(x)++++c_transFunc'46isGlobal'4689_case_18 x3 x4@((Curry.Module.Prelude.:<) x5 x6) st = Curry.Module.Transform.c_transFunc'46isGlobal'4689_case_17(x3)(x6)(st)+c_transFunc'46isGlobal'4689_case_18 x3 x4@Curry.Module.Prelude.List st = Curry.Module.Prelude.C_False+c_transFunc'46isGlobal'4689_case_18 x3 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFunc'46isGlobal'4689_case_18(x3)(x)(st))(i)(xs)(st)+c_transFunc'46isGlobal'4689_case_18 x3 x st = Curry.RunTimeSystem.patternFail("Transform.transFunc.isGlobal.89_case_18")(x)++++c_transFunc'46isGlobal'4689_case_17 x3 x6@((Curry.Module.Prelude.:<) x7 x8) st = Curry.Module.Transform.c_transFunc'46isGlobal'4689_case_16(x3)(x8)(st)+c_transFunc'46isGlobal'4689_case_17 x3 x6@Curry.Module.Prelude.List st = Curry.Module.Prelude.C_False+c_transFunc'46isGlobal'4689_case_17 x3 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFunc'46isGlobal'4689_case_17(x3)(x)(st))(i)(xs)(st)+c_transFunc'46isGlobal'4689_case_17 x3 x st = Curry.RunTimeSystem.patternFail("Transform.transFunc.isGlobal.89_case_17")(x)++++c_transFunc'46isGlobal'4689_case_16 x3 x8@Curry.Module.Prelude.List st = Curry.Module.Prelude.op_61_61(x3)(Curry.Module.Prelude.T2((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('G'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('b'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))(Curry.Module.Prelude.List)))))))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('g'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('b'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))(Curry.Module.Prelude.List))))))))(st)+c_transFunc'46isGlobal'4689_case_16 x3 x8@((Curry.Module.Prelude.:<) x9 x10) st = Curry.Module.Prelude.C_False+c_transFunc'46isGlobal'4689_case_16 x3 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFunc'46isGlobal'4689_case_16(x3)(x)(st))(i)(xs)(st)+c_transFunc'46isGlobal'4689_case_16 x3 x st = Curry.RunTimeSystem.patternFail("Transform.transFunc.isGlobal.89_case_16")(x)++++c_transFunc_case_31 x1 x2 x3 x4 x5 x6 x7 x9 x10 x12 x13 x14@Curry.Module.Prelude.C_True st = Curry.Module.Prelude.List+c_transFunc_case_31 x1 x2 x3 x4 x5 x6 x7 x9 x10 x12 x13 x14@Curry.Module.Prelude.C_False st = Curry.Module.Transform.c_transFunc_case_30(x1)(x2)(x3)(x4)(x5)(x6)(x7)(x9)(x10)(x12)(x13)(Curry.Module.Prelude.op_38_38(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_isExternal(st))(x3)(st))(Curry.Module.Transform.c_transFunc'46isIO'4689(x9)(st))(st))(st)+c_transFunc_case_31 x1 x2 x3 x4 x5 x6 x7 x9 x10 x12 x13 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFunc_case_31(x1)(x2)(x3)(x4)(x5)(x6)(x7)(x9)(x10)(x12)(x13)(x)(st))(i)(xs)(st)+c_transFunc_case_31 x1 x2 x3 x4 x5 x6 x7 x9 x10 x12 x13 x st = Curry.RunTimeSystem.patternFail("Transform.transFunc_case_31")(x)++++c_transFunc_case_30 x1 x2 x3 x4 x5 x6 x7 x9 x10 x12 x13 x14@Curry.Module.Prelude.C_True st = (Curry.Module.Prelude.:<)(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pc(Curry.Module.FlatCurry.C_Func(x13)(x5)(x6)(Curry.Module.Transform.c_transFuncType(Curry.Module.Prelude.op_45(x5)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(x1)(x7)(st))))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pc(Curry.Module.FlatCurry.C_Rule(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_reverse(st))(Curry.Module.Prelude.c_enumFromTo(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(x5)(st))(st))))(Curry.Module.Wrapper.c_collapse(Curry.Module.Wrapper.c_ref(st))(Curry.Module.Transform.c_transFunc_case_29(x4)(x5)(x9)(Curry.Module.Transform.c_transFunc'46isComplexIO'4689(x4)(x9)(st))(st))(st))(st))(st))(Curry.Module.Prelude.List)+c_transFunc_case_30 x1 x2 x3 x4 x5 x6 x7 x9 x10 x12 x13 x14@Curry.Module.Prelude.C_False st = Curry.Module.Transform.c_transFunc_case_27(x1)(x2)(x3)(x4)(x5)(x6)(x7)(x10)(x12)(x13)(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_isExternal(st))(x3)(st))(st)+c_transFunc_case_30 x1 x2 x3 x4 x5 x6 x7 x9 x10 x12 x13 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFunc_case_30(x1)(x2)(x3)(x4)(x5)(x6)(x7)(x9)(x10)(x12)(x13)(x)(st))(i)(xs)(st)+c_transFunc_case_30 x1 x2 x3 x4 x5 x6 x7 x9 x10 x12 x13 x st = Curry.RunTimeSystem.patternFail("Transform.transFunc_case_30")(x)++++c_transFunc_case_27 x1 x2 x3 x4 x5 x6 x7 x10 x12 x13 x14@Curry.Module.Prelude.C_True st = (Curry.Module.Prelude.:<)(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pc(Curry.Module.FlatCurry.C_Func(x13)(Curry.Module.Prelude.op_43(x5)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(x6)(Curry.Module.Transform.c_transFuncType(x5)(x1)(x7)(st))))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pc(Curry.Module.FlatCurry.C_Rule(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_reverse(st))(x12)(st))))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_collapse(Curry.Module.Wrapper.c_ref(st))))(Curry.Module.Transform.c_transFunc'46extCall'4689(x4)(Curry.Module.Prelude.op_43(x5)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(st))(st))(st))(st))(Curry.Module.Prelude.List)+c_transFunc_case_27 x1 x2 x3 x4 x5 x6 x7 x10 x12 x13 x14@Curry.Module.Prelude.C_False st = Curry.Module.Transform.c_transFunc_case_26(x1)(x2)(x3)(x4)(x5)(x6)(x7)(x10)(x12)(x13)(Curry.Module.Transform.c_transFunc'46isGlobal'4689(x3)(st))(st)+c_transFunc_case_27 x1 x2 x3 x4 x5 x6 x7 x10 x12 x13 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFunc_case_27(x1)(x2)(x3)(x4)(x5)(x6)(x7)(x10)(x12)(x13)(x)(st))(i)(xs)(st)+c_transFunc_case_27 x1 x2 x3 x4 x5 x6 x7 x10 x12 x13 x st = Curry.RunTimeSystem.patternFail("Transform.transFunc_case_27")(x)++++c_transFunc_case_26 x1 x2 x3 x4 x5 x6 x7 x10 x12 x13 x14@Curry.Module.Prelude.C_True st = Curry.Module.Transform.c_transFunc_case_25(x1)(x3)(x4)(x5)(x6)(x7)(x12)(x13)(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.pf(Curry.Module.FlatCurryGoodies.c_trExpr(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_const(Curry.Module.Prelude.C_False)))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_const(Curry.Module.Prelude.C_True)))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_transFunc'46_'35lambda19))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Transform.c_transFunc'46_'35lambda20))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Transform.c_transFunc'46_'35lambda21))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_38_38))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa))(Curry.Module.Prelude.cp(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))))(Curry.Module.Transform.c_transFunc'46_'35lambda22))(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Transform.c_transFunc'46_'35lambda23))))(Curry.Module.Prelude.c_head(Curry.Module.FlatCurryGoodies.c_combArgs(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_funcBody(st))(x3)(st))(st))(st))(st))(st)+c_transFunc_case_26 x1 x2 x3 x4 x5 x6 x7 x10 x12 x13 x14@Curry.Module.Prelude.C_False st = Curry.Module.Transform.c_transFunc_case_24(x1)(x2)(x3)(x5)(x6)(x7)(x10)(x12)(x13)(Curry.Module.Prelude.c_otherwise(st))(st)+c_transFunc_case_26 x1 x2 x3 x4 x5 x6 x7 x10 x12 x13 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFunc_case_26(x1)(x2)(x3)(x4)(x5)(x6)(x7)(x10)(x12)(x13)(x)(st))(i)(xs)(st)+c_transFunc_case_26 x1 x2 x3 x4 x5 x6 x7 x10 x12 x13 x st = Curry.RunTimeSystem.patternFail("Transform.transFunc_case_26")(x)++++c_transFunc_case_24 x1 x2 x3 x5 x6 x7 x10 x12 x13 x14@Curry.Module.Prelude.C_True st = Curry.Module.Transform.c_transFunc_case_23(x1)(x2)(x3)(x5)(x6)(x7)(x10)(x12)(x13)(Curry.Module.Transform.c_transExpr(x2)(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_funcBody(st))(x3)(st))(Curry.Module.Transform.c_transFunc_case_21(x10)(Curry.Module.Prelude.c_null(x10)(st))(st))(st))(st)+c_transFunc_case_24 x1 x2 x3 x5 x6 x7 x10 x12 x13 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFunc_case_24(x1)(x2)(x3)(x5)(x6)(x7)(x10)(x12)(x13)(x)(st))(i)(xs)(st)+c_transFunc_case_24 x1 x2 x3 x5 x6 x7 x10 x12 x13 x st = Curry.RunTimeSystem.patternFail("Transform.transFunc_case_24")(x)++++c_transFunc_case_23 x1 x2 x3 x5 x6 x7 x10 x12 x13 x14@(Curry.Module.Prelude.C_Right x16) st = Curry.Module.Transform.c_transFunc_case_22(x1)(x3)(x5)(x16)(st)+c_transFunc_case_23 x1 x2 x3 x5 x6 x7 x10 x12 x13 x14@(Curry.Module.Prelude.C_Left x20) st = (Curry.Module.Prelude.:<)(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pc(Curry.Module.FlatCurry.C_Func(x13)(Curry.Module.Prelude.op_43(x5)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(x6)(Curry.Module.Transform.c_transFuncType(x5)(x1)(x7)(st))))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pc(Curry.Module.FlatCurry.C_Rule(x12)))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_errorCall))(Curry.Module.Prelude.op_43_43(Curry.Module.Prelude.c_fst(x13)(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))(Curry.Module.Prelude.op_43_43(Curry.Module.Prelude.c_snd(x13)(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(':'))(x20))(st)))(st))(st))(st))(st))(Curry.Module.Prelude.List)+c_transFunc_case_23 x1 x2 x3 x5 x6 x7 x10 x12 x13 (Curry.Module.Prelude.C_EitherOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFunc_case_23(x1)(x2)(x3)(x5)(x6)(x7)(x10)(x12)(x13)(x)(st))(i)(xs)(st)+c_transFunc_case_23 x1 x2 x3 x5 x6 x7 x10 x12 x13 x st = Curry.RunTimeSystem.patternFail("Transform.transFunc_case_23")(x)++++c_transFunc_case_21 x10 x11@Curry.Module.Prelude.C_True st = Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_IHi))+c_transFunc_case_21 x10 x11@Curry.Module.Prelude.C_False st = Curry.Module.Prelude.op_43(Curry.Module.Integer.c_maxlist(x10)(st))(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st)+c_transFunc_case_21 x10 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFunc_case_21(x10)(x)(st))(i)(xs)(st)+c_transFunc_case_21 x10 x st = Curry.RunTimeSystem.patternFail("Transform.transFunc_case_21")(x)++++c_transFunc_case_22 x1 x3 x5 x16@(Curry.Module.Prelude.T3 x17 x18 x19) st = (Curry.Module.Prelude.:<)(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_updFunc(Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_newModNameQ))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_flip(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_43))(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_id))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_transFuncType(x5)(x1)))(Curry.Module.FlatCurryGoodies.c_updRule(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_flip(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_43_43))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(Curry.Module.Prelude.List))))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_const(Curry.Module.Wrapper.c_event(x17)(Curry.Module.Wrapper.c_ref(st))(x18)(x19)(st))))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_id))(st))(st))(x3)(st))(Curry.Module.Prelude.List)+c_transFunc_case_22 x1 x3 x5 (Curry.Module.Prelude.T3Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFunc_case_22(x1)(x3)(x5)(x)(st))(i)(xs)(st)+c_transFunc_case_22 x1 x3 x5 x st = Curry.RunTimeSystem.patternFail("Transform.transFunc_case_22")(x)++++c_transFunc_case_25 x1 x3 x4 x5 x6 x7 x12 x13 x14@Curry.Module.Prelude.C_True st = (Curry.Module.Prelude.:<)(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pc(Curry.Module.FlatCurry.C_Func(x13)(Curry.Module.Prelude.op_43(x5)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(x6)(Curry.Module.Transform.c_transFuncType(x5)(x1)(x7)(st))))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pc(Curry.Module.FlatCurry.C_Rule(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_reverse(st))(x12)(st))))(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_collapse(Curry.Module.Wrapper.c_ref(st))))(Curry.Module.Transform.c_transFunc'46extCall'4689(x4)(Curry.Module.Prelude.op_43(x5)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(st))(st))(st))(st))(Curry.Module.Prelude.List)+c_transFunc_case_25 x1 x3 x4 x5 x6 x7 x12 x13 x14@Curry.Module.Prelude.C_False st = Curry.Module.Prelude.c_error(Curry.Module.Prelude.op_43_43(Curry.Module.Prelude.c_fst(x4)(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))(Curry.Module.Prelude.op_43_43(Curry.Module.Prelude.c_snd(x4)(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(':'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('g'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('b'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('z'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('w'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('h'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('v'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('x'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('\n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('b'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(':'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('m'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('g'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('v'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('g'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))(Curry.Module.Prelude.List)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(st)))(st))(st)+c_transFunc_case_25 x1 x3 x4 x5 x6 x7 x12 x13 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFunc_case_25(x1)(x3)(x4)(x5)(x6)(x7)(x12)(x13)(x)(st))(i)(xs)(st)+c_transFunc_case_25 x1 x3 x4 x5 x6 x7 x12 x13 x st = Curry.RunTimeSystem.patternFail("Transform.transFunc_case_25")(x)++++c_transFunc_case_29 x4 x5 x9 x10@Curry.Module.Prelude.C_True st = Curry.Module.Wrapper.c_extIO(Curry.Module.Wrapper.c_safeIOResult(Curry.Module.Transform.c_transFunc'46extCall'4689(x4)(x5)(st))(st))(st)+c_transFunc_case_29 x4 x5 x9 x10@Curry.Module.Prelude.C_False st = Curry.Module.Transform.c_transFunc_case_28(x4)(x5)(Curry.Module.Prelude.c_otherwise(st))(st)+c_transFunc_case_29 x4 x5 x9 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFunc_case_29(x4)(x5)(x9)(x)(st))(i)(xs)(st)+c_transFunc_case_29 x4 x5 x9 x st = Curry.RunTimeSystem.patternFail("Transform.transFunc_case_29")(x)++++c_transFunc_case_28 x4 x5 x6@Curry.Module.Prelude.C_True st = Curry.Module.Wrapper.c_extIO(Curry.Module.Transform.c_transFunc'46extCall'4689(x4)(x5)(st))(st)+c_transFunc_case_28 x4 x5 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transFunc_case_28(x4)(x5)(x)(st))(i)(xs)(st)+c_transFunc_case_28 x4 x5 x st = Curry.RunTimeSystem.patternFail("Transform.transFunc_case_28")(x)++++c_when_case_32 x1 x2 x3 x4@Curry.Module.Prelude.C_True st = Curry.Module.Prelude.c_apply(x2)(x3)(st)+c_when_case_32 x1 x2 x3 x4@Curry.Module.Prelude.C_False st = x3+c_when_case_32 x1 x2 x3 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_when_case_32(x1)(x2)(x3)(x)(st))(i)(xs)(st)+c_when_case_32 x1 x2 x3 x st = Curry.RunTimeSystem.patternFail("Transform.when_case_32")(x)++++c_transType_case_34 x1 x2 x3@Curry.Module.Prelude.C_True st = Curry.Module.Prelude.op_36(Curry.Module.FlatCurryGoodies.c_updTypeName(Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_newModNameQ))(st))(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_updTypeConsDecls(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_map(Curry.Module.FlatCurryGoodies.c_updCons(Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_newModNameQ))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_id))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_id))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.Transform.c_rType(x1)))))(st))))(st))(x2)(st))(st)+c_transType_case_34 x1 x2 x3@Curry.Module.Prelude.C_False st = Curry.Module.Transform.c_transType_case_33(x2)(Curry.Module.Prelude.c_otherwise(st))(st)+c_transType_case_34 x1 x2 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transType_case_34(x1)(x2)(x)(st))(i)(xs)(st)+c_transType_case_34 x1 x2 x st = Curry.RunTimeSystem.patternFail("Transform.transType_case_34")(x)++++c_transType_case_33 x2 x3@Curry.Module.Prelude.C_True st = x2+c_transType_case_33 x2 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transType_case_33(x2)(x)(st))(i)(xs)(st)+c_transType_case_33 x2 x st = Curry.RunTimeSystem.patternFail("Transform.transType_case_33")(x)++++c_transProg'46fixDependence'4633_case_36 x1 x2 (Curry.Module.Prelude.T2 x3 x4) st = Curry.Module.Transform.c_transProg'46fixDependence'4633_case_35(x1)(x4)(x3)(st)+c_transProg'46fixDependence'4633_case_36 x1 x2 (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transProg'46fixDependence'4633_case_36(x1)(x2)(x)(st))(i)(xs)(st)+c_transProg'46fixDependence'4633_case_36 x1 x2 x st = Curry.RunTimeSystem.patternFail("Transform.transProg.fixDependence.33_case_36")(x)++++c_transProg'46fixDependence'4633_case_35 x1 x4 x3@Curry.Module.Prelude.List st = Curry.Module.Prelude.T2(x1)(x4)+c_transProg'46fixDependence'4633_case_35 x1 x4 x3@((Curry.Module.Prelude.:<) x5 x6) st = Curry.Module.Transform.c_transProg'46fixDependence'4633(Curry.Module.Prelude.op_43_43(x1)((Curry.Module.Prelude.:<)(x5)(x6))(st))(x4)(st)+c_transProg'46fixDependence'4633_case_35 x1 x4 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transProg'46fixDependence'4633_case_35(x1)(x4)(x)(st))(i)(xs)(st)+c_transProg'46fixDependence'4633_case_35 x1 x4 x st = Curry.RunTimeSystem.patternFail("Transform.transProg.fixDependence.33_case_35")(x)++++c_transform'46myObsolete'4610'46_'35lambda8_case_37 x1 x2 x3 x4 x5 x6 x7@Curry.Module.Prelude.C_True st = Curry.Module.Prelude.c_return(x6)(st)+c_transform'46myObsolete'4610'46_'35lambda8_case_37 x1 x2 x3 x4 x5 x6 x7@Curry.Module.Prelude.C_False st = Curry.Module.Prelude.op_62_62(Curry.Module.Make.c_unless(x5)(Curry.Module.Prelude.c_putStrLn(Curry.Module.Prelude.op_43_43(x2)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('b'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))(Curry.Module.Prelude.List)))))))))))))))))))))))(st))(st))(st))(Curry.Module.Prelude.op_62_62_61(Curry.Module.Transform.c_transform'46readTypes'4610((Curry.Module.Prelude.:<)(Curry.Module.Prelude.op_43_43(x4)(Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_addFcy(st))(x2)(st))(st))(Curry.Module.Prelude.List))(st))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_transform'46myObsolete'4610'46_'35lambda8'46_'35lambda9))(st))(st)+c_transform'46myObsolete'4610'46_'35lambda8_case_37 x1 x2 x3 x4 x5 x6 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transform'46myObsolete'4610'46_'35lambda8_case_37(x1)(x2)(x3)(x4)(x5)(x6)(x)(st))(i)(xs)(st)+c_transform'46myObsolete'4610'46_'35lambda8_case_37 x1 x2 x3 x4 x5 x6 x st = Curry.RunTimeSystem.patternFail("Transform.transform.myObsolete.10._#lambda8_case_37")(x)++++c_transform_case_38 x1 x3 x4 x2@Curry.Module.Prelude.C_True st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Transform.c_transform'46_'35lambda5)+c_transform_case_38 x1 x3 x4 x2@Curry.Module.Prelude.C_False st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Transform.c_transform'46myObsolete'4610(x1)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Make.c_obsolete(x3)(Curry.Module.Prelude.pf(Curry.Module.Transform.c_transform'46_'35lambda7(x4)))((Curry.Module.Prelude.:<)(Curry.Module.Wrapper.c_addFcy(st))(Curry.Module.Prelude.List))(Curry.Module.Prelude.pf(Curry.Module.Transform.c_transform'46readTypes'4610))))(x4)(x3))+c_transform_case_38 x1 x3 x4 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Transform.c_transform_case_38(x1)(x3)(x4)(x)(st))(i)(xs)(st)+c_transform_case_38 x1 x3 x4 x st = Curry.RunTimeSystem.patternFail("Transform.transform_case_38")(x)++
+ dist/build/prophecy/prophecy-tmp/Curry/Module/Wrapper.hs view
@@ -0,0 +1,402 @@+{-# OPTIONS -cpp #-}++{-# LANGUAGE RankNTypes, ScopedTypeVariables, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances #-}++module Curry.Module.Wrapper (module Curry.Module.Wrapper) where++import Curry.RunTimeSystem+import Curry.Module.FileGoodies+import Curry.Module.FlatCurry+import Curry.Module.Prelude++++-- begin included++++-- end included++c_prelude :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char+c_prelude st = (Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('P'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))(Curry.Module.Prelude.List)))))))++++c_eventMod :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char+c_eventMod st = (Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('C'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('E'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('v'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('O'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))(Curry.Module.Prelude.List))))))))))))++++c_oracle :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char+c_oracle st = (Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('O'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))(Curry.Module.Prelude.List))))))++++c_ioexts :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char+c_ioexts st = (Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('I'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('O'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('E'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('x'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))(Curry.Module.Prelude.List))))))++++c_newModName :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char+c_newModName x1 st = let {x2 = Curry.Module.FileGoodies.c_splitDirectoryBaseName(x1)(st)} in let {x3 = Curry.Module.Wrapper.c_newModName'46_'35selFP3'35d(x2)(st)} in Curry.Module.Prelude.op_43_43(Curry.Module.Wrapper.c_newModName_case_12(x3)(st))(Curry.Module.Prelude.op_43_43(Curry.Module.Wrapper.c_oracle(st))(Curry.Module.Wrapper.c_newModName'46_'35selFP4'35f(x2)(st))(st))(st)++++c_newModName'46_'35selFP3'35d :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char+c_newModName'46_'35selFP3'35d x1@(Curry.Module.Prelude.T2 x2 x3) st = x2+c_newModName'46_'35selFP3'35d (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_newModName'46_'35selFP3'35d(x)(st))(i)(xs)(st)+c_newModName'46_'35selFP3'35d x st = Curry.RunTimeSystem.patternFail("Wrapper.newModName._#selFP3#d")(x)++++c_newModName'46_'35selFP4'35f :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char+c_newModName'46_'35selFP4'35f x1@(Curry.Module.Prelude.T2 x2 x3) st = x3+c_newModName'46_'35selFP4'35f (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_newModName'46_'35selFP4'35f(x)(st))(i)(xs)(st)+c_newModName'46_'35selFP4'35f x st = Curry.RunTimeSystem.patternFail("Wrapper.newModName._#selFP4#f")(x)++++c_newModNameQ :: (Curry t0) => (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t0) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) t0+c_newModNameQ x1@(Curry.Module.Prelude.T2 x2 x3) st = Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_newModName(x2)(st))(x3)+c_newModNameQ (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_newModNameQ(x)(st))(i)(xs)(st)+c_newModNameQ x st = Curry.RunTimeSystem.patternFail("Wrapper.newModNameQ")(x)++++c_tRef :: Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_TypeExpr+c_tRef st = Curry.Module.FlatCurry.C_TCons(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_eventMod(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('R'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))(Curry.Module.Prelude.List)))))(Curry.Module.Prelude.List)++++c_tR :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_TypeExpr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_TypeExpr)+c_tR st = Curry.Module.Prelude.pc(Curry.Module.FlatCurry.C_FuncType(Curry.Module.Wrapper.c_tRef(st)))++++c_lET :: (Curry.Module.Prelude.List (Curry.Module.Prelude.T2 Curry.Module.Prelude.C_Int Curry.Module.FlatCurry.C_Expr)) -> Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_lET x1 x2 st = Curry.Module.Wrapper.c_lET_case_9(x1)(x2)(Curry.Module.Prelude.c_null(x1)(st))(st)++++c_ref :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Int+c_ref st = Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi)++++c_flatFunc :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr))+c_flatFunc st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pc))(Curry.Module.FlatCurry.C_Comb(Curry.Module.FlatCurry.C_FuncCall))++++c_flatCons :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr))+c_flatCons st = Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pc))(Curry.Module.FlatCurry.C_Comb(Curry.Module.FlatCurry.C_ConsCall))++++c_func :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr)+c_func x1 st = Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_flatFunc(st))(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_eventMod(st))(x1))(st)++++c_list :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr)+c_list st = Curry.Module.Prelude.pf(Curry.Module.Prelude.c_foldr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Wrapper.c_colon))(Curry.Module.Wrapper.c_nil(st)))++++c_char :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Char -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr)+c_char st = Curry.Module.Prelude.op_46(Curry.Module.Prelude.pc(Curry.Module.FlatCurry.C_Lit))(Curry.Module.Prelude.pc(Curry.Module.FlatCurry.C_Charc))(st)++++c_string :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr)+c_string st = Curry.Module.Prelude.op_46(Curry.Module.Wrapper.c_list(st))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_map(Curry.Module.Wrapper.c_char(st))))(st)++++c_nil :: Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_nil st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_flatCons(st))(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_prelude(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('['))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(']'))(Curry.Module.Prelude.List))))(st))(Curry.Module.Prelude.List)(st)++++c_colon :: Curry.Module.FlatCurry.C_Expr -> Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_colon x1 x2 st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_flatCons(st))(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_prelude(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(':'))(Curry.Module.Prelude.List)))(st))((Curry.Module.Prelude.:<)(x1)((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List)))(st)++++c_run :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_run x1 x2 st = Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_func((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))(Curry.Module.Prelude.List))))(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_string(st))(x1)(st))((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List)))(st)++++c_event :: (Curry t0) => (Curry.Module.Prelude.List t0) -> Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_event x1@Curry.Module.Prelude.List x2 x3 x4 st = Curry.Module.Wrapper.c_unfold(x2)(x3)(x4)(st)+c_event x1@((Curry.Module.Prelude.:<) x5 x6) x2 x3 x4 st = Curry.Module.Wrapper.c_collapse(x2)(x4)(st)+c_event (Curry.Module.Prelude.ListOr i xs) x2 x3 x4 st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_event(x)(x2)(x3)(x4)(st))(i)(xs)(st)+c_event x x2 x3 x4 st = Curry.RunTimeSystem.patternFail("Wrapper.event")(x)++++c_collapse :: Curry.Module.Prelude.C_Int -> Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_collapse x1 x2 st = Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_func((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))(Curry.Module.Prelude.List)))))))))(st))((Curry.Module.Prelude.:<)(Curry.Module.FlatCurry.C_Var(x1))((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List)))(st)++++c_closeRef :: Curry.Module.Prelude.C_Int -> Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_closeRef x1 x2 st = Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_func((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('R'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))(Curry.Module.Prelude.List)))))))))(st))((Curry.Module.Prelude.:<)(Curry.Module.FlatCurry.C_Var(x1))((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List)))(st)++++c_extIO :: Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_extIO x1 st = Curry.Module.Wrapper.c_listFunc(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_I(Curry.Module.Prelude.C_IHi)))(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_oracle(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('m'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('b'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('_'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('w'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))(Curry.Module.Prelude.List))))))))))))))((Curry.Module.Prelude.:<)(x1)(Curry.Module.Prelude.List))(st)++++c_unfold :: Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_unfold x1 x2 x3 st = Curry.Module.Wrapper.c_unfold_case_8(x1)(x2)(x3)(Curry.Module.Prelude.c_null(x2)(st))(st)++++c_replace :: Curry.Module.Prelude.C_Int -> Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_replace x1 x2 st = Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_func((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))(Curry.Module.Prelude.List))))))))(st))((Curry.Module.Prelude.:<)(Curry.Module.FlatCurry.C_Var(x1))((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List)))(st)++++c_expand :: Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Int) -> Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_expand x1 x2 x3 st = Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_func((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('x'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))(Curry.Module.Prelude.List)))))))(st))((Curry.Module.Prelude.:<)(Curry.Module.FlatCurry.C_Var(x1))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_list(st))(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pc(Curry.Module.FlatCurry.C_Var))(x2)(st))(st))((Curry.Module.Prelude.:<)(x3)(Curry.Module.Prelude.List))))(st)++++c_fresh :: Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_fresh st = Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_func((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('h'))(Curry.Module.Prelude.List))))))(st))((Curry.Module.Prelude.:<)(Curry.Module.Wrapper.c_unit(st))(Curry.Module.Prelude.List))(st)++++c_unit :: Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_unit st = Curry.Module.FlatCurry.C_Comb(Curry.Module.FlatCurry.C_ConsCall)(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_prelude(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('('))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char(')'))(Curry.Module.Prelude.List))))(Curry.Module.Prelude.List)++++c_apply :: Curry.Module.FlatCurry.C_Expr -> Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_apply x1@(Curry.Module.FlatCurry.C_Comb x3 x4 x5) x2 st = Curry.Module.Wrapper.c_apply_case_7(x1)(x2)(x4)(x5)(x3)(st)+c_apply x1@(Curry.Module.FlatCurry.C_Var x8) x2 st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_flatFunc(st))(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_prelude(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))(Curry.Module.Prelude.List)))))))(st))((Curry.Module.Prelude.:<)(x1)((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List)))(st)+c_apply x1@(Curry.Module.FlatCurry.C_Lit x9) x2 st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_flatFunc(st))(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_prelude(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))(Curry.Module.Prelude.List)))))))(st))((Curry.Module.Prelude.:<)(x1)((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List)))(st)+c_apply x1@(Curry.Module.FlatCurry.C_Let x10 x11) x2 st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_flatFunc(st))(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_prelude(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))(Curry.Module.Prelude.List)))))))(st))((Curry.Module.Prelude.:<)(x1)((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List)))(st)+c_apply x1@(Curry.Module.FlatCurry.C_Free x12 x13) x2 st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_flatFunc(st))(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_prelude(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))(Curry.Module.Prelude.List)))))))(st))((Curry.Module.Prelude.:<)(x1)((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List)))(st)+c_apply x1@(Curry.Module.FlatCurry.C_Or x14 x15) x2 st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_flatFunc(st))(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_prelude(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))(Curry.Module.Prelude.List)))))))(st))((Curry.Module.Prelude.:<)(x1)((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List)))(st)+c_apply x1@(Curry.Module.FlatCurry.C_Case x16 x17 x18) x2 st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_flatFunc(st))(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_prelude(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))(Curry.Module.Prelude.List)))))))(st))((Curry.Module.Prelude.:<)(x1)((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List)))(st)+c_apply (Curry.Module.FlatCurry.C_ExprOr i xs) x2 st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_apply(x)(x2)(st))(i)(xs)(st)+c_apply x x2 st = Curry.RunTimeSystem.patternFail("Wrapper.apply")(x)++++c_listFunc :: Curry.Module.Prelude.C_Int -> (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_listFunc x1 x2 x3 st = let {x4 = Curry.Module.Prelude.op_45(x1)(Curry.Module.Prelude.c_length(x3)(st))(st)} in Curry.Module.Wrapper.c_listFunc_case_4(x2)(x3)(x4)(Curry.Module.Prelude.op_61_61(x4)(Curry.Module.Prelude.C_Zero)(st))(st)++++c_compose :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr)+c_compose st = Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_listFunc(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_I(Curry.Module.Prelude.C_IHi)))(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_oracle(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('m'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))(Curry.Module.Prelude.List))))))))))++++c_unknown :: Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_unknown x1 st = Curry.Module.Wrapper.c_listFunc(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_oracle(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('k'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('w'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))(Curry.Module.Prelude.List)))))))))((Curry.Module.Prelude.:<)(x1)(Curry.Module.Prelude.List))(st)++++c_oracleTry :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_oracleTry x1 x2 st = let {x3 = Curry.Module.Prelude.c_splitAt(Curry.Module.Prelude.op_45(Curry.Module.Prelude.c_length(x2)(st))(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_IHi)))(st))(x2)(st)} in Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_func((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('T'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))(Curry.Module.Prelude.List))))))))))(st))((Curry.Module.Prelude.:<)(Curry.Module.FlatCurry.C_Comb(Curry.Module.FlatCurry.C_FuncPartCall(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_IHi))))(x1)(Curry.Module.Wrapper.c_oracleTry'46_'35selFP6'35argsf(x3)(st)))(Curry.Module.Wrapper.c_oracleTry'46_'35selFP7'35argst(x3)(st)))(st)++++c_oracleTry'46_'35selFP6'35argsf :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr+c_oracleTry'46_'35selFP6'35argsf x1@(Curry.Module.Prelude.T2 x2 x3) st = x2+c_oracleTry'46_'35selFP6'35argsf (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_oracleTry'46_'35selFP6'35argsf(x)(st))(i)(xs)(st)+c_oracleTry'46_'35selFP6'35argsf x st = Curry.RunTimeSystem.patternFail("Wrapper.oracleTry._#selFP6#argsf")(x)++++c_oracleTry'46_'35selFP7'35argst :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) (Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr+c_oracleTry'46_'35selFP7'35argst x1@(Curry.Module.Prelude.T2 x2 x3) st = x3+c_oracleTry'46_'35selFP7'35argst (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_oracleTry'46_'35selFP7'35argst(x)(st))(i)(xs)(st)+c_oracleTry'46_'35selFP7'35argst x st = Curry.RunTimeSystem.patternFail("Wrapper.oracleTry._#selFP7#argst")(x)++++c_partCons :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr))+c_partCons st = Curry.Module.Prelude.op_46(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Wrapper.c_apply))(Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_partial(Curry.Module.Wrapper.c_pc(st))))(st)++++c_partFunc :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr))+c_partFunc st = Curry.Module.Prelude.op_46(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Wrapper.c_apply))(Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_partial(Curry.Module.Wrapper.c_pf(st))))(st)++++c_pc :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr)+c_pc st = Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_listFunc(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_I(Curry.Module.Prelude.C_IHi)))(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_oracle(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('C'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))(Curry.Module.Prelude.List)))))))))))++++c_pf :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr)+c_pf st = Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_listFunc(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_I(Curry.Module.Prelude.C_IHi)))(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_oracle(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('F'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))(Curry.Module.Prelude.List)))))))))))++++c_partCall :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr)+c_partCall st = Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_listFunc(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_IHi)))(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_oracle(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('C'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))(Curry.Module.Prelude.List)))))))))))++++c_partial :: (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr)) -> Curry.Module.Prelude.C_Int -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_partial x1 x2 st = Curry.Module.Prelude.op_36(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_foldr1(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Wrapper.c_partial'46_'35lambda4))))(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_partial'46_'35lambda5))))(st))(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_reverse(st))(Curry.Module.Prelude.c_zip(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_reverse(st))(Curry.Module.Prelude.c_enumFromTo(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(x2)(st))(st))((Curry.Module.Prelude.:<)(x1)(Curry.Module.Prelude.c_repeat(Curry.Module.Wrapper.c_partCall(st))(st)))(st))(st))(st)++++c_partial'46_'35lambda4 :: Curry.Module.FlatCurry.C_Expr -> Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_partial'46_'35lambda4 x1 x2 st = Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_compose(st))((Curry.Module.Prelude.:<)(x1)((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List)))(st)++++c_partial'46_'35lambda5 :: (Curry.Module.Prelude.T2 Curry.Module.Prelude.C_Int (Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr))) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_partial'46_'35lambda5 x1@(Curry.Module.Prelude.T2 x2 x3) st = Curry.Module.Wrapper.c_dotted(Curry.Module.Prelude.op_45(x2)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(Curry.Module.Prelude.c_apply(x3)(Curry.Module.Prelude.List)(st))(st)+c_partial'46_'35lambda5 (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_partial'46_'35lambda5(x)(st))(i)(xs)(st)+c_partial'46_'35lambda5 x st = Curry.RunTimeSystem.patternFail("Wrapper.partial._#lambda5")(x)++++c_dotted :: Curry.Module.Prelude.C_Int -> Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_dotted x1 x2 st = Curry.Module.Wrapper.c_dotted_case_2(x1)(x2)(Curry.Module.Prelude.op_61_61(x1)(Curry.Module.Prelude.C_Zero)(st))(st)++++c_inOraclePartCall :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.FlatCurry.C_Expr) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr)+c_inOraclePartCall x1 st = Curry.Module.Prelude.pf(Curry.Module.Wrapper.c_listFunc(Curry.Module.Wrapper.c_arityInOracle(x1)(st))(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_oracle(st))(x1)))++++c_errorCall :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_errorCall x1 st = Curry.Module.FlatCurry.C_Comb(Curry.Module.FlatCurry.C_FuncCall)(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_prelude(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))(Curry.Module.Prelude.List)))))))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_string(st))(x1)(st))(Curry.Module.Prelude.List))++++c_safeIOResult :: Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr+c_safeIOResult x1 st = Curry.Module.Wrapper.c_listFunc(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_oracle(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('I'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('O'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('R'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))(Curry.Module.Prelude.List))))))))))))))((Curry.Module.Prelude.:<)(x1)(Curry.Module.Prelude.List))(st)++++c_specialIOs :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.List (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char))+c_specialIOs st = Curry.Module.Prelude.c_zip(Curry.Module.Prelude.c_repeat(Curry.Module.Wrapper.c_prelude(st))(st))((Curry.Module.Prelude.:<)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))(Curry.Module.Prelude.List)))))))((Curry.Module.Prelude.:<)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('h'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('F'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))(Curry.Module.Prelude.List))))))))))((Curry.Module.Prelude.:<)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('g'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('S'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('h'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('T'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))(Curry.Module.Prelude.List))))))))))))))(Curry.Module.Prelude.List))))(st)++++c_implementedInOracle :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.List (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char))+c_implementedInOracle st = (Curry.Module.Prelude.:<)(Curry.Module.Prelude.T2((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('U'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))(Curry.Module.Prelude.List)))))))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('m'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('_'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('P'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('m'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('I'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('O'))(Curry.Module.Prelude.List))))))))))))))))))))))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.T2((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('M'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))(Curry.Module.Prelude.List)))))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('h'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('d'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('N'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('m'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('F'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('m'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('I'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('O'))(Curry.Module.Prelude.List))))))))))))))))))(Curry.Module.Prelude.c_zip(Curry.Module.Prelude.c_repeat(Curry.Module.Wrapper.c_prelude(st))(st))((Curry.Module.Prelude.:<)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))(Curry.Module.Prelude.List))))))((Curry.Module.Prelude.:<)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('$'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('!'))(Curry.Module.Prelude.List)))((Curry.Module.Prelude.:<)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('$'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('!'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('!'))(Curry.Module.Prelude.List))))((Curry.Module.Prelude.:<)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('$'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('#'))(Curry.Module.Prelude.List)))((Curry.Module.Prelude.:<)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('$'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('#'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('#'))(Curry.Module.Prelude.List))))((Curry.Module.Prelude.:<)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('>'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('>'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('='))(Curry.Module.Prelude.List))))((Curry.Module.Prelude.:<)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('h'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('F'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))(Curry.Module.Prelude.List))))))))))(Curry.Module.Prelude.List))))))))(st)))++++c_arityInOracle :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Int+c_arityInOracle x1 st = Curry.Module.Wrapper.c_arityInOracle_case_0(x1)(Curry.Module.Prelude.op_61_61(x1)((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('i'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('m'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('_'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('u'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('n'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('s'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('P'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('r'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('m'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('I'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('O'))(Curry.Module.Prelude.List)))))))))))))))))))))(st))(st)++++c_addOrc :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> (Curry.Module.Prelude.C_Maybe (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)) -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char+c_addOrc x1 x2 x3 st = Curry.Module.Prelude.op_43_43(Curry.Module.Prelude.c_maybe(x1)(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_id))(x2)(st))(Curry.Module.Wrapper.c_newModName(x3)(st))(st)++++c_addFcy :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim ((Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char)+c_addFcy st = Curry.Module.Prelude.pf(Curry.Module.Prelude.c_flip(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.Prelude.op_43_43))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('.'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('f'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('c'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))(Curry.Module.Prelude.List))))))++++c_arityInOracle_case_0 x1 x2@Curry.Module.Prelude.C_True st = Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_O(Curry.Module.Prelude.C_IHi))+c_arityInOracle_case_0 x1 x2@Curry.Module.Prelude.C_False st = Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_I(Curry.Module.Prelude.C_IHi))+c_arityInOracle_case_0 x1 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_arityInOracle_case_0(x1)(x)(st))(i)(xs)(st)+c_arityInOracle_case_0 x1 x st = Curry.RunTimeSystem.patternFail("Wrapper.arityInOracle_case_0")(x)++++c_dotted_case_2 x1 x2 x3@Curry.Module.Prelude.C_True st = x2+c_dotted_case_2 x1 x2 x3@Curry.Module.Prelude.C_False st = Curry.Module.Wrapper.c_dotted_case_1(x1)(x2)(Curry.Module.Prelude.c_otherwise(st))(st)+c_dotted_case_2 x1 x2 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_dotted_case_2(x1)(x2)(x)(st))(i)(xs)(st)+c_dotted_case_2 x1 x2 x st = Curry.RunTimeSystem.patternFail("Wrapper.dotted_case_2")(x)++++c_dotted_case_1 x1 x2 x3@Curry.Module.Prelude.C_True st = Curry.Module.Wrapper.c_dotted(Curry.Module.Prelude.op_45(x1)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_compose(st))((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List))(st))(st)+c_dotted_case_1 x1 x2 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_dotted_case_1(x1)(x2)(x)(st))(i)(xs)(st)+c_dotted_case_1 x1 x2 x st = Curry.RunTimeSystem.patternFail("Wrapper.dotted_case_1")(x)++++c_listFunc_case_4 x2 x3 x4 x5@Curry.Module.Prelude.C_True st = Curry.Module.FlatCurry.C_Comb(Curry.Module.FlatCurry.C_FuncCall)(x2)(x3)+c_listFunc_case_4 x2 x3 x4 x5@Curry.Module.Prelude.C_False st = Curry.Module.Wrapper.c_listFunc_case_3(x2)(x3)(x4)(Curry.Module.Prelude.c_otherwise(st))(st)+c_listFunc_case_4 x2 x3 x4 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_listFunc_case_4(x2)(x3)(x4)(x)(st))(i)(xs)(st)+c_listFunc_case_4 x2 x3 x4 x st = Curry.RunTimeSystem.patternFail("Wrapper.listFunc_case_4")(x)++++c_listFunc_case_3 x2 x3 x4 x5@Curry.Module.Prelude.C_True st = Curry.Module.FlatCurry.C_Comb(Curry.Module.FlatCurry.C_FuncPartCall(x4))(x2)(x3)+c_listFunc_case_3 x2 x3 x4 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_listFunc_case_3(x2)(x3)(x4)(x)(st))(i)(xs)(st)+c_listFunc_case_3 x2 x3 x4 x st = Curry.RunTimeSystem.patternFail("Wrapper.listFunc_case_3")(x)++++c_apply_case_7 x1 x2 x4 x5 x3@(Curry.Module.FlatCurry.C_FuncPartCall x6) st = Curry.Module.Wrapper.c_apply_case_6(x2)(x4)(x5)(x6)(Curry.Module.Prelude.op_61_61(x6)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(st)+c_apply_case_7 x1 x2 x4 x5 x3@(Curry.Module.FlatCurry.C_ConsPartCall x7) st = Curry.Module.Wrapper.c_apply_case_5(x2)(x4)(x5)(x7)(Curry.Module.Prelude.op_61_61(x7)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(st)+c_apply_case_7 x1 x2 x4 x5 x3@Curry.Module.FlatCurry.C_FuncCall st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_flatFunc(st))(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_prelude(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))(Curry.Module.Prelude.List)))))))(st))((Curry.Module.Prelude.:<)(x1)((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List)))(st)+c_apply_case_7 x1 x2 x4 x5 x3@Curry.Module.FlatCurry.C_ConsCall st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.Wrapper.c_flatFunc(st))(Curry.Module.Prelude.T2(Curry.Module.Wrapper.c_prelude(st))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('a'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('p'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))(Curry.Module.Prelude.List)))))))(st))((Curry.Module.Prelude.:<)(x1)((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List)))(st)+c_apply_case_7 x1 x2 x4 x5 (Curry.Module.FlatCurry.C_CombTypeOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_apply_case_7(x1)(x2)(x4)(x5)(x)(st))(i)(xs)(st)+c_apply_case_7 x1 x2 x4 x5 x st = Curry.RunTimeSystem.patternFail("Wrapper.apply_case_7")(x)++++c_apply_case_5 x2 x4 x5 x7 x8@Curry.Module.Prelude.C_True st = Curry.Module.FlatCurry.C_Comb(Curry.Module.FlatCurry.C_ConsCall)(x4)(Curry.Module.Prelude.op_43_43(x5)((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List))(st))+c_apply_case_5 x2 x4 x5 x7 x8@Curry.Module.Prelude.C_False st = Curry.Module.FlatCurry.C_Comb(Curry.Module.FlatCurry.C_ConsPartCall(Curry.Module.Prelude.op_45(x7)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st)))(x4)(Curry.Module.Prelude.op_43_43(x5)((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List))(st))+c_apply_case_5 x2 x4 x5 x7 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_apply_case_5(x2)(x4)(x5)(x7)(x)(st))(i)(xs)(st)+c_apply_case_5 x2 x4 x5 x7 x st = Curry.RunTimeSystem.patternFail("Wrapper.apply_case_5")(x)++++c_apply_case_6 x2 x4 x5 x6 x7@Curry.Module.Prelude.C_True st = Curry.Module.FlatCurry.C_Comb(Curry.Module.FlatCurry.C_FuncCall)(x4)(Curry.Module.Prelude.op_43_43(x5)((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List))(st))+c_apply_case_6 x2 x4 x5 x6 x7@Curry.Module.Prelude.C_False st = Curry.Module.FlatCurry.C_Comb(Curry.Module.FlatCurry.C_FuncPartCall(Curry.Module.Prelude.op_45(x6)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st)))(x4)(Curry.Module.Prelude.op_43_43(x5)((Curry.Module.Prelude.:<)(x2)(Curry.Module.Prelude.List))(st))+c_apply_case_6 x2 x4 x5 x6 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_apply_case_6(x2)(x4)(x5)(x6)(x)(st))(i)(xs)(st)+c_apply_case_6 x2 x4 x5 x6 x st = Curry.RunTimeSystem.patternFail("Wrapper.apply_case_6")(x)++++c_unfold_case_8 x1 x2 x3 x4@Curry.Module.Prelude.C_True st = Curry.Module.Wrapper.c_replace(x1)(x3)(st)+c_unfold_case_8 x1 x2 x3 x4@Curry.Module.Prelude.C_False st = Curry.Module.Wrapper.c_lET(Curry.Module.Prelude.c_zip(x2)(Curry.Module.Prelude.c_repeat(Curry.Module.Wrapper.c_fresh(st))(st))(st))(Curry.Module.Wrapper.c_expand(x1)(x2)(x3)(st))(st)+c_unfold_case_8 x1 x2 x3 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_unfold_case_8(x1)(x2)(x3)(x)(st))(i)(xs)(st)+c_unfold_case_8 x1 x2 x3 x st = Curry.RunTimeSystem.patternFail("Wrapper.unfold_case_8")(x)++++c_lET_case_9 x1 x2 x3@Curry.Module.Prelude.C_True st = x2+c_lET_case_9 x1 x2 x3@Curry.Module.Prelude.C_False st = Curry.Module.FlatCurry.C_Let(x1)(x2)+c_lET_case_9 x1 x2 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_lET_case_9(x1)(x2)(x)(st))(i)(xs)(st)+c_lET_case_9 x1 x2 x st = Curry.RunTimeSystem.patternFail("Wrapper.lET_case_9")(x)++++c_newModName_case_12 x3@((Curry.Module.Prelude.:<) x5 x6) st = Curry.Module.Wrapper.c_newModName_case_11(x3)(x5)(x6)(Curry.Module.Prelude.op_61_61(x5)(Curry.Module.Prelude.C_Char('.'))(st))(st)+c_newModName_case_12 x3@Curry.Module.Prelude.List st = Curry.Module.Prelude.op_43_43(x3)((Curry.Module.Prelude.:<)(Curry.Module.FileGoodies.c_separatorChar(st))(Curry.Module.Prelude.List))(st)+c_newModName_case_12 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_newModName_case_12(x)(st))(i)(xs)(st)+c_newModName_case_12 x st = Curry.RunTimeSystem.patternFail("Wrapper.newModName_case_12")(x)++++c_newModName_case_11 x3 x5 x6 x7@Curry.Module.Prelude.C_True st = Curry.Module.Wrapper.c_newModName_case_10(x3)(x6)(st)+c_newModName_case_11 x3 x5 x6 x7@Curry.Module.Prelude.C_False st = Curry.Module.Prelude.op_43_43(x3)((Curry.Module.Prelude.:<)(Curry.Module.FileGoodies.c_separatorChar(st))(Curry.Module.Prelude.List))(st)+c_newModName_case_11 x3 x5 x6 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_newModName_case_11(x3)(x5)(x6)(x)(st))(i)(xs)(st)+c_newModName_case_11 x3 x5 x6 x st = Curry.RunTimeSystem.patternFail("Wrapper.newModName_case_11")(x)++++c_newModName_case_10 x3 x6@Curry.Module.Prelude.List st = Curry.Module.Prelude.List+c_newModName_case_10 x3 x6@((Curry.Module.Prelude.:<) x7 x8) st = Curry.Module.Prelude.op_43_43(x3)((Curry.Module.Prelude.:<)(Curry.Module.FileGoodies.c_separatorChar(st))(Curry.Module.Prelude.List))(st)+c_newModName_case_10 x3 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.Wrapper.c_newModName_case_10(x3)(x)(st))(i)(xs)(st)+c_newModName_case_10 x3 x st = Curry.RunTimeSystem.patternFail("Wrapper.newModName_case_10")(x)++