{-# OPTIONS -cpp #-} {-# LANGUAGE RankNTypes, ScopedTypeVariables, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances #-} module Curry.Module.FlexRigid (module Curry.Module.FlexRigid) where import Curry.RunTimeSystem import Curry.Module.FlatCurry import Curry.Module.Prelude -- begin included -- end included data C_FlexRigidResult = C_UnknownFR | C_ConflictFR | C_KnownFlex | C_KnownRigid | C_FlexRigidResultFail Curry.RunTimeSystem.C_Exceptions | C_FlexRigidResultOr Curry.RunTimeSystem.OrRef (Curry.RunTimeSystem.Branches Curry.Module.FlexRigid.C_FlexRigidResult) instance BaseCurry Curry.Module.FlexRigid.C_FlexRigidResult where nf f x st = f(x)(st) gnf f x st = f(x)(st) generator i = Curry.RunTimeSystem.withRef(\ r -> Curry.Module.FlexRigid.C_FlexRigidResultOr(Curry.RunTimeSystem.mkRef(r)(0)(i))([Curry.Module.FlexRigid.C_UnknownFR,Curry.Module.FlexRigid.C_ConflictFR,Curry.Module.FlexRigid.C_KnownFlex,Curry.Module.FlexRigid.C_KnownRigid]))(0) failed = Curry.Module.FlexRigid.C_FlexRigidResultFail branching = Curry.Module.FlexRigid.C_FlexRigidResultOr consKind (Curry.Module.FlexRigid.C_FlexRigidResultOr _ _) = Curry.RunTimeSystem.Branching consKind (Curry.Module.FlexRigid.C_FlexRigidResultFail _) = Curry.RunTimeSystem.Failed consKind _ = Curry.RunTimeSystem.Val exceptions (Curry.Module.FlexRigid.C_FlexRigidResultFail x) = x orRef (Curry.Module.FlexRigid.C_FlexRigidResultOr x _) = x branches (Curry.Module.FlexRigid.C_FlexRigidResultOr _ x) = x instance Curry Curry.Module.FlexRigid.C_FlexRigidResult where strEq Curry.Module.FlexRigid.C_UnknownFR Curry.Module.FlexRigid.C_UnknownFR st = Curry.Module.Prelude.strEqSuccess strEq Curry.Module.FlexRigid.C_ConflictFR Curry.Module.FlexRigid.C_ConflictFR st = Curry.Module.Prelude.strEqSuccess strEq Curry.Module.FlexRigid.C_KnownFlex Curry.Module.FlexRigid.C_KnownFlex st = Curry.Module.Prelude.strEqSuccess strEq Curry.Module.FlexRigid.C_KnownRigid Curry.Module.FlexRigid.C_KnownRigid st = Curry.Module.Prelude.strEqSuccess strEq _ x0 _ = Curry.Module.Prelude.strEqFail(Curry.Module.Prelude.typeName(x0)) eq Curry.Module.FlexRigid.C_UnknownFR Curry.Module.FlexRigid.C_UnknownFR st = Curry.Module.Prelude.C_True eq Curry.Module.FlexRigid.C_ConflictFR Curry.Module.FlexRigid.C_ConflictFR st = Curry.Module.Prelude.C_True eq Curry.Module.FlexRigid.C_KnownFlex Curry.Module.FlexRigid.C_KnownFlex st = Curry.Module.Prelude.C_True eq Curry.Module.FlexRigid.C_KnownRigid Curry.Module.FlexRigid.C_KnownRigid st = Curry.Module.Prelude.C_True eq _ _ _ = Curry.Module.Prelude.C_False propagate f Curry.Module.FlexRigid.C_UnknownFR st = Curry.Module.FlexRigid.C_UnknownFR propagate f Curry.Module.FlexRigid.C_ConflictFR st = Curry.Module.FlexRigid.C_ConflictFR propagate f Curry.Module.FlexRigid.C_KnownFlex st = Curry.Module.FlexRigid.C_KnownFlex propagate f Curry.Module.FlexRigid.C_KnownRigid st = Curry.Module.FlexRigid.C_KnownRigid foldCurry f c Curry.Module.FlexRigid.C_UnknownFR st = c foldCurry f c Curry.Module.FlexRigid.C_ConflictFR st = c foldCurry f c Curry.Module.FlexRigid.C_KnownFlex st = c foldCurry f c Curry.Module.FlexRigid.C_KnownRigid st = c typeName _ = "FlexRigidResult" showQ _ Curry.Module.FlexRigid.C_UnknownFR = Prelude.showString("FlexRigid.UnknownFR") showQ _ Curry.Module.FlexRigid.C_ConflictFR = Prelude.showString("FlexRigid.ConflictFR") showQ _ Curry.Module.FlexRigid.C_KnownFlex = Prelude.showString("FlexRigid.KnownFlex") showQ _ Curry.Module.FlexRigid.C_KnownRigid = Prelude.showString("FlexRigid.KnownRigid") showQ _ (Curry.Module.FlexRigid.C_FlexRigidResultOr r _) = Prelude.showString((:)('_')(Prelude.show(Curry.RunTimeSystem.deref(r)))) instance Show Curry.Module.FlexRigid.C_FlexRigidResult where showsPrec _ Curry.Module.FlexRigid.C_UnknownFR = Prelude.showString("UnknownFR") showsPrec _ Curry.Module.FlexRigid.C_ConflictFR = Prelude.showString("ConflictFR") showsPrec _ Curry.Module.FlexRigid.C_KnownFlex = Prelude.showString("KnownFlex") showsPrec _ Curry.Module.FlexRigid.C_KnownRigid = Prelude.showString("KnownRigid") showsPrec _ (Curry.Module.FlexRigid.C_FlexRigidResultOr r _) = Prelude.showString((:)('_')(Prelude.show(Curry.RunTimeSystem.deref(r)))) instance Read Curry.Module.FlexRigid.C_FlexRigidResult where readsPrec d r = (Prelude.++)(Prelude.readParen(Prelude.False)(\ r -> [(,)(Curry.Module.FlexRigid.C_UnknownFR)(r0) | ((,) _ r0) <- Curry.RunTimeSystem.readQualified("FlexRigid")("UnknownFR")(r)])(r))((Prelude.++)(Prelude.readParen(Prelude.False)(\ r -> [(,)(Curry.Module.FlexRigid.C_ConflictFR)(r0) | ((,) _ r0) <- Curry.RunTimeSystem.readQualified("FlexRigid")("ConflictFR")(r)])(r))((Prelude.++)(Prelude.readParen(Prelude.False)(\ r -> [(,)(Curry.Module.FlexRigid.C_KnownFlex)(r0) | ((,) _ r0) <- Curry.RunTimeSystem.readQualified("FlexRigid")("KnownFlex")(r)])(r))(Prelude.readParen(Prelude.False)(\ r -> [(,)(Curry.Module.FlexRigid.C_KnownRigid)(r0) | ((,) _ r0) <- Curry.RunTimeSystem.readQualified("FlexRigid")("KnownRigid")(r)])(r)))) c_getFlexRigid :: Curry.Module.FlatCurry.C_Expr -> Curry.RunTimeSystem.State -> Curry.Module.FlexRigid.C_FlexRigidResult c_getFlexRigid x1@(Curry.Module.FlatCurry.C_Var x2) st = Curry.Module.FlexRigid.C_UnknownFR c_getFlexRigid x1@(Curry.Module.FlatCurry.C_Lit x3) st = Curry.Module.FlexRigid.C_UnknownFR c_getFlexRigid x1@(Curry.Module.FlatCurry.C_Comb x4 x5 x6) st = Curry.Module.Prelude.c_foldr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.FlexRigid.c_joinCaseTypes))(Curry.Module.FlexRigid.C_UnknownFR)(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.FlexRigid.c_getFlexRigid))(x6)(st))(st) c_getFlexRigid x1@(Curry.Module.FlatCurry.C_Let x7 x8) st = Curry.Module.FlexRigid.c_getFlexRigid(x8)(st) c_getFlexRigid x1@(Curry.Module.FlatCurry.C_Free x9 x10) st = Curry.Module.FlexRigid.c_getFlexRigid(x10)(st) c_getFlexRigid x1@(Curry.Module.FlatCurry.C_Or x11 x12) st = Curry.Module.FlexRigid.c_joinCaseTypes(Curry.Module.FlexRigid.c_getFlexRigid(x11)(st))(Curry.Module.FlexRigid.c_getFlexRigid(x12)(st))(st) c_getFlexRigid x1@(Curry.Module.FlatCurry.C_Case x13 x14 x15) st = Curry.Module.Prelude.c_foldr(Curry.Module.Prelude.cp(Curry.Module.Prelude.pa)(Curry.Module.Prelude.cp(Curry.Module.Prelude.pf))(Curry.Module.FlexRigid.c_joinCaseTypes))(Curry.Module.FlexRigid.c_getFlexRigid_case_4(x13)(Curry.Module.Prelude.op_61_61(x13)(Curry.Module.FlatCurry.C_Flex)(st))(st))(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.FlexRigid.c_getFlexRigid))((Curry.Module.Prelude.:<)(x14)(Curry.Module.Prelude.c_map(Curry.Module.Prelude.pf(Curry.Module.FlexRigid.c_getFlexRigid'46_'35lambda2))(x15)(st)))(st))(st) c_getFlexRigid (Curry.Module.FlatCurry.C_ExprOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.FlexRigid.c_getFlexRigid(x)(st))(i)(xs)(st) c_getFlexRigid x st = Curry.RunTimeSystem.patternFail("FlexRigid.getFlexRigid")(x) c_getFlexRigid'46_'35lambda2 :: Curry.Module.FlatCurry.C_BranchExpr -> Curry.RunTimeSystem.State -> Curry.Module.FlatCurry.C_Expr c_getFlexRigid'46_'35lambda2 x1@(Curry.Module.FlatCurry.C_Branch x2 x3) st = x3 c_getFlexRigid'46_'35lambda2 (Curry.Module.FlatCurry.C_BranchExprOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.FlexRigid.c_getFlexRigid'46_'35lambda2(x)(st))(i)(xs)(st) c_getFlexRigid'46_'35lambda2 x st = Curry.RunTimeSystem.patternFail("FlexRigid.getFlexRigid._#lambda2")(x) c_joinCaseTypes :: Curry.Module.FlexRigid.C_FlexRigidResult -> Curry.Module.FlexRigid.C_FlexRigidResult -> Curry.RunTimeSystem.State -> Curry.Module.FlexRigid.C_FlexRigidResult c_joinCaseTypes x1@Curry.Module.FlexRigid.C_ConflictFR x2 st = Curry.Module.FlexRigid.c_joinCaseTypes_case_3(x2)(st) c_joinCaseTypes x1@Curry.Module.FlexRigid.C_UnknownFR x2 st = Curry.Module.FlexRigid.c_joinCaseTypes_case_2(x2)(st) c_joinCaseTypes x1@Curry.Module.FlexRigid.C_KnownFlex x2 st = Curry.Module.FlexRigid.c_joinCaseTypes_case_1(x2)(st) c_joinCaseTypes x1@Curry.Module.FlexRigid.C_KnownRigid x2 st = Curry.Module.FlexRigid.c_joinCaseTypes_case_0(x2)(st) c_joinCaseTypes (Curry.Module.FlexRigid.C_FlexRigidResultOr i xs) x2 st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.FlexRigid.c_joinCaseTypes(x)(x2)(st))(i)(xs)(st) c_joinCaseTypes x x2 st = Curry.RunTimeSystem.patternFail("FlexRigid.joinCaseTypes")(x) c_joinCaseTypes_case_0 x2@Curry.Module.FlexRigid.C_ConflictFR st = Curry.Module.FlexRigid.C_ConflictFR c_joinCaseTypes_case_0 x2@Curry.Module.FlexRigid.C_UnknownFR st = Curry.Module.FlexRigid.C_KnownRigid c_joinCaseTypes_case_0 x2@Curry.Module.FlexRigid.C_KnownFlex st = Curry.Module.FlexRigid.C_ConflictFR c_joinCaseTypes_case_0 x2@Curry.Module.FlexRigid.C_KnownRigid st = Curry.Module.FlexRigid.C_KnownRigid c_joinCaseTypes_case_0 (Curry.Module.FlexRigid.C_FlexRigidResultOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.FlexRigid.c_joinCaseTypes_case_0(x)(st))(i)(xs)(st) c_joinCaseTypes_case_0 x st = Curry.RunTimeSystem.patternFail("FlexRigid.joinCaseTypes_case_0")(x) c_joinCaseTypes_case_1 x2@Curry.Module.FlexRigid.C_ConflictFR st = Curry.Module.FlexRigid.C_ConflictFR c_joinCaseTypes_case_1 x2@Curry.Module.FlexRigid.C_UnknownFR st = Curry.Module.FlexRigid.C_KnownFlex c_joinCaseTypes_case_1 x2@Curry.Module.FlexRigid.C_KnownFlex st = Curry.Module.FlexRigid.C_KnownFlex c_joinCaseTypes_case_1 x2@Curry.Module.FlexRigid.C_KnownRigid st = Curry.Module.FlexRigid.C_ConflictFR c_joinCaseTypes_case_1 (Curry.Module.FlexRigid.C_FlexRigidResultOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.FlexRigid.c_joinCaseTypes_case_1(x)(st))(i)(xs)(st) c_joinCaseTypes_case_1 x st = Curry.RunTimeSystem.patternFail("FlexRigid.joinCaseTypes_case_1")(x) c_joinCaseTypes_case_2 x2@Curry.Module.FlexRigid.C_ConflictFR st = Curry.Module.FlexRigid.C_ConflictFR c_joinCaseTypes_case_2 x2@Curry.Module.FlexRigid.C_UnknownFR st = Curry.Module.FlexRigid.C_UnknownFR c_joinCaseTypes_case_2 x2@Curry.Module.FlexRigid.C_KnownFlex st = Curry.Module.FlexRigid.C_KnownFlex c_joinCaseTypes_case_2 x2@Curry.Module.FlexRigid.C_KnownRigid st = Curry.Module.FlexRigid.C_KnownRigid c_joinCaseTypes_case_2 (Curry.Module.FlexRigid.C_FlexRigidResultOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.FlexRigid.c_joinCaseTypes_case_2(x)(st))(i)(xs)(st) c_joinCaseTypes_case_2 x st = Curry.RunTimeSystem.patternFail("FlexRigid.joinCaseTypes_case_2")(x) c_joinCaseTypes_case_3 x2@Curry.Module.FlexRigid.C_ConflictFR st = Curry.Module.FlexRigid.C_ConflictFR c_joinCaseTypes_case_3 x2@Curry.Module.FlexRigid.C_UnknownFR st = Curry.Module.FlexRigid.C_ConflictFR c_joinCaseTypes_case_3 x2@Curry.Module.FlexRigid.C_KnownFlex st = Curry.Module.FlexRigid.C_ConflictFR c_joinCaseTypes_case_3 x2@Curry.Module.FlexRigid.C_KnownRigid st = Curry.Module.FlexRigid.C_ConflictFR c_joinCaseTypes_case_3 (Curry.Module.FlexRigid.C_FlexRigidResultOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.FlexRigid.c_joinCaseTypes_case_3(x)(st))(i)(xs)(st) c_joinCaseTypes_case_3 x st = Curry.RunTimeSystem.patternFail("FlexRigid.joinCaseTypes_case_3")(x) c_getFlexRigid_case_4 x13 x14@Curry.Module.Prelude.C_True st = Curry.Module.FlexRigid.C_KnownFlex c_getFlexRigid_case_4 x13 x14@Curry.Module.Prelude.C_False st = Curry.Module.FlexRigid.C_KnownRigid c_getFlexRigid_case_4 x13 (Curry.Module.Prelude.C_BoolOr i xs) st = Curry.RunTimeSystem.mapOr(\ x st -> Curry.Module.FlexRigid.c_getFlexRigid_case_4(x13)(x)(st))(i)(xs)(st) c_getFlexRigid_case_4 x13 x st = Curry.RunTimeSystem.patternFail("FlexRigid.getFlexRigid_case_4")(x)