packages feed

KiCS-debugger-0.1.0: dist/build/mkstrict/mkstrict-tmp/Curry/Module/ExternalStubs.hs

{-# OPTIONS -cpp #-}

{-# LANGUAGE RankNTypes, ScopedTypeVariables, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances #-}

module Curry.Module.ExternalStubs (module Curry.Module.ExternalStubs) where

import Curry.RunTimeSystem
import Curry.Module.AbstractCurry
import Curry.Module.AbstractHaskell
import Curry.Module.FlatCurry
import Curry.Module.FlatCurryGoodies
import Curry.Module.FlatToAbstractCurry
import Curry.Module.IO
import Curry.Module.Prelude
import Curry.Module.TransformationDebugInfo
import Curry.Module.TransformationPrint
import Curry.Module.TransformationSignatures
import Curry.Module.System



-- begin included



-- end included

c_stubsInfo :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.Prelude.C_Char
c_stubsInfo 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(' '))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('A'))((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('o'))((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('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('s'))((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('b'))((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('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(' '))((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('e'))((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('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('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.:<)(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('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('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('t'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('y'))((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('s'))((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(' '))((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('m'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('o'))((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(' '))((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('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('m'))((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(' '))((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('s'))((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('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(' '))((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('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.:<)(Curry.Module.Prelude.C_Char('}'))(Curry.Module.Prelude.List))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))



c_containsExt :: Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_Bool
c_containsExt x1@(Curry.Module.FlatCurry.C_Prog x2 x3 x4 x5 x6) st = Curry.Module.Prelude.op_124_124(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_any(Curry.Module.FlatCurryGoodies.c_isExternal(st))(st))(x5)(st))(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_any(Curry.Module.Prelude.op_46(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_null))(Curry.Module.FlatCurryGoodies.c_typeConsDecls(st))(st))(st))(x4)(st))(st)
c_containsExt (Curry.Module.FlatCurry.C_ProgOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.ExternalStubs.c_containsExt(x)(st))(i)(xs)(st)
c_containsExt x st = Curry.RunTimeSystem.patternFail("ExternalStubs.containsExt")(x)



c_mkStubs :: Curry.RunTimeSystem.State -> Curry.Module.Prelude.Prim (Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.AbstractHaskell.C_HaskellProg)
c_mkStubs st = Curry.Module.Prelude.op_36(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(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.ExternalStubs.c_mkStubs'39))))(Curry.Module.TransformationDebugInfo.c_higherOrderTypes(st))(st)



c_writeStubs :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.FlatCurry.C_Prog -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0
c_writeStubs x1 x2 st = Curry.Module.Prelude.op_62_62(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.TransformationPrint.c_prettyacy(x1)))(Curry.Module.Prelude.op_36(Curry.Module.ExternalStubs.c_mkStubs(st))(Curry.Module.Prelude.c_apply(Curry.Module.FlatCurryGoodies.c_updQNamesInProg(Curry.Module.Prelude.pf(Curry.Module.TransformationDebugInfo.c_renameModule))(st))(x2)(st))(st))(st))(Curry.Module.ExternalStubs.c_clean(x1)(st))(st)



c_mkStubs'39 :: Curry.Module.FlatCurry.C_Prog -> (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.AbstractHaskell.C_HaskellProg
c_mkStubs'39 x1@(Curry.Module.FlatCurry.C_Prog x3 x4 x5 x6 x7) x2 st = let {x10 = Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.Prelude.c_unzip))(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_concatMap(Curry.Module.Prelude.pf(Curry.Module.ExternalStubs.c_handleType))(st))(x5)(st))(st)} in Curry.Module.AbstractHaskell.C_HaskellProg(Curry.Module.Prelude.op_43_43(Curry.Module.TransformationDebugInfo.c_modulePrefix(st))(x3)(st))(Curry.Module.Prelude.List)(Curry.Module.Prelude.List)(Curry.Module.Prelude.List)(Curry.Module.ExternalStubs.c_mkStubs'39'46_'35selFP3'35types'39(x10)(st))(Curry.Module.ExternalStubs.c_mkStubs'39'46_'35selFP4'35insts(x10)(st))(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_concatMap(Curry.Module.Prelude.pf(Curry.Module.ExternalStubs.c_mkStubs'39'46_'35lambda2(x2)))(st))(x6)(st))(Curry.Module.Prelude.List)
c_mkStubs'39 (Curry.Module.FlatCurry.C_ProgOr i xs) x2 st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.ExternalStubs.c_mkStubs'39(x)(x2)(st))(i)(xs)(st)
c_mkStubs'39 x x2 st = Curry.RunTimeSystem.patternFail("ExternalStubs.mkStubs'")(x)



c_mkStubs'39'46_'35lambda2 :: (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.FlatCurry.C_FuncDecl -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.AbstractHaskell.C_HFuncDecl
c_mkStubs'39'46_'35lambda2 x1 x2 st = Curry.Module.ExternalStubs.c_mkStub(x2)(x1)(st)



c_mkStubs'39'46_'35selFP3'35types'39 :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.AbstractHaskell.C_HTypeDecl) (Curry.Module.Prelude.List Curry.Module.AbstractHaskell.C_InstanceDecl)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.AbstractHaskell.C_HTypeDecl
c_mkStubs'39'46_'35selFP3'35types'39 x1@(Curry.Module.Prelude.T2 x2 x3) st = x2
c_mkStubs'39'46_'35selFP3'35types'39 (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.ExternalStubs.c_mkStubs'39'46_'35selFP3'35types'39(x)(st))(i)(xs)(st)
c_mkStubs'39'46_'35selFP3'35types'39 x st = Curry.RunTimeSystem.patternFail("ExternalStubs.mkStubs'._#selFP3#types'")(x)



c_mkStubs'39'46_'35selFP4'35insts :: (Curry.Module.Prelude.T2 (Curry.Module.Prelude.List Curry.Module.AbstractHaskell.C_HTypeDecl) (Curry.Module.Prelude.List Curry.Module.AbstractHaskell.C_InstanceDecl)) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List Curry.Module.AbstractHaskell.C_InstanceDecl
c_mkStubs'39'46_'35selFP4'35insts x1@(Curry.Module.Prelude.T2 x2 x3) st = x3
c_mkStubs'39'46_'35selFP4'35insts (Curry.Module.Prelude.T2Or i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.ExternalStubs.c_mkStubs'39'46_'35selFP4'35insts(x)(st))(i)(xs)(st)
c_mkStubs'39'46_'35selFP4'35insts x st = Curry.RunTimeSystem.patternFail("ExternalStubs.mkStubs'._#selFP4#insts")(x)



c_mkStub :: Curry.Module.FlatCurry.C_FuncDecl -> (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.List Curry.Module.AbstractHaskell.C_HFuncDecl
c_mkStub x1@(Curry.Module.FlatCurry.C_Func x3 x4 x5 x6 x7) x2 st = Curry.Module.ExternalStubs.c_mkStub_case_4(x1)(x2)(x3)(x4)(x6)(x7)(st)
c_mkStub (Curry.Module.FlatCurry.C_FuncDeclOr i xs) x2 st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.ExternalStubs.c_mkStub(x)(x2)(st))(i)(xs)(st)
c_mkStub x x2 st = Curry.RunTimeSystem.patternFail("ExternalStubs.mkStub")(x)



c_handleType :: Curry.Module.FlatCurry.C_TypeDecl -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.List (Curry.Module.Prelude.T2 Curry.Module.AbstractHaskell.C_HTypeDecl Curry.Module.AbstractHaskell.C_InstanceDecl)
c_handleType x1@(Curry.Module.FlatCurry.C_TypeSyn x2 x3 x4 x5) st = Curry.Module.Prelude.List
c_handleType x1@(Curry.Module.FlatCurry.C_Type x6 x7 x8 x9) st = Curry.Module.ExternalStubs.c_handleType_case_2(x1)(x9)(st)
c_handleType (Curry.Module.FlatCurry.C_TypeDeclOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.ExternalStubs.c_handleType(x)(st))(i)(xs)(st)
c_handleType x st = Curry.RunTimeSystem.patternFail("ExternalStubs.handleType")(x)



c_mkType :: Curry.Module.FlatCurry.C_TypeDecl -> Curry.RunTimeSystem.State -> Curry.Module.AbstractHaskell.C_HTypeDecl
c_mkType x1@(Curry.Module.FlatCurry.C_Type x2 x3 x4 x5) st = let {x6 = Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.FlatToAbstractCurry.c_convertTypeVariable))(x4)(st)} in let {x7 = Curry.Module.Prelude.T2(Curry.Module.Prelude.c_negate(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(Curry.Module.TransformationDebugInfo.c_debugTVarName(st))} in let {x9 = Curry.Module.Prelude.op_36(Curry.Module.Prelude.pf(Curry.Module.TransformationDebugInfo.c_renameType))(x2)(st)} in Curry.Module.AbstractHaskell.C_HTypeDecl((Curry.Module.Prelude.:<)(Curry.Module.FlatToAbstractCurry.c_constraint(Curry.Module.TransformationDebugInfo.c_debugMonadClass(st))(x7)(st))(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.FlatToAbstractCurry.c_constraint(Curry.Module.TransformationDebugInfo.c_staticInfoClass(st))))(x6)(st)))(Curry.Module.AbstractCurry.C_CType(x9)(Curry.Module.AbstractCurry.C_Private)((Curry.Module.Prelude.:<)(x7)(x6))((Curry.Module.Prelude.:<)(Curry.Module.AbstractCurry.C_CCons(x9)(Curry.Module.Prelude.c_length(x4)(st))(Curry.Module.AbstractCurry.C_Private)(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pc(Curry.Module.AbstractCurry.C_CTVar))(x6)(st)))(Curry.Module.Prelude.List)))(Curry.Module.Prelude.List)
c_mkType (Curry.Module.FlatCurry.C_TypeDeclOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.ExternalStubs.c_mkType(x)(st))(i)(xs)(st)
c_mkType x st = Curry.RunTimeSystem.patternFail("ExternalStubs.mkType")(x)



c_mkInst :: Curry.Module.AbstractHaskell.C_HTypeDecl -> Curry.RunTimeSystem.State -> Curry.Module.AbstractHaskell.C_InstanceDecl
c_mkInst x1@(Curry.Module.AbstractHaskell.C_HTypeDecl x2 x3 x4) st = Curry.Module.ExternalStubs.c_mkInst_case_0(x3)(st)
c_mkInst (Curry.Module.AbstractHaskell.C_HTypeDeclOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.ExternalStubs.c_mkInst(x)(st))(i)(xs)(st)
c_mkInst x st = Curry.RunTimeSystem.patternFail("ExternalStubs.mkInst")(x)



c_noImpl :: Curry.RunTimeSystem.State -> Curry.Module.AbstractCurry.C_CExpr
c_noImpl st = Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.FlatToAbstractCurry.op_36_36(st))(Curry.Module.FlatToAbstractCurry.c_presym((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))))))(st))(st))(Curry.Module.FlatToAbstractCurry.c_acyStr((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('i'))((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('l'))((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('e'))((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('n'))((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.List))))))))))))))))(st))(st)



c_clean :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0
c_clean x1 st = Curry.Module.Prelude.op_62_62_61(Curry.Module.IO.c_openFile(x1)(Curry.Module.IO.C_ReadMode)(st))(Curry.Module.Prelude.pf(Curry.Module.ExternalStubs.c_clean'46_'35lambda3(x1)))(st)



c_clean'46_'35lambda3 :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.IO.C_Handle -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0
c_clean'46_'35lambda3 x1 x2 st = Curry.Module.Prelude.op_62_62(Curry.Module.IO.c_hGetLine(x2)(st))(Curry.Module.Prelude.op_62_62_61(Curry.Module.IO.c_hGetContents(x2)(st))(Curry.Module.Prelude.pf(Curry.Module.ExternalStubs.c_clean'46_'35lambda3'46_'35lambda4(x1)(x2)))(st))(st)



c_clean'46_'35lambda3'46_'35lambda4 :: (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.Module.IO.C_Handle -> (Curry.Module.Prelude.List Curry.Module.Prelude.C_Char) -> Curry.RunTimeSystem.State -> Curry.Module.Prelude.C_IO Curry.Module.Prelude.T0
c_clean'46_'35lambda3'46_'35lambda4 x1 x2 x3 st = Curry.Module.Prelude.op_62_62(Curry.Module.IO.c_hClose(x2)(st))(Curry.Module.Prelude.c_writeFile(x1)(Curry.Module.Prelude.op_43_43(Curry.Module.ExternalStubs.c_stubsInfo(st))(Curry.Module.Prelude.op_43_43((Curry.Module.Prelude.:<)(Curry.Module.Prelude.C_Char('\n'))(Curry.Module.Prelude.List))(x3)(st))(st))(st))(st)



c_mkInst_case_0 x3@(Curry.Module.AbstractCurry.C_CType x5 x6 x7 x8) st = Curry.Module.AbstractHaskell.C_Instance(Curry.Module.Prelude.List)(Curry.Module.AbstractHaskell.C_TypeClass(Curry.Module.TransformationDebugInfo.c_staticInfoClass(st))((Curry.Module.Prelude.:<)(Curry.Module.AbstractCurry.C_CTCons(x5)(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pc(Curry.Module.AbstractCurry.C_CTVar))(x7)(st)))(Curry.Module.Prelude.List)))((Curry.Module.Prelude.:<)(Curry.Module.AbstractHaskell.C_HFunc(Curry.Module.TransformationDebugInfo.c_staticInfoFunc(st))(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(Curry.Module.AbstractCurry.C_Private)(Curry.Module.Prelude.List)(Curry.Module.FlatToAbstractCurry.c_untyped(st))(Curry.Module.Prelude.c_apply(Curry.Module.FlatToAbstractCurry.c_rules(st))((Curry.Module.Prelude.:<)(Curry.Module.FlatToAbstractCurry.c_simpleRule((Curry.Module.Prelude.:<)(Curry.Module.Prelude.c_apply(Curry.Module.FlatToAbstractCurry.c_px(st))(Curry.Module.Prelude.C_Zero)(st))(Curry.Module.Prelude.List))(Curry.Module.ExternalStubs.c_noImpl(st))(st))(Curry.Module.Prelude.List))(st)))(Curry.Module.Prelude.List))
c_mkInst_case_0 (Curry.Module.AbstractCurry.C_CTypeDeclOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.ExternalStubs.c_mkInst_case_0(x)(st))(i)(xs)(st)
c_mkInst_case_0 x st = Curry.RunTimeSystem.patternFail("ExternalStubs.mkInst_case_0")(x)



c_handleType_case_2 x1 x9@((Curry.Module.Prelude.:<) x10 x11) st = Curry.Module.Prelude.List
c_handleType_case_2 x1 x9@Curry.Module.Prelude.List st = let {x12 = Curry.Module.ExternalStubs.c_mkType(x1)(st)} in Curry.Module.ExternalStubs.c_handleType_case_1(x1)(x12)(Curry.Module.TransformationDebugInfo.c_skippedType(x1)(st))(st)
c_handleType_case_2 x1 (Curry.Module.Prelude.ListOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.ExternalStubs.c_handleType_case_2(x1)(x)(st))(i)(xs)(st)
c_handleType_case_2 x1 x st = Curry.RunTimeSystem.patternFail("ExternalStubs.handleType_case_2")(x)



c_handleType_case_1 x1 x12 x13@Curry.Module.Prelude.C_True st = Curry.Module.Prelude.List
c_handleType_case_1 x1 x12 x13@Curry.Module.Prelude.C_False st = (Curry.Module.Prelude.:<)(Curry.Module.Prelude.T2(x12)(Curry.Module.ExternalStubs.c_mkInst(x12)(st)))(Curry.Module.Prelude.List)
c_handleType_case_1 x1 x12 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.ExternalStubs.c_handleType_case_1(x1)(x12)(x)(st))(i)(xs)(st)
c_handleType_case_1 x1 x12 x st = Curry.RunTimeSystem.patternFail("ExternalStubs.handleType_case_1")(x)



c_mkStub_case_4 x1 x2 x3 x4 x6 x7@(Curry.Module.FlatCurry.C_Rule x8 x9) st = Curry.Module.Prelude.List
c_mkStub_case_4 x1 x2 x3 x4 x6 x7@(Curry.Module.FlatCurry.C_External x10) st = Curry.Module.ExternalStubs.c_mkStub_case_3(x1)(x2)(x3)(x4)(x6)(Curry.Module.TransformationDebugInfo.c_skippedFunc(x1)(st))(st)
c_mkStub_case_4 x1 x2 x3 x4 x6 (Curry.Module.FlatCurry.C_RuleOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.ExternalStubs.c_mkStub_case_4(x1)(x2)(x3)(x4)(x6)(x)(st))(i)(xs)(st)
c_mkStub_case_4 x1 x2 x3 x4 x6 x st = Curry.RunTimeSystem.patternFail("ExternalStubs.mkStub_case_4")(x)



c_mkStub_case_3 x1 x2 x3 x4 x6 x7@Curry.Module.Prelude.C_True st = Curry.Module.Prelude.List
c_mkStub_case_3 x1 x2 x3 x4 x6 x7@Curry.Module.Prelude.C_False st = (Curry.Module.Prelude.:<)(Curry.Module.Prelude.op_36(Curry.Module.Prelude.pc(Curry.Module.AbstractHaskell.C_HFunc(Curry.Module.TransformationDebugInfo.c_renameFunc(x3)(st))(x4)(Curry.Module.AbstractCurry.C_Private)((Curry.Module.Prelude.:<)(Curry.Module.FlatToAbstractCurry.c_constraint(Curry.Module.TransformationDebugInfo.c_debugMonadClass(st))(Curry.Module.Prelude.T2(Curry.Module.Prelude.c_negate(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(Curry.Module.TransformationDebugInfo.c_debugTVarName(st)))(st))(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.FlatToAbstractCurry.c_constraint(Curry.Module.TransformationDebugInfo.c_staticInfoClass(st))))(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.FlatToAbstractCurry.c_convertTypeVariable))(Curry.Module.FlatToAbstractCurry.c_extractTVars(x6)(st))(st))(st)))(Curry.Module.TransformationSignatures.c_transformType(x4)(x6)(x2)(st))))(Curry.Module.Prelude.c_apply(Curry.Module.FlatToAbstractCurry.c_rules(st))((Curry.Module.Prelude.:<)(Curry.Module.FlatToAbstractCurry.c_simpleRule(Curry.Module.Prelude.c_map(Curry.Module.FlatToAbstractCurry.c_px(st))(Curry.Module.Prelude.c_enumFromTo(Curry.Module.Prelude.C_Zero)(Curry.Module.Prelude.op_45(x4)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(st))(st))(Curry.Module.Prelude.c_apply(Curry.Module.Prelude.c_apply(Curry.Module.FlatToAbstractCurry.op_36_36(st))(Curry.Module.Prelude.c_apply(Curry.Module.FlatToAbstractCurry.c_comb(Curry.Module.TransformationDebugInfo.c_hookHelperName(x3)(st))(st))(Curry.Module.Prelude.c_map(Curry.Module.FlatToAbstractCurry.c_xx(st))(Curry.Module.Prelude.c_enumFromTo(Curry.Module.Prelude.C_Zero)(Curry.Module.Prelude.op_45(x4)(Curry.Module.Prelude.C_Pos(Curry.Module.Prelude.C_IHi))(st))(st))(st))(st))(st))(Curry.Module.ExternalStubs.c_noImpl(st))(st))(st))(Curry.Module.Prelude.List))(st))(st))(Curry.Module.Prelude.List)
c_mkStub_case_3 x1 x2 x3 x4 x6 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.ExternalStubs.c_mkStub_case_3(x1)(x2)(x3)(x4)(x6)(x)(st))(i)(xs)(st)
c_mkStub_case_3 x1 x2 x3 x4 x6 x st = Curry.RunTimeSystem.patternFail("ExternalStubs.mkStub_case_3")(x)