-- UUAGC 0.9.52.1 (build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/RenUn) module UHC.Light.Compiler.Core.Trf.RenUniq(RenUniqOpts (..), emptyRenUniqOpts , cmodTrfRenUniq) where import Data.Maybe import Data.Char import Control.Monad (liftM) import qualified Data.Map as Map import UHC.Util.Utils import UHC.Light.Compiler.Base.Common import UHC.Light.Compiler.Base.HsName.Builtin import UHC.Light.Compiler.Core import UHC.Light.Compiler.Ty import UHC.Light.Compiler.AbstractCore data RenUniqOpts = RenUniqOpts { renuniqOptResetOnlyInLam :: Bool -- restart numbering in lambda only, throwing away all name modifiers previously added } emptyRenUniqOpts :: RenUniqOpts emptyRenUniqOpts = RenUniqOpts False cmodTrfRenUniq :: RenUniqOpts -> CModule -> CModule cmodTrfRenUniq ropts cmod = let t = wrap_CodeAGItf (sem_CodeAGItf (CodeAGItf_AGItf cmod)) (Inh_CodeAGItf { gIniq_Inh_CodeAGItf = 1 -- , gUniq_Inh_CodeAGItf = uidStart , ropts_Inh_CodeAGItf = ropts }) in cTrf_Syn_CodeAGItf t newIniq :: Int -> Int -> (Int,[Int]) newIniq nr seed = (seed+nr, [seed .. seed + nr -1]) type NmMp = Map.Map HsName HsName type ARenMp = ( NmMp -- forward map, from old -> new , NmMp -- backward map, from new -> old ) emptyARenMp :: ARenMp emptyARenMp = (Map.empty, Map.empty) -- breaks assumption that globals are qualified, locals not. Problem in future when records are used for globals and access differs. mkUniqGlob :: NmMp -> HsName -> HsName -> Maybe Int -> (HsName,NmMp) mkUniqGlob mb q n mbU = ( (if hsnIsQual n then id else hsnSetQual q ) $ maybe n (\u -> hsnUniqifyInt HsNameUniqifier_GloballyUnique u n) mbU , mb ) -- breaks assumption that globals are qualified, locals not. Problem in future when records are used for globals and access differs. mkUniqLoc :: NmMp -> HsName -> HsName -> Maybe Int -> (HsName,NmMp) mkUniqLoc mb q n mbU = ( -- tr "mkUniqLoc" (n >#< n2 >#< n3 >#< n5) $ n5 , Map.insert n5 n mb ) where n2 = hsnStripUniqifiers $ hsnQualified n n3 = case hsnBaseUnpack n2 of Just ('_':_, _) -> mkHNm "_" _ -> n2 n5 | Map.member n3 mb = hsnUniqifyInt HsNameUniqifier_Blank (panicJust "RenUniq.mkUniqLoc" mbU) $ hsnStripUniqifiers n3 | otherwise = n3 -- where mbExists@(~(Just n4)) = Map.lookup n3 mb aRenAdd :: RenUniqOpts -> Bool -> HsName -> [HsName] -> [Int] -> ARenMp -> ARenMp aRenAdd ropts isGlob q nL uL mfb@(mf,mb) = foldr (\(n,u) (mf,mb) -> let (n',mb') = mkNm mb n u in (Map.insert n n' mf,mb')) mfb $ zip nL uL where mkNm mb n u | doChng && isUnqualifiedGlob = mkUniq mb q n Nothing | doChng = mkUniq mb q n (Just u) | otherwise = (n,mb) where doChng = isChangeable || isUnqualifiedGlob isUnqualifiedGlob = isGlob && not onlyLam && isNothing (hsnQualifier n) && n /= hsnMain isChangeable = not isGlob || n `Map.member` mf onlyLam = renuniqOptResetOnlyInLam ropts mkUniq | onlyLam = mkUniqLoc | otherwise = mkUniqGlob aRenRepl :: ARenMp -> HsName -> HsName aRenRepl (mf,_) n = maybe n id . Map.lookup n $ mf -- CAlt -------------------------------------------------------- {- visit 0: inherited attributes: protectedBindingNames : [HsName] ropts : RenUniqOpts chained attribute: gIniq : Int visit 1: inherited attributes: aRenMp : ARenMp lev : Int moduleNm : HsName synthesized attribute: cTrf : CAlt alternatives: alternative Alt: child pat : CPat child expr : CExpr visit 0: local _tup1 : _ visit 1: local lIniq : _ local aRenMp : _ local cTrf : _ intra _tup1 : _ -} -- cata sem_CAlt :: CAlt -> T_CAlt sem_CAlt (CAlt_Alt _pat _expr) = (sem_CAlt_Alt (sem_CPat _pat) (sem_CExpr _expr)) -- semantic domain type T_CAlt = Int -> ([HsName]) -> RenUniqOpts -> ( Int,T_CAlt_1) type T_CAlt_1 = ARenMp -> Int -> HsName -> ( CAlt) sem_CAlt_Alt :: T_CPat -> T_CExpr -> T_CAlt sem_CAlt_Alt pat_ expr_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIropts) of { _exprOropts | _exprOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _exprOprotectedBindingNames | _exprOprotectedBindingNames `seq` (True) -> (case (_lhsIropts) of { _patOropts | _patOropts `seq` (True) -> (case (pat_) of { ( _patInmL,pat_1) | True -> (case (newIniq (length _patInmL) _lhsIgIniq) of { __tup1 | __tup1 `seq` (True) -> (case (__tup1) of { (_patOgIniq,_) | _patOgIniq `seq` (True) -> (case (pat_1 _patOgIniq _patOropts) of { ( _patIgIniq,pat_2) | True -> (case (_patIgIniq) of { _exprOgIniq | _exprOgIniq `seq` (True) -> (case (expr_ _exprOgIniq _exprOprotectedBindingNames _exprOropts) of { ( _exprIgIniq,_exprIisLamBody,expr_1) | True -> (case (_exprIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CAlt_Alt_1 :: T_CAlt_1 sem_CAlt_Alt_1 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm -> (case (_lhsImoduleNm) of { _exprOmoduleNm | _exprOmoduleNm `seq` (True) -> (case (_lhsIlev + 1) of { _exprOlev | _exprOlev `seq` (True) -> (case (__tup1) of { (_,_lIniq) | _lIniq `seq` (True) -> (case (aRenAdd _lhsIropts False _lhsImoduleNm _patInmL _lIniq _lhsIaRenMp) of { _exprOaccumARenMp | _exprOaccumARenMp `seq` (True) -> (case (expr_1 _exprOaccumARenMp _exprOlev _exprOmoduleNm) of { ( _exprIaccumARenMp,expr_2) | True -> (case (_exprIaccumARenMp) of { _aRenMp | _aRenMp `seq` (True) -> (case (_aRenMp) of { _exprOaRenMp | _exprOaRenMp `seq` (True) -> (case (_lhsImoduleNm) of { _patOmoduleNm | _patOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _patOlev | _patOlev `seq` (True) -> (case (_aRenMp) of { _patOaRenMp | _patOaRenMp `seq` (True) -> (case (expr_2 _exprOaRenMp) of { ( _exprIcTrf) | True -> (case (pat_2 _patOaRenMp _patOlev _patOmoduleNm) of { ( _patIcTrf,_patIfldNmL) | True -> (case (CAlt_Alt _patIcTrf _exprIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) }) }) }) }) }) }) }) }) }) })) in sem_CAlt_Alt_1)) of { ( sem_CAlt_1) | True -> ( _lhsOgIniq,sem_CAlt_1) }) }) }) }) }) }) }) }) }) }) })) -- CAltL ------------------------------------------------------- {- visit 0: inherited attributes: protectedBindingNames : [HsName] ropts : RenUniqOpts chained attribute: gIniq : Int visit 1: inherited attributes: aRenMp : ARenMp lev : Int moduleNm : HsName synthesized attribute: cTrf : CAltL alternatives: alternative Cons: child hd : CAlt child tl : CAltL visit 1: local cTrf : _ alternative Nil: visit 1: local cTrf : _ -} -- cata sem_CAltL :: CAltL -> T_CAltL sem_CAltL list = (Prelude.foldr sem_CAltL_Cons sem_CAltL_Nil (Prelude.map sem_CAlt list)) -- semantic domain type T_CAltL = Int -> ([HsName]) -> RenUniqOpts -> ( Int,T_CAltL_1) type T_CAltL_1 = ARenMp -> Int -> HsName -> ( CAltL) sem_CAltL_Cons :: T_CAlt -> T_CAltL -> T_CAltL sem_CAltL_Cons hd_ tl_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIropts) of { _tlOropts | _tlOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _tlOprotectedBindingNames | _tlOprotectedBindingNames `seq` (True) -> (case (_lhsIropts) of { _hdOropts | _hdOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _hdOprotectedBindingNames | _hdOprotectedBindingNames `seq` (True) -> (case (_lhsIgIniq) of { _hdOgIniq | _hdOgIniq `seq` (True) -> (case (hd_ _hdOgIniq _hdOprotectedBindingNames _hdOropts) of { ( _hdIgIniq,hd_1) | True -> (case (_hdIgIniq) of { _tlOgIniq | _tlOgIniq `seq` (True) -> (case (tl_ _tlOgIniq _tlOprotectedBindingNames _tlOropts) of { ( _tlIgIniq,tl_1) | True -> (case (_tlIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CAltL_Cons_1 :: T_CAltL_1 sem_CAltL_Cons_1 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm -> (case (_lhsImoduleNm) of { _tlOmoduleNm | _tlOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _tlOlev | _tlOlev `seq` (True) -> (case (_lhsIaRenMp) of { _tlOaRenMp | _tlOaRenMp `seq` (True) -> (case (_lhsImoduleNm) of { _hdOmoduleNm | _hdOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _hdOlev | _hdOlev `seq` (True) -> (case (_lhsIaRenMp) of { _hdOaRenMp | _hdOaRenMp `seq` (True) -> (case (tl_1 _tlOaRenMp _tlOlev _tlOmoduleNm) of { ( _tlIcTrf) | True -> (case (hd_1 _hdOaRenMp _hdOlev _hdOmoduleNm) of { ( _hdIcTrf) | True -> (case ((:) _hdIcTrf _tlIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) }) }) }) }) }) })) in sem_CAltL_Cons_1)) of { ( sem_CAltL_1) | True -> ( _lhsOgIniq,sem_CAltL_1) }) }) }) }) }) }) }) }) }) })) sem_CAltL_Nil :: T_CAltL sem_CAltL_Nil = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CAltL_Nil_1 :: T_CAltL_1 sem_CAltL_Nil_1 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm -> (case ([]) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) })) in sem_CAltL_Nil_1)) of { ( sem_CAltL_1) | True -> ( _lhsOgIniq,sem_CAltL_1) }) })) -- CBind ------------------------------------------------------- {- visit 0: inherited attribute: protectedBindingNames : [HsName] synthesized attributes: nm : HsName nmL : [HsName] visit 1: inherited attribute: ropts : RenUniqOpts chained attribute: gIniq : Int visit 2: inherited attributes: aRenMp : ARenMp lev : Int moduleNm : HsName synthesized attribute: cTrf : CBind alternatives: alternative Bind: child nm : {HsName} child bindAspects : CBoundL -} -- cata sem_CBind :: CBind -> T_CBind sem_CBind (CBind_Bind _nm _bindAspects) = (sem_CBind_Bind _nm (sem_CBoundL _bindAspects)) -- semantic domain type T_CBind = ([HsName]) -> ( HsName,([HsName]),T_CBind_1) type T_CBind_1 = Int -> RenUniqOpts -> ( Int,T_CBind_2) type T_CBind_2 = ARenMp -> Int -> HsName -> ( CBind) sem_CBind_Bind :: HsName -> T_CBoundL -> T_CBind sem_CBind_Bind nm_ bindAspects_ = (\ _lhsIprotectedBindingNames -> (case (nm_) of { _lhsOnm | _lhsOnm `seq` (True) -> (case (if nm_ `elem` _lhsIprotectedBindingNames then [] else [nm_]) of { _lhsOnmL | _lhsOnmL `seq` (True) -> (case ((let sem_CBind_Bind_1 :: T_CBind_1 sem_CBind_Bind_1 = (\ _lhsIgIniq _lhsIropts -> (case (_lhsIropts) of { _bindAspectsOropts | _bindAspectsOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _bindAspectsOprotectedBindingNames | _bindAspectsOprotectedBindingNames `seq` (True) -> (case (_lhsIgIniq) of { _bindAspectsOgIniq | _bindAspectsOgIniq `seq` (True) -> (case (bindAspects_ _bindAspectsOgIniq _bindAspectsOprotectedBindingNames _bindAspectsOropts) of { ( _bindAspectsIgIniq,bindAspects_1) | True -> (case (_bindAspectsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CBind_Bind_2 :: T_CBind_2 sem_CBind_Bind_2 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm -> (case (_lhsImoduleNm) of { _bindAspectsOmoduleNm | _bindAspectsOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _bindAspectsOlev | _bindAspectsOlev `seq` (True) -> (case (_lhsIaRenMp) of { _bindAspectsOaRenMp | _bindAspectsOaRenMp `seq` (True) -> (case (nm_) of { _bindAspectsOnm | _bindAspectsOnm `seq` (True) -> (case (bindAspects_1 _bindAspectsOaRenMp _bindAspectsOlev _bindAspectsOmoduleNm _bindAspectsOnm) of { ( _bindAspectsIcTrf,_bindAspectsInmL) | True -> (case (CBind_Bind (aRenRepl _lhsIaRenMp nm_) _bindAspectsIcTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) }) })) in sem_CBind_Bind_2)) of { ( sem_CBind_2) | True -> ( _lhsOgIniq,sem_CBind_2) }) }) }) }) }) })) in sem_CBind_Bind_1)) of { ( sem_CBind_1) | True -> ( _lhsOnm,_lhsOnmL,sem_CBind_1) }) }) })) -- CBindAnn ---------------------------------------------------- {- visit 0: chained attribute: gIniq : Int visit 1: inherited attributes: aRenMp : ARenMp lev : Int moduleNm : HsName ropts : RenUniqOpts synthesized attributes: cTrf : CBindAnn nmL : [HsName] alternatives: alternative Coe: child coe : {()} visit 1: local cTrf : _ -} -- cata sem_CBindAnn :: CBindAnn -> T_CBindAnn sem_CBindAnn (CBindAnn_Coe _coe) = (sem_CBindAnn_Coe _coe) -- semantic domain type T_CBindAnn = Int -> ( Int,T_CBindAnn_1) type T_CBindAnn_1 = ARenMp -> Int -> HsName -> RenUniqOpts -> ( CBindAnn,([HsName])) sem_CBindAnn_Coe :: (()) -> T_CBindAnn sem_CBindAnn_Coe coe_ = (\ _lhsIgIniq -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CBindAnn_Coe_1 :: T_CBindAnn_1 sem_CBindAnn_Coe_1 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm _lhsIropts -> (case (CBindAnn_Coe coe_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> (case ([]) of { _lhsOnmL | _lhsOnmL `seq` (True) -> ( _lhsOcTrf,_lhsOnmL) }) }) })) in sem_CBindAnn_Coe_1)) of { ( sem_CBindAnn_1) | True -> ( _lhsOgIniq,sem_CBindAnn_1) }) })) -- CBindAnnL --------------------------------------------------- {- visit 0: chained attribute: gIniq : Int visit 1: inherited attributes: aRenMp : ARenMp lev : Int moduleNm : HsName ropts : RenUniqOpts synthesized attributes: cTrf : CBindAnnL nmL : [HsName] alternatives: alternative Cons: child hd : CBindAnn child tl : CBindAnnL visit 1: local cTrf : _ alternative Nil: visit 1: local cTrf : _ -} -- cata sem_CBindAnnL :: CBindAnnL -> T_CBindAnnL sem_CBindAnnL list = (Prelude.foldr sem_CBindAnnL_Cons sem_CBindAnnL_Nil (Prelude.map sem_CBindAnn list)) -- semantic domain type T_CBindAnnL = Int -> ( Int,T_CBindAnnL_1) type T_CBindAnnL_1 = ARenMp -> Int -> HsName -> RenUniqOpts -> ( CBindAnnL,([HsName])) sem_CBindAnnL_Cons :: T_CBindAnn -> T_CBindAnnL -> T_CBindAnnL sem_CBindAnnL_Cons hd_ tl_ = (\ _lhsIgIniq -> (case (_lhsIgIniq) of { _hdOgIniq | _hdOgIniq `seq` (True) -> (case (hd_ _hdOgIniq) of { ( _hdIgIniq,hd_1) | True -> (case (_hdIgIniq) of { _tlOgIniq | _tlOgIniq `seq` (True) -> (case (tl_ _tlOgIniq) of { ( _tlIgIniq,tl_1) | True -> (case (_tlIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CBindAnnL_Cons_1 :: T_CBindAnnL_1 sem_CBindAnnL_Cons_1 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm _lhsIropts -> (case (_lhsIropts) of { _tlOropts | _tlOropts `seq` (True) -> (case (_lhsImoduleNm) of { _tlOmoduleNm | _tlOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _tlOlev | _tlOlev `seq` (True) -> (case (_lhsIaRenMp) of { _tlOaRenMp | _tlOaRenMp `seq` (True) -> (case (tl_1 _tlOaRenMp _tlOlev _tlOmoduleNm _tlOropts) of { ( _tlIcTrf,_tlInmL) | True -> (case (_lhsIropts) of { _hdOropts | _hdOropts `seq` (True) -> (case (_lhsImoduleNm) of { _hdOmoduleNm | _hdOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _hdOlev | _hdOlev `seq` (True) -> (case (_lhsIaRenMp) of { _hdOaRenMp | _hdOaRenMp `seq` (True) -> (case (hd_1 _hdOaRenMp _hdOlev _hdOmoduleNm _hdOropts) of { ( _hdIcTrf,_hdInmL) | True -> (case ((:) _hdIcTrf _tlIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> (case (_hdInmL ++ _tlInmL) of { _lhsOnmL | _lhsOnmL `seq` (True) -> ( _lhsOcTrf,_lhsOnmL) }) }) }) }) }) }) }) }) }) }) }) }) })) in sem_CBindAnnL_Cons_1)) of { ( sem_CBindAnnL_1) | True -> ( _lhsOgIniq,sem_CBindAnnL_1) }) }) }) }) }) })) sem_CBindAnnL_Nil :: T_CBindAnnL sem_CBindAnnL_Nil = (\ _lhsIgIniq -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CBindAnnL_Nil_1 :: T_CBindAnnL_1 sem_CBindAnnL_Nil_1 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm _lhsIropts -> (case ([]) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> (case ([]) of { _lhsOnmL | _lhsOnmL `seq` (True) -> ( _lhsOcTrf,_lhsOnmL) }) }) })) in sem_CBindAnnL_Nil_1)) of { ( sem_CBindAnnL_1) | True -> ( _lhsOgIniq,sem_CBindAnnL_1) }) })) -- CBindL ------------------------------------------------------ {- visit 0: inherited attribute: protectedBindingNames : [HsName] synthesized attribute: nmL : [HsName] visit 1: inherited attribute: ropts : RenUniqOpts chained attribute: gIniq : Int visit 2: inherited attributes: aRenMp : ARenMp lev : Int moduleNm : HsName synthesized attribute: cTrf : CBindL alternatives: alternative Cons: child hd : CBind child tl : CBindL visit 2: local cTrf : _ alternative Nil: visit 2: local cTrf : _ -} -- cata sem_CBindL :: CBindL -> T_CBindL sem_CBindL list = (Prelude.foldr sem_CBindL_Cons sem_CBindL_Nil (Prelude.map sem_CBind list)) -- semantic domain type T_CBindL = ([HsName]) -> ( ([HsName]),T_CBindL_1) type T_CBindL_1 = Int -> RenUniqOpts -> ( Int,T_CBindL_2) type T_CBindL_2 = ARenMp -> Int -> HsName -> ( CBindL) sem_CBindL_Cons :: T_CBind -> T_CBindL -> T_CBindL sem_CBindL_Cons hd_ tl_ = (\ _lhsIprotectedBindingNames -> (case (_lhsIprotectedBindingNames) of { _tlOprotectedBindingNames | _tlOprotectedBindingNames `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _hdOprotectedBindingNames | _hdOprotectedBindingNames `seq` (True) -> (case (tl_ _tlOprotectedBindingNames) of { ( _tlInmL,tl_1) | True -> (case (hd_ _hdOprotectedBindingNames) of { ( _hdInm,_hdInmL,hd_1) | True -> (case (_hdInmL ++ _tlInmL) of { _lhsOnmL | _lhsOnmL `seq` (True) -> (case ((let sem_CBindL_Cons_1 :: T_CBindL_1 sem_CBindL_Cons_1 = (\ _lhsIgIniq _lhsIropts -> (case (_lhsIropts) of { _tlOropts | _tlOropts `seq` (True) -> (case (_lhsIropts) of { _hdOropts | _hdOropts `seq` (True) -> (case (_lhsIgIniq) of { _hdOgIniq | _hdOgIniq `seq` (True) -> (case (hd_1 _hdOgIniq _hdOropts) of { ( _hdIgIniq,hd_2) | True -> (case (_hdIgIniq) of { _tlOgIniq | _tlOgIniq `seq` (True) -> (case (tl_1 _tlOgIniq _tlOropts) of { ( _tlIgIniq,tl_2) | True -> (case (_tlIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CBindL_Cons_2 :: T_CBindL_2 sem_CBindL_Cons_2 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm -> (case (_lhsImoduleNm) of { _tlOmoduleNm | _tlOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _tlOlev | _tlOlev `seq` (True) -> (case (_lhsIaRenMp) of { _tlOaRenMp | _tlOaRenMp `seq` (True) -> (case (_lhsImoduleNm) of { _hdOmoduleNm | _hdOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _hdOlev | _hdOlev `seq` (True) -> (case (_lhsIaRenMp) of { _hdOaRenMp | _hdOaRenMp `seq` (True) -> (case (tl_2 _tlOaRenMp _tlOlev _tlOmoduleNm) of { ( _tlIcTrf) | True -> (case (hd_2 _hdOaRenMp _hdOlev _hdOmoduleNm) of { ( _hdIcTrf) | True -> (case ((:) _hdIcTrf _tlIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) }) }) }) }) }) })) in sem_CBindL_Cons_2)) of { ( sem_CBindL_2) | True -> ( _lhsOgIniq,sem_CBindL_2) }) }) }) }) }) }) }) })) in sem_CBindL_Cons_1)) of { ( sem_CBindL_1) | True -> ( _lhsOnmL,sem_CBindL_1) }) }) }) }) }) })) sem_CBindL_Nil :: T_CBindL sem_CBindL_Nil = (\ _lhsIprotectedBindingNames -> (case ([]) of { _lhsOnmL | _lhsOnmL `seq` (True) -> (case ((let sem_CBindL_Nil_1 :: T_CBindL_1 sem_CBindL_Nil_1 = (\ _lhsIgIniq _lhsIropts -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CBindL_Nil_2 :: T_CBindL_2 sem_CBindL_Nil_2 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm -> (case ([]) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) })) in sem_CBindL_Nil_2)) of { ( sem_CBindL_2) | True -> ( _lhsOgIniq,sem_CBindL_2) }) })) in sem_CBindL_Nil_1)) of { ( sem_CBindL_1) | True -> ( _lhsOnmL,sem_CBindL_1) }) })) -- CBound ------------------------------------------------------ {- visit 0: inherited attributes: protectedBindingNames : [HsName] ropts : RenUniqOpts chained attribute: gIniq : Int visit 1: inherited attributes: aRenMp : ARenMp lev : Int moduleNm : HsName nm : HsName synthesized attributes: cTrf : CBound nmL : [HsName] alternatives: alternative Bind: child expr : CExpr visit 1: local aRenMp : _ local cTrf : _ alternative Val: child aspectKeyS : {ACoreBindAspectKeyS} child mlev : {MetaLev} child lbl : {CLbl} child expr : CExpr visit 1: local aRenMp : _ local cTrf : _ alternative Ty: child aspectKeyS : {ACoreBindAspectKeyS} child ty : {Ty} visit 1: local cTrf : _ alternative FFE: child callconv : {FFIWay} child expEnt : {ForeignEnt} child expr : CExpr child ty : {Ty} visit 1: local aRenMp : _ local cTrf : _ -} -- cata sem_CBound :: CBound -> T_CBound sem_CBound (CBound_Bind _expr) = (sem_CBound_Bind (sem_CExpr _expr)) sem_CBound (CBound_Val _aspectKeyS _mlev _lbl _expr) = (sem_CBound_Val _aspectKeyS _mlev _lbl (sem_CExpr _expr)) sem_CBound (CBound_Ty _aspectKeyS _ty) = (sem_CBound_Ty _aspectKeyS _ty) sem_CBound (CBound_FFE _callconv _expEnt _expr _ty) = (sem_CBound_FFE _callconv _expEnt (sem_CExpr _expr) _ty) -- semantic domain type T_CBound = Int -> ([HsName]) -> RenUniqOpts -> ( Int,T_CBound_1) type T_CBound_1 = ARenMp -> Int -> HsName -> HsName -> ( CBound,([HsName])) sem_CBound_Bind :: T_CExpr -> T_CBound sem_CBound_Bind expr_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIropts) of { _exprOropts | _exprOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _exprOprotectedBindingNames | _exprOprotectedBindingNames `seq` (True) -> (case (if renuniqOptResetOnlyInLam _lhsIropts then 1 else _lhsIgIniq) of { _exprOgIniq | _exprOgIniq `seq` (True) -> (case (expr_ _exprOgIniq _exprOprotectedBindingNames _exprOropts) of { ( _exprIgIniq,_exprIisLamBody,expr_1) | True -> (case (if renuniqOptResetOnlyInLam _lhsIropts then _lhsIgIniq else _exprIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CBound_Bind_1 :: T_CBound_1 sem_CBound_Bind_1 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm _lhsInm -> (case (_lhsImoduleNm) of { _exprOmoduleNm | _exprOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _exprOlev | _exprOlev `seq` (True) -> (case (_lhsIaRenMp) of { _exprOaccumARenMp | _exprOaccumARenMp `seq` (True) -> (case (expr_1 _exprOaccumARenMp _exprOlev _exprOmoduleNm) of { ( _exprIaccumARenMp,expr_2) | True -> (case (_exprIaccumARenMp) of { _aRenMp | _aRenMp `seq` (True) -> (case (_aRenMp) of { _exprOaRenMp | _exprOaRenMp `seq` (True) -> (case (expr_2 _exprOaRenMp) of { ( _exprIcTrf) | True -> (case (CBound_Bind _exprIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> (case ([]) of { _lhsOnmL | _lhsOnmL `seq` (True) -> ( _lhsOcTrf,_lhsOnmL) }) }) }) }) }) }) }) }) }) })) in sem_CBound_Bind_1)) of { ( sem_CBound_1) | True -> ( _lhsOgIniq,sem_CBound_1) }) }) }) }) }) })) sem_CBound_Val :: ACoreBindAspectKeyS -> MetaLev -> CLbl -> T_CExpr -> T_CBound sem_CBound_Val aspectKeyS_ mlev_ lbl_ expr_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIropts) of { _exprOropts | _exprOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _exprOprotectedBindingNames | _exprOprotectedBindingNames `seq` (True) -> (case (if renuniqOptResetOnlyInLam _lhsIropts then 1 else _lhsIgIniq) of { _exprOgIniq | _exprOgIniq `seq` (True) -> (case (expr_ _exprOgIniq _exprOprotectedBindingNames _exprOropts) of { ( _exprIgIniq,_exprIisLamBody,expr_1) | True -> (case (if renuniqOptResetOnlyInLam _lhsIropts then _lhsIgIniq else _exprIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CBound_Val_1 :: T_CBound_1 sem_CBound_Val_1 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm _lhsInm -> (case (_lhsImoduleNm) of { _exprOmoduleNm | _exprOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _exprOlev | _exprOlev `seq` (True) -> (case (_lhsIaRenMp) of { _exprOaccumARenMp | _exprOaccumARenMp `seq` (True) -> (case (expr_1 _exprOaccumARenMp _exprOlev _exprOmoduleNm) of { ( _exprIaccumARenMp,expr_2) | True -> (case (_exprIaccumARenMp) of { _aRenMp | _aRenMp `seq` (True) -> (case (_aRenMp) of { _exprOaRenMp | _exprOaRenMp `seq` (True) -> (case (expr_2 _exprOaRenMp) of { ( _exprIcTrf) | True -> (case (CBound_Val aspectKeyS_ mlev_ lbl_ _exprIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> (case ([]) of { _lhsOnmL | _lhsOnmL `seq` (True) -> ( _lhsOcTrf,_lhsOnmL) }) }) }) }) }) }) }) }) }) })) in sem_CBound_Val_1)) of { ( sem_CBound_1) | True -> ( _lhsOgIniq,sem_CBound_1) }) }) }) }) }) })) sem_CBound_Ty :: ACoreBindAspectKeyS -> Ty -> T_CBound sem_CBound_Ty aspectKeyS_ ty_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CBound_Ty_1 :: T_CBound_1 sem_CBound_Ty_1 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm _lhsInm -> (case (CBound_Ty aspectKeyS_ ty_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> (case ([]) of { _lhsOnmL | _lhsOnmL `seq` (True) -> ( _lhsOcTrf,_lhsOnmL) }) }) })) in sem_CBound_Ty_1)) of { ( sem_CBound_1) | True -> ( _lhsOgIniq,sem_CBound_1) }) })) sem_CBound_FFE :: FFIWay -> ForeignEnt -> T_CExpr -> Ty -> T_CBound sem_CBound_FFE callconv_ expEnt_ expr_ ty_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIropts) of { _exprOropts | _exprOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _exprOprotectedBindingNames | _exprOprotectedBindingNames `seq` (True) -> (case (_lhsIgIniq) of { _exprOgIniq | _exprOgIniq `seq` (True) -> (case (expr_ _exprOgIniq _exprOprotectedBindingNames _exprOropts) of { ( _exprIgIniq,_exprIisLamBody,expr_1) | True -> (case (_exprIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CBound_FFE_1 :: T_CBound_1 sem_CBound_FFE_1 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm _lhsInm -> (case (_lhsImoduleNm) of { _exprOmoduleNm | _exprOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _exprOlev | _exprOlev `seq` (True) -> (case (_lhsIaRenMp) of { _exprOaccumARenMp | _exprOaccumARenMp `seq` (True) -> (case (expr_1 _exprOaccumARenMp _exprOlev _exprOmoduleNm) of { ( _exprIaccumARenMp,expr_2) | True -> (case (_exprIaccumARenMp) of { _aRenMp | _aRenMp `seq` (True) -> (case (_aRenMp) of { _exprOaRenMp | _exprOaRenMp `seq` (True) -> (case (expr_2 _exprOaRenMp) of { ( _exprIcTrf) | True -> (case (CBound_FFE callconv_ expEnt_ _exprIcTrf ty_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> (case ([]) of { _lhsOnmL | _lhsOnmL `seq` (True) -> ( _lhsOcTrf,_lhsOnmL) }) }) }) }) }) }) }) }) }) })) in sem_CBound_FFE_1)) of { ( sem_CBound_1) | True -> ( _lhsOgIniq,sem_CBound_1) }) }) }) }) }) })) -- CBoundL ----------------------------------------------------- {- visit 0: inherited attributes: protectedBindingNames : [HsName] ropts : RenUniqOpts chained attribute: gIniq : Int visit 1: inherited attributes: aRenMp : ARenMp lev : Int moduleNm : HsName nm : HsName synthesized attributes: cTrf : CBoundL nmL : [HsName] alternatives: alternative Cons: child hd : CBound child tl : CBoundL visit 1: local cTrf : _ alternative Nil: visit 1: local cTrf : _ -} -- cata sem_CBoundL :: CBoundL -> T_CBoundL sem_CBoundL list = (Prelude.foldr sem_CBoundL_Cons sem_CBoundL_Nil (Prelude.map sem_CBound list)) -- semantic domain type T_CBoundL = Int -> ([HsName]) -> RenUniqOpts -> ( Int,T_CBoundL_1) type T_CBoundL_1 = ARenMp -> Int -> HsName -> HsName -> ( CBoundL,([HsName])) sem_CBoundL_Cons :: T_CBound -> T_CBoundL -> T_CBoundL sem_CBoundL_Cons hd_ tl_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIropts) of { _tlOropts | _tlOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _tlOprotectedBindingNames | _tlOprotectedBindingNames `seq` (True) -> (case (_lhsIropts) of { _hdOropts | _hdOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _hdOprotectedBindingNames | _hdOprotectedBindingNames `seq` (True) -> (case (_lhsIgIniq) of { _hdOgIniq | _hdOgIniq `seq` (True) -> (case (hd_ _hdOgIniq _hdOprotectedBindingNames _hdOropts) of { ( _hdIgIniq,hd_1) | True -> (case (_hdIgIniq) of { _tlOgIniq | _tlOgIniq `seq` (True) -> (case (tl_ _tlOgIniq _tlOprotectedBindingNames _tlOropts) of { ( _tlIgIniq,tl_1) | True -> (case (_tlIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CBoundL_Cons_1 :: T_CBoundL_1 sem_CBoundL_Cons_1 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm _lhsInm -> (case (_lhsImoduleNm) of { _tlOmoduleNm | _tlOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _tlOlev | _tlOlev `seq` (True) -> (case (_lhsIaRenMp) of { _tlOaRenMp | _tlOaRenMp `seq` (True) -> (case (_lhsImoduleNm) of { _hdOmoduleNm | _hdOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _hdOlev | _hdOlev `seq` (True) -> (case (_lhsIaRenMp) of { _hdOaRenMp | _hdOaRenMp `seq` (True) -> (case (_lhsInm) of { _tlOnm | _tlOnm `seq` (True) -> (case (tl_1 _tlOaRenMp _tlOlev _tlOmoduleNm _tlOnm) of { ( _tlIcTrf,_tlInmL) | True -> (case (_lhsInm) of { _hdOnm | _hdOnm `seq` (True) -> (case (hd_1 _hdOaRenMp _hdOlev _hdOmoduleNm _hdOnm) of { ( _hdIcTrf,_hdInmL) | True -> (case ((:) _hdIcTrf _tlIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> (case (_hdInmL ++ _tlInmL) of { _lhsOnmL | _lhsOnmL `seq` (True) -> ( _lhsOcTrf,_lhsOnmL) }) }) }) }) }) }) }) }) }) }) }) }) })) in sem_CBoundL_Cons_1)) of { ( sem_CBoundL_1) | True -> ( _lhsOgIniq,sem_CBoundL_1) }) }) }) }) }) }) }) }) }) })) sem_CBoundL_Nil :: T_CBoundL sem_CBoundL_Nil = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CBoundL_Nil_1 :: T_CBoundL_1 sem_CBoundL_Nil_1 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm _lhsInm -> (case ([]) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> (case ([]) of { _lhsOnmL | _lhsOnmL `seq` (True) -> ( _lhsOcTrf,_lhsOnmL) }) }) })) in sem_CBoundL_Nil_1)) of { ( sem_CBoundL_1) | True -> ( _lhsOgIniq,sem_CBoundL_1) }) })) -- CDataCon ---------------------------------------------------- {- visit 0: synthesized attribute: cTrf : CDataCon alternatives: alternative Con: child conNm : {HsName} child tagNr : {Int} child arity : {Int} visit 0: local cTrf : _ -} -- cata sem_CDataCon :: CDataCon -> T_CDataCon sem_CDataCon (CDataCon_Con _conNm _tagNr _arity) = (sem_CDataCon_Con _conNm _tagNr _arity) -- semantic domain type T_CDataCon = ( CDataCon) sem_CDataCon_Con :: HsName -> Int -> Int -> T_CDataCon sem_CDataCon_Con conNm_ tagNr_ arity_ = (case (CDataCon_Con conNm_ tagNr_ arity_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) -- CDataConL --------------------------------------------------- {- visit 0: synthesized attribute: cTrf : CDataConL alternatives: alternative Cons: child hd : CDataCon child tl : CDataConL visit 0: local cTrf : _ alternative Nil: visit 0: local cTrf : _ -} -- cata sem_CDataConL :: CDataConL -> T_CDataConL sem_CDataConL list = (Prelude.foldr sem_CDataConL_Cons sem_CDataConL_Nil (Prelude.map sem_CDataCon list)) -- semantic domain type T_CDataConL = ( CDataConL) sem_CDataConL_Cons :: T_CDataCon -> T_CDataConL -> T_CDataConL sem_CDataConL_Cons hd_ tl_ = (case (tl_) of { ( _tlIcTrf) | True -> (case (hd_) of { ( _hdIcTrf) | True -> (case ((:) _hdIcTrf _tlIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) sem_CDataConL_Nil :: T_CDataConL sem_CDataConL_Nil = (case ([]) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) -- CDeclMeta --------------------------------------------------- {- visit 0: synthesized attribute: cTrf : CDeclMeta alternatives: alternative Data: child tyNm : {HsName} child dataCons : CDataConL visit 0: local cTrf : _ -} -- cata sem_CDeclMeta :: CDeclMeta -> T_CDeclMeta sem_CDeclMeta (CDeclMeta_Data _tyNm _dataCons) = (sem_CDeclMeta_Data _tyNm (sem_CDataConL _dataCons)) -- semantic domain type T_CDeclMeta = ( CDeclMeta) sem_CDeclMeta_Data :: HsName -> T_CDataConL -> T_CDeclMeta sem_CDeclMeta_Data tyNm_ dataCons_ = (case (dataCons_) of { ( _dataConsIcTrf) | True -> (case (CDeclMeta_Data tyNm_ _dataConsIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) -- CDeclMetaL -------------------------------------------------- {- visit 0: synthesized attribute: cTrf : CDeclMetaL alternatives: alternative Cons: child hd : CDeclMeta child tl : CDeclMetaL visit 0: local cTrf : _ alternative Nil: visit 0: local cTrf : _ -} -- cata sem_CDeclMetaL :: CDeclMetaL -> T_CDeclMetaL sem_CDeclMetaL list = (Prelude.foldr sem_CDeclMetaL_Cons sem_CDeclMetaL_Nil (Prelude.map sem_CDeclMeta list)) -- semantic domain type T_CDeclMetaL = ( CDeclMetaL) sem_CDeclMetaL_Cons :: T_CDeclMeta -> T_CDeclMetaL -> T_CDeclMetaL sem_CDeclMetaL_Cons hd_ tl_ = (case (tl_) of { ( _tlIcTrf) | True -> (case (hd_) of { ( _hdIcTrf) | True -> (case ((:) _hdIcTrf _tlIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) sem_CDeclMetaL_Nil :: T_CDeclMetaL sem_CDeclMetaL_Nil = (case ([]) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) -- CExport ----------------------------------------------------- {- visit 0: synthesized attribute: cTrf : CExport alternatives: alternative Export: child nm : {HsName} visit 0: local cTrf : _ alternative ExportData: child nm : {HsName} child mbConNmL : {Maybe [HsName]} visit 0: local cTrf : _ -} -- cata sem_CExport :: CExport -> T_CExport sem_CExport (CExport_Export _nm) = (sem_CExport_Export _nm) sem_CExport (CExport_ExportData _nm _mbConNmL) = (sem_CExport_ExportData _nm _mbConNmL) -- semantic domain type T_CExport = ( CExport) sem_CExport_Export :: HsName -> T_CExport sem_CExport_Export nm_ = (case (CExport_Export nm_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) sem_CExport_ExportData :: HsName -> (Maybe [HsName]) -> T_CExport sem_CExport_ExportData nm_ mbConNmL_ = (case (CExport_ExportData nm_ mbConNmL_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) -- CExportL ---------------------------------------------------- {- visit 0: synthesized attribute: cTrf : CExportL alternatives: alternative Cons: child hd : CExport child tl : CExportL visit 0: local cTrf : _ alternative Nil: visit 0: local cTrf : _ -} -- cata sem_CExportL :: CExportL -> T_CExportL sem_CExportL list = (Prelude.foldr sem_CExportL_Cons sem_CExportL_Nil (Prelude.map sem_CExport list)) -- semantic domain type T_CExportL = ( CExportL) sem_CExportL_Cons :: T_CExport -> T_CExportL -> T_CExportL sem_CExportL_Cons hd_ tl_ = (case (tl_) of { ( _tlIcTrf) | True -> (case (hd_) of { ( _hdIcTrf) | True -> (case ((:) _hdIcTrf _tlIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) sem_CExportL_Nil :: T_CExportL sem_CExportL_Nil = (case ([]) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) -- CExpr ------------------------------------------------------- {- visit 0: inherited attributes: protectedBindingNames : [HsName] ropts : RenUniqOpts chained attribute: gIniq : Int synthesized attribute: isLamBody : Bool visit 1: inherited attributes: lev : Int moduleNm : HsName chained attribute: accumARenMp : ARenMp visit 2: inherited attribute: aRenMp : ARenMp synthesized attribute: cTrf : CExpr alternatives: alternative Var: child ref : {ACoreBindRef} visit 2: local nm : {HsName} alternative Int: child int : {Int} visit 2: local cTrf : _ alternative Char: child char : {Char} visit 2: local cTrf : _ alternative String: child str : {String} visit 2: local cTrf : _ alternative Integer: child integer : {Integer} visit 2: local cTrf : _ alternative Tup: child tag : {CTag} visit 2: local cTrf : _ alternative Let: child categ : {CBindCateg} child binds : CBindL child body : CExpr visit 0: local _tup2 : _ visit 1: local isGlobal : _ local lIniq : _ local addToARenMp : _ intra _tup2 : _ visit 2: local aRenMp : _ local cTrf : _ intra addToARenMp : _ intra isGlobal : _ alternative App: child func : CExpr child arg : CBound visit 2: local aRenMp : _ local cTrf : _ alternative Lam: child bind : CBind child body : CExpr visit 0: local _tup3 : _ visit 1: intra _tup3 : _ visit 2: local lIniq : _ local argNm : _ local aRenMp : _ intra _tup3 : _ alternative Case: child expr : CExpr child alts : CAltL child dflt : CExpr visit 2: local accumARenMp : _ local aRenMp : _ local cTrf : _ alternative CaseAltFail: child failReason : {CaseAltFailReason} child errorExpr : CExpr visit 2: local aRenMp : _ local cTrf : _ alternative TupDel: child expr : CExpr child tag : {CTag} child nm : {HsName} child offset : CExpr visit 2: local accumARenMp : _ local aRenMp : _ local cTrf : _ alternative TupIns: child expr : CExpr child tag : {CTag} child nm : {HsName} child offset : CExpr child fldExpr : CExpr visit 2: local accumARenMp : _ local aRenMp : _ local cTrf : _ alternative TupUpd: child expr : CExpr child tag : {CTag} child nm : {HsName} child offset : CExpr child fldExpr : CExpr visit 2: local accumARenMp : _ local aRenMp : _ local cTrf : _ alternative FFI: child callconv : {FFIWay} child safety : {String} child impEnt : {ForeignEnt} child ty : {Ty} visit 2: local cTrf : _ alternative Dbg: child info : {String} visit 2: local cTrf : _ alternative Hole: child uid : {UID} visit 2: local cTrf : _ alternative HoleLet: child bindsUid : {UID} child body : CExpr visit 2: local aRenMp : _ local cTrf : _ alternative CoeArg: visit 2: local cTrf : _ alternative ImplsApp: child func : CExpr child uid : {ImplsVarId} visit 2: local aRenMp : _ local cTrf : _ alternative ImplsLam: child uid : {ImplsVarId} child body : CExpr visit 2: local aRenMp : _ local cTrf : _ alternative Ann: child ann : CExprAnn child expr : CExpr visit 2: local cTrf : _ -} -- cata sem_CExpr :: CExpr -> T_CExpr sem_CExpr (CExpr_Var _ref) = (sem_CExpr_Var _ref) sem_CExpr (CExpr_Int _int) = (sem_CExpr_Int _int) sem_CExpr (CExpr_Char _char) = (sem_CExpr_Char _char) sem_CExpr (CExpr_String _str) = (sem_CExpr_String _str) sem_CExpr (CExpr_Integer _integer) = (sem_CExpr_Integer _integer) sem_CExpr (CExpr_Tup _tag) = (sem_CExpr_Tup _tag) sem_CExpr (CExpr_Let _categ _binds _body) = (sem_CExpr_Let _categ (sem_CBindL _binds) (sem_CExpr _body)) sem_CExpr (CExpr_App _func _arg) = (sem_CExpr_App (sem_CExpr _func) (sem_CBound _arg)) sem_CExpr (CExpr_Lam _bind _body) = (sem_CExpr_Lam (sem_CBind _bind) (sem_CExpr _body)) sem_CExpr (CExpr_Case _expr _alts _dflt) = (sem_CExpr_Case (sem_CExpr _expr) (sem_CAltL _alts) (sem_CExpr _dflt)) sem_CExpr (CExpr_CaseAltFail _failReason _errorExpr) = (sem_CExpr_CaseAltFail _failReason (sem_CExpr _errorExpr)) sem_CExpr (CExpr_TupDel _expr _tag _nm _offset) = (sem_CExpr_TupDel (sem_CExpr _expr) _tag _nm (sem_CExpr _offset)) sem_CExpr (CExpr_TupIns _expr _tag _nm _offset _fldExpr) = (sem_CExpr_TupIns (sem_CExpr _expr) _tag _nm (sem_CExpr _offset) (sem_CExpr _fldExpr)) sem_CExpr (CExpr_TupUpd _expr _tag _nm _offset _fldExpr) = (sem_CExpr_TupUpd (sem_CExpr _expr) _tag _nm (sem_CExpr _offset) (sem_CExpr _fldExpr)) sem_CExpr (CExpr_FFI _callconv _safety _impEnt _ty) = (sem_CExpr_FFI _callconv _safety _impEnt _ty) sem_CExpr (CExpr_Dbg _info) = (sem_CExpr_Dbg _info) sem_CExpr (CExpr_Hole _uid) = (sem_CExpr_Hole _uid) sem_CExpr (CExpr_HoleLet _bindsUid _body) = (sem_CExpr_HoleLet _bindsUid (sem_CExpr _body)) sem_CExpr (CExpr_CoeArg) = (sem_CExpr_CoeArg) sem_CExpr (CExpr_ImplsApp _func _uid) = (sem_CExpr_ImplsApp (sem_CExpr _func) _uid) sem_CExpr (CExpr_ImplsLam _uid _body) = (sem_CExpr_ImplsLam _uid (sem_CExpr _body)) sem_CExpr (CExpr_Ann _ann _expr) = (sem_CExpr_Ann (sem_CExprAnn _ann) (sem_CExpr _expr)) -- semantic domain type T_CExpr = Int -> ([HsName]) -> RenUniqOpts -> ( Int,Bool,T_CExpr_1) type T_CExpr_1 = ARenMp -> Int -> HsName -> ( ARenMp,T_CExpr_2) type T_CExpr_2 = ARenMp -> ( CExpr) sem_CExpr_Var :: ACoreBindRef -> T_CExpr sem_CExpr_Var ref_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (True) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_Var_1 :: T_CExpr_1 sem_CExpr_Var_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_Var_2 :: T_CExpr_2 sem_CExpr_Var_2 = (\ _lhsIaRenMp -> (case (acbrefNm ref_) of { _nm | _nm `seq` (True) -> (case (acoreVar (aRenRepl _lhsIaRenMp _nm)) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) })) in sem_CExpr_Var_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) })) in sem_CExpr_Var_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) })) sem_CExpr_Int :: Int -> T_CExpr sem_CExpr_Int int_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (True) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_Int_1 :: T_CExpr_1 sem_CExpr_Int_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_Int_2 :: T_CExpr_2 sem_CExpr_Int_2 = (\ _lhsIaRenMp -> (case (CExpr_Int int_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) })) in sem_CExpr_Int_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) })) in sem_CExpr_Int_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) })) sem_CExpr_Char :: Char -> T_CExpr sem_CExpr_Char char_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (True) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_Char_1 :: T_CExpr_1 sem_CExpr_Char_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_Char_2 :: T_CExpr_2 sem_CExpr_Char_2 = (\ _lhsIaRenMp -> (case (CExpr_Char char_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) })) in sem_CExpr_Char_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) })) in sem_CExpr_Char_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) })) sem_CExpr_String :: String -> T_CExpr sem_CExpr_String str_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (True) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_String_1 :: T_CExpr_1 sem_CExpr_String_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_String_2 :: T_CExpr_2 sem_CExpr_String_2 = (\ _lhsIaRenMp -> (case (CExpr_String str_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) })) in sem_CExpr_String_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) })) in sem_CExpr_String_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) })) sem_CExpr_Integer :: Integer -> T_CExpr sem_CExpr_Integer integer_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (True) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_Integer_1 :: T_CExpr_1 sem_CExpr_Integer_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_Integer_2 :: T_CExpr_2 sem_CExpr_Integer_2 = (\ _lhsIaRenMp -> (case (CExpr_Integer integer_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) })) in sem_CExpr_Integer_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) })) in sem_CExpr_Integer_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) })) sem_CExpr_Tup :: CTag -> T_CExpr sem_CExpr_Tup tag_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (True) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_Tup_1 :: T_CExpr_1 sem_CExpr_Tup_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_Tup_2 :: T_CExpr_2 sem_CExpr_Tup_2 = (\ _lhsIaRenMp -> (case (CExpr_Tup tag_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) })) in sem_CExpr_Tup_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) })) in sem_CExpr_Tup_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) })) sem_CExpr_Let :: CBindCateg -> T_CBindL -> T_CExpr -> T_CExpr sem_CExpr_Let categ_ binds_ body_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIropts) of { _bodyOropts | _bodyOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _bodyOprotectedBindingNames | _bodyOprotectedBindingNames `seq` (True) -> (case (_lhsIropts) of { _bindsOropts | _bindsOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _bindsOprotectedBindingNames | _bindsOprotectedBindingNames `seq` (True) -> (case (binds_ _bindsOprotectedBindingNames) of { ( _bindsInmL,binds_1) | True -> (case (newIniq (length _bindsInmL) _lhsIgIniq) of { __tup2 | __tup2 `seq` (True) -> (case (__tup2) of { (_bindsOgIniq,_) | _bindsOgIniq `seq` (True) -> (case (binds_1 _bindsOgIniq _bindsOropts) of { ( _bindsIgIniq,binds_2) | True -> (case (_bindsIgIniq) of { _bodyOgIniq | _bodyOgIniq `seq` (True) -> (case (body_ _bodyOgIniq _bodyOprotectedBindingNames _bodyOropts) of { ( _bodyIgIniq,_bodyIisLamBody,body_1) | True -> (case (_bodyIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (True) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_Let_1 :: T_CExpr_1 sem_CExpr_Let_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsImoduleNm) of { _bodyOmoduleNm | _bodyOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _bodyOlev | _bodyOlev `seq` (True) -> (case (_lhsIlev == cLevModule) of { _isGlobal | _isGlobal `seq` (True) -> (case (__tup2) of { (_,_lIniq) | _lIniq `seq` (True) -> (case (\m -> aRenAdd _lhsIropts _isGlobal _lhsImoduleNm _bindsInmL _lIniq m) of { _addToARenMp | _addToARenMp `seq` (True) -> (case (if _isGlobal then _addToARenMp _lhsIaccumARenMp else _lhsIaccumARenMp) of { _bodyOaccumARenMp | _bodyOaccumARenMp `seq` (True) -> (case (body_1 _bodyOaccumARenMp _bodyOlev _bodyOmoduleNm) of { ( _bodyIaccumARenMp,body_2) | True -> (case (_bodyIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_Let_2 :: T_CExpr_2 sem_CExpr_Let_2 = (\ _lhsIaRenMp -> (case (if _isGlobal then _lhsIaRenMp else _addToARenMp _lhsIaRenMp) of { _aRenMp | _aRenMp `seq` (True) -> (case (_aRenMp) of { _bodyOaRenMp | _bodyOaRenMp `seq` (True) -> (case (_lhsImoduleNm) of { _bindsOmoduleNm | _bindsOmoduleNm `seq` (True) -> (case (_aRenMp) of { _bindsOaRenMp | _bindsOaRenMp `seq` (True) -> (case (_lhsIlev + 1) of { _bindsOlev | _bindsOlev `seq` (True) -> (case (body_2 _bodyOaRenMp) of { ( _bodyIcTrf) | True -> (case (binds_2 _bindsOaRenMp _bindsOlev _bindsOmoduleNm) of { ( _bindsIcTrf) | True -> (case (CExpr_Let categ_ _bindsIcTrf _bodyIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) }) }) }) }) })) in sem_CExpr_Let_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) }) }) }) }) }) }) }) })) in sem_CExpr_Let_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) }) }) }) }) }) }) }) }) }) }) })) sem_CExpr_App :: T_CExpr -> T_CBound -> T_CExpr sem_CExpr_App func_ arg_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIropts) of { _argOropts | _argOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _argOprotectedBindingNames | _argOprotectedBindingNames `seq` (True) -> (case (_lhsIropts) of { _funcOropts | _funcOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _funcOprotectedBindingNames | _funcOprotectedBindingNames `seq` (True) -> (case (_lhsIgIniq) of { _funcOgIniq | _funcOgIniq `seq` (True) -> (case (func_ _funcOgIniq _funcOprotectedBindingNames _funcOropts) of { ( _funcIgIniq,_funcIisLamBody,func_1) | True -> (case (_funcIgIniq) of { _argOgIniq | _argOgIniq `seq` (True) -> (case (arg_ _argOgIniq _argOprotectedBindingNames _argOropts) of { ( _argIgIniq,arg_1) | True -> (case (_argIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (True) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_App_1 :: T_CExpr_1 sem_CExpr_App_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_App_2 :: T_CExpr_2 sem_CExpr_App_2 = (\ _lhsIaRenMp -> (case (_lhsImoduleNm) of { _argOmoduleNm | _argOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _argOlev | _argOlev `seq` (True) -> (case (_lhsImoduleNm) of { _funcOmoduleNm | _funcOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _funcOlev | _funcOlev `seq` (True) -> (case (_lhsIaRenMp) of { _funcOaccumARenMp | _funcOaccumARenMp `seq` (True) -> (case (func_1 _funcOaccumARenMp _funcOlev _funcOmoduleNm) of { ( _funcIaccumARenMp,func_2) | True -> (case (_funcIaccumARenMp) of { _aRenMp | _aRenMp `seq` (True) -> (case (_aRenMp) of { _argOaRenMp | _argOaRenMp `seq` (True) -> (case (_aRenMp) of { _funcOaRenMp | _funcOaRenMp `seq` (True) -> (case (hsnUnknown) of { _argOnm | _argOnm `seq` (True) -> (case (arg_1 _argOaRenMp _argOlev _argOmoduleNm _argOnm) of { ( _argIcTrf,_argInmL) | True -> (case (func_2 _funcOaRenMp) of { ( _funcIcTrf) | True -> (case (CExpr_App _funcIcTrf _argIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) }) }) }) }) }) }) }) }) }) })) in sem_CExpr_App_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) })) in sem_CExpr_App_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) }) }) }) }) }) }) }) }) })) sem_CExpr_Lam :: T_CBind -> T_CExpr -> T_CExpr sem_CExpr_Lam bind_ body_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIropts) of { _bodyOropts | _bodyOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _bodyOprotectedBindingNames | _bodyOprotectedBindingNames `seq` (True) -> (case (newIniq 1 _lhsIgIniq) of { __tup3 | __tup3 `seq` (True) -> (case (__tup3) of { (_bodyOgIniq,_) | _bodyOgIniq `seq` (True) -> (case (body_ _bodyOgIniq _bodyOprotectedBindingNames _bodyOropts) of { ( _bodyIgIniq,_bodyIisLamBody,body_1) | True -> (case (_bodyIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (False) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_Lam_1 :: T_CExpr_1 sem_CExpr_Lam_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_Lam_2 :: T_CExpr_2 sem_CExpr_Lam_2 = (\ _lhsIaRenMp -> (case (_lhsImoduleNm) of { _bodyOmoduleNm | _bodyOmoduleNm `seq` (True) -> (case (if _bodyIisLamBody then _lhsIlev + 1 else _lhsIlev) of { _bodyOlev | _bodyOlev `seq` (True) -> (case (__tup3) of { (_,_lIniq) | _lIniq `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _bindOprotectedBindingNames | _bindOprotectedBindingNames `seq` (True) -> (case (bind_ _bindOprotectedBindingNames) of { ( _bindInm,_bindInmL,bind_1) | True -> (case (_bindInm) of { _argNm | _argNm `seq` (True) -> (case (aRenAdd _lhsIropts False _lhsImoduleNm [_argNm] _lIniq _lhsIaRenMp) of { _bodyOaccumARenMp | _bodyOaccumARenMp `seq` (True) -> (case (body_1 _bodyOaccumARenMp _bodyOlev _bodyOmoduleNm) of { ( _bodyIaccumARenMp,body_2) | True -> (case (_bodyIaccumARenMp) of { _aRenMp | _aRenMp `seq` (True) -> (case (_aRenMp) of { _bodyOaRenMp | _bodyOaRenMp `seq` (True) -> (case (body_2 _bodyOaRenMp) of { ( _bodyIcTrf) | True -> (case (acoreLam1 (aRenRepl _aRenMp _argNm) _bodyIcTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) }) }) }) }) }) }) }) })) in sem_CExpr_Lam_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) })) in sem_CExpr_Lam_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) }) }) }) }) }) })) sem_CExpr_Case :: T_CExpr -> T_CAltL -> T_CExpr -> T_CExpr sem_CExpr_Case expr_ alts_ dflt_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIropts) of { _dfltOropts | _dfltOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _dfltOprotectedBindingNames | _dfltOprotectedBindingNames `seq` (True) -> (case (_lhsIropts) of { _altsOropts | _altsOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _altsOprotectedBindingNames | _altsOprotectedBindingNames `seq` (True) -> (case (_lhsIropts) of { _exprOropts | _exprOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _exprOprotectedBindingNames | _exprOprotectedBindingNames `seq` (True) -> (case (_lhsIgIniq) of { _exprOgIniq | _exprOgIniq `seq` (True) -> (case (expr_ _exprOgIniq _exprOprotectedBindingNames _exprOropts) of { ( _exprIgIniq,_exprIisLamBody,expr_1) | True -> (case (_exprIgIniq) of { _altsOgIniq | _altsOgIniq `seq` (True) -> (case (alts_ _altsOgIniq _altsOprotectedBindingNames _altsOropts) of { ( _altsIgIniq,alts_1) | True -> (case (_altsIgIniq) of { _dfltOgIniq | _dfltOgIniq `seq` (True) -> (case (dflt_ _dfltOgIniq _dfltOprotectedBindingNames _dfltOropts) of { ( _dfltIgIniq,_dfltIisLamBody,dflt_1) | True -> (case (_dfltIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (True) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_Case_1 :: T_CExpr_1 sem_CExpr_Case_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_Case_2 :: T_CExpr_2 sem_CExpr_Case_2 = (\ _lhsIaRenMp -> (case (_lhsImoduleNm) of { _dfltOmoduleNm | _dfltOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _dfltOlev | _dfltOlev `seq` (True) -> (case (_lhsIaRenMp) of { _accumARenMp | _accumARenMp `seq` (True) -> (case (_accumARenMp) of { _dfltOaccumARenMp | _dfltOaccumARenMp `seq` (True) -> (case (dflt_1 _dfltOaccumARenMp _dfltOlev _dfltOmoduleNm) of { ( _dfltIaccumARenMp,dflt_2) | True -> (case (_dfltIaccumARenMp) of { _aRenMp | _aRenMp `seq` (True) -> (case (_aRenMp) of { _dfltOaRenMp | _dfltOaRenMp `seq` (True) -> (case (_lhsImoduleNm) of { _altsOmoduleNm | _altsOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _altsOlev | _altsOlev `seq` (True) -> (case (_aRenMp) of { _altsOaRenMp | _altsOaRenMp `seq` (True) -> (case (_lhsImoduleNm) of { _exprOmoduleNm | _exprOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _exprOlev | _exprOlev `seq` (True) -> (case (_aRenMp) of { _exprOaRenMp | _exprOaRenMp `seq` (True) -> (case (_lhsIaRenMp) of { _exprOaccumARenMp | _exprOaccumARenMp `seq` (True) -> (case (dflt_2 _dfltOaRenMp) of { ( _dfltIcTrf) | True -> (case (alts_1 _altsOaRenMp _altsOlev _altsOmoduleNm) of { ( _altsIcTrf) | True -> (case (expr_1 _exprOaccumARenMp _exprOlev _exprOmoduleNm) of { ( _exprIaccumARenMp,expr_2) | True -> (case (expr_2 _exprOaRenMp) of { ( _exprIcTrf) | True -> (case (CExpr_Case _exprIcTrf _altsIcTrf _dfltIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })) in sem_CExpr_Case_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) })) in sem_CExpr_Case_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })) sem_CExpr_CaseAltFail :: CaseAltFailReason -> T_CExpr -> T_CExpr sem_CExpr_CaseAltFail failReason_ errorExpr_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIropts) of { _errorExprOropts | _errorExprOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _errorExprOprotectedBindingNames | _errorExprOprotectedBindingNames `seq` (True) -> (case (_lhsIgIniq) of { _errorExprOgIniq | _errorExprOgIniq `seq` (True) -> (case (errorExpr_ _errorExprOgIniq _errorExprOprotectedBindingNames _errorExprOropts) of { ( _errorExprIgIniq,_errorExprIisLamBody,errorExpr_1) | True -> (case (_errorExprIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (True) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_CaseAltFail_1 :: T_CExpr_1 sem_CExpr_CaseAltFail_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_CaseAltFail_2 :: T_CExpr_2 sem_CExpr_CaseAltFail_2 = (\ _lhsIaRenMp -> (case (_lhsImoduleNm) of { _errorExprOmoduleNm | _errorExprOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _errorExprOlev | _errorExprOlev `seq` (True) -> (case (_lhsIaRenMp) of { _errorExprOaccumARenMp | _errorExprOaccumARenMp `seq` (True) -> (case (errorExpr_1 _errorExprOaccumARenMp _errorExprOlev _errorExprOmoduleNm) of { ( _errorExprIaccumARenMp,errorExpr_2) | True -> (case (_errorExprIaccumARenMp) of { _aRenMp | _aRenMp `seq` (True) -> (case (_aRenMp) of { _errorExprOaRenMp | _errorExprOaRenMp `seq` (True) -> (case (errorExpr_2 _errorExprOaRenMp) of { ( _errorExprIcTrf) | True -> (case (CExpr_CaseAltFail failReason_ _errorExprIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) }) }) }) }) })) in sem_CExpr_CaseAltFail_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) })) in sem_CExpr_CaseAltFail_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) }) }) }) }) })) sem_CExpr_TupDel :: T_CExpr -> CTag -> HsName -> T_CExpr -> T_CExpr sem_CExpr_TupDel expr_ tag_ nm_ offset_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIropts) of { _offsetOropts | _offsetOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _offsetOprotectedBindingNames | _offsetOprotectedBindingNames `seq` (True) -> (case (_lhsIropts) of { _exprOropts | _exprOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _exprOprotectedBindingNames | _exprOprotectedBindingNames `seq` (True) -> (case (_lhsIgIniq) of { _exprOgIniq | _exprOgIniq `seq` (True) -> (case (expr_ _exprOgIniq _exprOprotectedBindingNames _exprOropts) of { ( _exprIgIniq,_exprIisLamBody,expr_1) | True -> (case (_exprIgIniq) of { _offsetOgIniq | _offsetOgIniq `seq` (True) -> (case (offset_ _offsetOgIniq _offsetOprotectedBindingNames _offsetOropts) of { ( _offsetIgIniq,_offsetIisLamBody,offset_1) | True -> (case (_offsetIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (True) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_TupDel_1 :: T_CExpr_1 sem_CExpr_TupDel_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_TupDel_2 :: T_CExpr_2 sem_CExpr_TupDel_2 = (\ _lhsIaRenMp -> (case (_lhsImoduleNm) of { _offsetOmoduleNm | _offsetOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _offsetOlev | _offsetOlev `seq` (True) -> (case (_lhsIaRenMp) of { _accumARenMp | _accumARenMp `seq` (True) -> (case (_accumARenMp) of { _offsetOaccumARenMp | _offsetOaccumARenMp `seq` (True) -> (case (offset_1 _offsetOaccumARenMp _offsetOlev _offsetOmoduleNm) of { ( _offsetIaccumARenMp,offset_2) | True -> (case (_offsetIaccumARenMp) of { _aRenMp | _aRenMp `seq` (True) -> (case (_aRenMp) of { _offsetOaRenMp | _offsetOaRenMp `seq` (True) -> (case (_lhsImoduleNm) of { _exprOmoduleNm | _exprOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _exprOlev | _exprOlev `seq` (True) -> (case (_aRenMp) of { _exprOaRenMp | _exprOaRenMp `seq` (True) -> (case (_lhsIaRenMp) of { _exprOaccumARenMp | _exprOaccumARenMp `seq` (True) -> (case (offset_2 _offsetOaRenMp) of { ( _offsetIcTrf) | True -> (case (expr_1 _exprOaccumARenMp _exprOlev _exprOmoduleNm) of { ( _exprIaccumARenMp,expr_2) | True -> (case (expr_2 _exprOaRenMp) of { ( _exprIcTrf) | True -> (case (CExpr_TupDel _exprIcTrf tag_ nm_ _offsetIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })) in sem_CExpr_TupDel_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) })) in sem_CExpr_TupDel_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) }) }) }) }) }) }) }) }) })) sem_CExpr_TupIns :: T_CExpr -> CTag -> HsName -> T_CExpr -> T_CExpr -> T_CExpr sem_CExpr_TupIns expr_ tag_ nm_ offset_ fldExpr_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIropts) of { _fldExprOropts | _fldExprOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _fldExprOprotectedBindingNames | _fldExprOprotectedBindingNames `seq` (True) -> (case (_lhsIropts) of { _offsetOropts | _offsetOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _offsetOprotectedBindingNames | _offsetOprotectedBindingNames `seq` (True) -> (case (_lhsIropts) of { _exprOropts | _exprOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _exprOprotectedBindingNames | _exprOprotectedBindingNames `seq` (True) -> (case (_lhsIgIniq) of { _exprOgIniq | _exprOgIniq `seq` (True) -> (case (expr_ _exprOgIniq _exprOprotectedBindingNames _exprOropts) of { ( _exprIgIniq,_exprIisLamBody,expr_1) | True -> (case (_exprIgIniq) of { _offsetOgIniq | _offsetOgIniq `seq` (True) -> (case (offset_ _offsetOgIniq _offsetOprotectedBindingNames _offsetOropts) of { ( _offsetIgIniq,_offsetIisLamBody,offset_1) | True -> (case (_offsetIgIniq) of { _fldExprOgIniq | _fldExprOgIniq `seq` (True) -> (case (fldExpr_ _fldExprOgIniq _fldExprOprotectedBindingNames _fldExprOropts) of { ( _fldExprIgIniq,_fldExprIisLamBody,fldExpr_1) | True -> (case (_fldExprIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (True) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_TupIns_1 :: T_CExpr_1 sem_CExpr_TupIns_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_TupIns_2 :: T_CExpr_2 sem_CExpr_TupIns_2 = (\ _lhsIaRenMp -> (case (_lhsImoduleNm) of { _fldExprOmoduleNm | _fldExprOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _fldExprOlev | _fldExprOlev `seq` (True) -> (case (_lhsIaRenMp) of { _accumARenMp | _accumARenMp `seq` (True) -> (case (_accumARenMp) of { _fldExprOaccumARenMp | _fldExprOaccumARenMp `seq` (True) -> (case (fldExpr_1 _fldExprOaccumARenMp _fldExprOlev _fldExprOmoduleNm) of { ( _fldExprIaccumARenMp,fldExpr_2) | True -> (case (_fldExprIaccumARenMp) of { _aRenMp | _aRenMp `seq` (True) -> (case (_aRenMp) of { _fldExprOaRenMp | _fldExprOaRenMp `seq` (True) -> (case (_lhsImoduleNm) of { _offsetOmoduleNm | _offsetOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _offsetOlev | _offsetOlev `seq` (True) -> (case (_accumARenMp) of { _offsetOaccumARenMp | _offsetOaccumARenMp `seq` (True) -> (case (_aRenMp) of { _offsetOaRenMp | _offsetOaRenMp `seq` (True) -> (case (_lhsImoduleNm) of { _exprOmoduleNm | _exprOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _exprOlev | _exprOlev `seq` (True) -> (case (_aRenMp) of { _exprOaRenMp | _exprOaRenMp `seq` (True) -> (case (_lhsIaRenMp) of { _exprOaccumARenMp | _exprOaccumARenMp `seq` (True) -> (case (fldExpr_2 _fldExprOaRenMp) of { ( _fldExprIcTrf) | True -> (case (offset_1 _offsetOaccumARenMp _offsetOlev _offsetOmoduleNm) of { ( _offsetIaccumARenMp,offset_2) | True -> (case (offset_2 _offsetOaRenMp) of { ( _offsetIcTrf) | True -> (case (expr_1 _exprOaccumARenMp _exprOlev _exprOmoduleNm) of { ( _exprIaccumARenMp,expr_2) | True -> (case (expr_2 _exprOaRenMp) of { ( _exprIcTrf) | True -> (case (CExpr_TupIns _exprIcTrf tag_ nm_ _offsetIcTrf _fldExprIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })) in sem_CExpr_TupIns_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) })) in sem_CExpr_TupIns_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })) sem_CExpr_TupUpd :: T_CExpr -> CTag -> HsName -> T_CExpr -> T_CExpr -> T_CExpr sem_CExpr_TupUpd expr_ tag_ nm_ offset_ fldExpr_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIropts) of { _fldExprOropts | _fldExprOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _fldExprOprotectedBindingNames | _fldExprOprotectedBindingNames `seq` (True) -> (case (_lhsIropts) of { _offsetOropts | _offsetOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _offsetOprotectedBindingNames | _offsetOprotectedBindingNames `seq` (True) -> (case (_lhsIropts) of { _exprOropts | _exprOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _exprOprotectedBindingNames | _exprOprotectedBindingNames `seq` (True) -> (case (_lhsIgIniq) of { _exprOgIniq | _exprOgIniq `seq` (True) -> (case (expr_ _exprOgIniq _exprOprotectedBindingNames _exprOropts) of { ( _exprIgIniq,_exprIisLamBody,expr_1) | True -> (case (_exprIgIniq) of { _offsetOgIniq | _offsetOgIniq `seq` (True) -> (case (offset_ _offsetOgIniq _offsetOprotectedBindingNames _offsetOropts) of { ( _offsetIgIniq,_offsetIisLamBody,offset_1) | True -> (case (_offsetIgIniq) of { _fldExprOgIniq | _fldExprOgIniq `seq` (True) -> (case (fldExpr_ _fldExprOgIniq _fldExprOprotectedBindingNames _fldExprOropts) of { ( _fldExprIgIniq,_fldExprIisLamBody,fldExpr_1) | True -> (case (_fldExprIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (True) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_TupUpd_1 :: T_CExpr_1 sem_CExpr_TupUpd_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_TupUpd_2 :: T_CExpr_2 sem_CExpr_TupUpd_2 = (\ _lhsIaRenMp -> (case (_lhsImoduleNm) of { _fldExprOmoduleNm | _fldExprOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _fldExprOlev | _fldExprOlev `seq` (True) -> (case (_lhsIaRenMp) of { _accumARenMp | _accumARenMp `seq` (True) -> (case (_accumARenMp) of { _fldExprOaccumARenMp | _fldExprOaccumARenMp `seq` (True) -> (case (fldExpr_1 _fldExprOaccumARenMp _fldExprOlev _fldExprOmoduleNm) of { ( _fldExprIaccumARenMp,fldExpr_2) | True -> (case (_fldExprIaccumARenMp) of { _aRenMp | _aRenMp `seq` (True) -> (case (_aRenMp) of { _fldExprOaRenMp | _fldExprOaRenMp `seq` (True) -> (case (_lhsImoduleNm) of { _offsetOmoduleNm | _offsetOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _offsetOlev | _offsetOlev `seq` (True) -> (case (_accumARenMp) of { _offsetOaccumARenMp | _offsetOaccumARenMp `seq` (True) -> (case (_aRenMp) of { _offsetOaRenMp | _offsetOaRenMp `seq` (True) -> (case (_lhsImoduleNm) of { _exprOmoduleNm | _exprOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _exprOlev | _exprOlev `seq` (True) -> (case (_aRenMp) of { _exprOaRenMp | _exprOaRenMp `seq` (True) -> (case (_lhsIaRenMp) of { _exprOaccumARenMp | _exprOaccumARenMp `seq` (True) -> (case (fldExpr_2 _fldExprOaRenMp) of { ( _fldExprIcTrf) | True -> (case (offset_1 _offsetOaccumARenMp _offsetOlev _offsetOmoduleNm) of { ( _offsetIaccumARenMp,offset_2) | True -> (case (offset_2 _offsetOaRenMp) of { ( _offsetIcTrf) | True -> (case (expr_1 _exprOaccumARenMp _exprOlev _exprOmoduleNm) of { ( _exprIaccumARenMp,expr_2) | True -> (case (expr_2 _exprOaRenMp) of { ( _exprIcTrf) | True -> (case (CExpr_TupUpd _exprIcTrf tag_ nm_ _offsetIcTrf _fldExprIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })) in sem_CExpr_TupUpd_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) })) in sem_CExpr_TupUpd_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })) sem_CExpr_FFI :: FFIWay -> String -> ForeignEnt -> Ty -> T_CExpr sem_CExpr_FFI callconv_ safety_ impEnt_ ty_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (True) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_FFI_1 :: T_CExpr_1 sem_CExpr_FFI_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_FFI_2 :: T_CExpr_2 sem_CExpr_FFI_2 = (\ _lhsIaRenMp -> (case (CExpr_FFI callconv_ safety_ impEnt_ ty_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) })) in sem_CExpr_FFI_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) })) in sem_CExpr_FFI_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) })) sem_CExpr_Dbg :: String -> T_CExpr sem_CExpr_Dbg info_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (True) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_Dbg_1 :: T_CExpr_1 sem_CExpr_Dbg_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_Dbg_2 :: T_CExpr_2 sem_CExpr_Dbg_2 = (\ _lhsIaRenMp -> (case (CExpr_Dbg info_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) })) in sem_CExpr_Dbg_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) })) in sem_CExpr_Dbg_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) })) sem_CExpr_Hole :: UID -> T_CExpr sem_CExpr_Hole uid_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (True) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_Hole_1 :: T_CExpr_1 sem_CExpr_Hole_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_Hole_2 :: T_CExpr_2 sem_CExpr_Hole_2 = (\ _lhsIaRenMp -> (case (CExpr_Hole uid_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) })) in sem_CExpr_Hole_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) })) in sem_CExpr_Hole_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) })) sem_CExpr_HoleLet :: UID -> T_CExpr -> T_CExpr sem_CExpr_HoleLet bindsUid_ body_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIropts) of { _bodyOropts | _bodyOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _bodyOprotectedBindingNames | _bodyOprotectedBindingNames `seq` (True) -> (case (_lhsIgIniq) of { _bodyOgIniq | _bodyOgIniq `seq` (True) -> (case (body_ _bodyOgIniq _bodyOprotectedBindingNames _bodyOropts) of { ( _bodyIgIniq,_bodyIisLamBody,body_1) | True -> (case (_bodyIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (True) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_HoleLet_1 :: T_CExpr_1 sem_CExpr_HoleLet_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_HoleLet_2 :: T_CExpr_2 sem_CExpr_HoleLet_2 = (\ _lhsIaRenMp -> (case (_lhsImoduleNm) of { _bodyOmoduleNm | _bodyOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _bodyOlev | _bodyOlev `seq` (True) -> (case (_lhsIaRenMp) of { _bodyOaccumARenMp | _bodyOaccumARenMp `seq` (True) -> (case (body_1 _bodyOaccumARenMp _bodyOlev _bodyOmoduleNm) of { ( _bodyIaccumARenMp,body_2) | True -> (case (_bodyIaccumARenMp) of { _aRenMp | _aRenMp `seq` (True) -> (case (_aRenMp) of { _bodyOaRenMp | _bodyOaRenMp `seq` (True) -> (case (body_2 _bodyOaRenMp) of { ( _bodyIcTrf) | True -> (case (CExpr_HoleLet bindsUid_ _bodyIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) }) }) }) }) })) in sem_CExpr_HoleLet_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) })) in sem_CExpr_HoleLet_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) }) }) }) }) })) sem_CExpr_CoeArg :: T_CExpr sem_CExpr_CoeArg = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (True) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_CoeArg_1 :: T_CExpr_1 sem_CExpr_CoeArg_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_CoeArg_2 :: T_CExpr_2 sem_CExpr_CoeArg_2 = (\ _lhsIaRenMp -> (case (CExpr_CoeArg) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) })) in sem_CExpr_CoeArg_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) })) in sem_CExpr_CoeArg_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) })) sem_CExpr_ImplsApp :: T_CExpr -> ImplsVarId -> T_CExpr sem_CExpr_ImplsApp func_ uid_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIropts) of { _funcOropts | _funcOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _funcOprotectedBindingNames | _funcOprotectedBindingNames `seq` (True) -> (case (_lhsIgIniq) of { _funcOgIniq | _funcOgIniq `seq` (True) -> (case (func_ _funcOgIniq _funcOprotectedBindingNames _funcOropts) of { ( _funcIgIniq,_funcIisLamBody,func_1) | True -> (case (_funcIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (True) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_ImplsApp_1 :: T_CExpr_1 sem_CExpr_ImplsApp_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_ImplsApp_2 :: T_CExpr_2 sem_CExpr_ImplsApp_2 = (\ _lhsIaRenMp -> (case (_lhsImoduleNm) of { _funcOmoduleNm | _funcOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _funcOlev | _funcOlev `seq` (True) -> (case (_lhsIaRenMp) of { _funcOaccumARenMp | _funcOaccumARenMp `seq` (True) -> (case (func_1 _funcOaccumARenMp _funcOlev _funcOmoduleNm) of { ( _funcIaccumARenMp,func_2) | True -> (case (_funcIaccumARenMp) of { _aRenMp | _aRenMp `seq` (True) -> (case (_aRenMp) of { _funcOaRenMp | _funcOaRenMp `seq` (True) -> (case (func_2 _funcOaRenMp) of { ( _funcIcTrf) | True -> (case (CExpr_ImplsApp _funcIcTrf uid_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) }) }) }) }) })) in sem_CExpr_ImplsApp_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) })) in sem_CExpr_ImplsApp_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) }) }) }) }) })) sem_CExpr_ImplsLam :: ImplsVarId -> T_CExpr -> T_CExpr sem_CExpr_ImplsLam uid_ body_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIropts) of { _bodyOropts | _bodyOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _bodyOprotectedBindingNames | _bodyOprotectedBindingNames `seq` (True) -> (case (_lhsIgIniq) of { _bodyOgIniq | _bodyOgIniq `seq` (True) -> (case (body_ _bodyOgIniq _bodyOprotectedBindingNames _bodyOropts) of { ( _bodyIgIniq,_bodyIisLamBody,body_1) | True -> (case (_bodyIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (True) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_ImplsLam_1 :: T_CExpr_1 sem_CExpr_ImplsLam_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_ImplsLam_2 :: T_CExpr_2 sem_CExpr_ImplsLam_2 = (\ _lhsIaRenMp -> (case (_lhsImoduleNm) of { _bodyOmoduleNm | _bodyOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _bodyOlev | _bodyOlev `seq` (True) -> (case (_lhsIaRenMp) of { _bodyOaccumARenMp | _bodyOaccumARenMp `seq` (True) -> (case (body_1 _bodyOaccumARenMp _bodyOlev _bodyOmoduleNm) of { ( _bodyIaccumARenMp,body_2) | True -> (case (_bodyIaccumARenMp) of { _aRenMp | _aRenMp `seq` (True) -> (case (_aRenMp) of { _bodyOaRenMp | _bodyOaRenMp `seq` (True) -> (case (body_2 _bodyOaRenMp) of { ( _bodyIcTrf) | True -> (case (CExpr_ImplsLam uid_ _bodyIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) }) }) }) }) })) in sem_CExpr_ImplsLam_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) })) in sem_CExpr_ImplsLam_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) }) }) }) }) })) sem_CExpr_Ann :: T_CExprAnn -> T_CExpr -> T_CExpr sem_CExpr_Ann ann_ expr_ = (\ _lhsIgIniq _lhsIprotectedBindingNames _lhsIropts -> (case (_lhsIropts) of { _exprOropts | _exprOropts `seq` (True) -> (case (_lhsIprotectedBindingNames) of { _exprOprotectedBindingNames | _exprOprotectedBindingNames `seq` (True) -> (case (_lhsIgIniq) of { _annOgIniq | _annOgIniq `seq` (True) -> (case (ann_ _annOgIniq) of { ( _annIgIniq,ann_1) | True -> (case (_annIgIniq) of { _exprOgIniq | _exprOgIniq `seq` (True) -> (case (expr_ _exprOgIniq _exprOprotectedBindingNames _exprOropts) of { ( _exprIgIniq,_exprIisLamBody,expr_1) | True -> (case (_exprIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case (_exprIisLamBody) of { _lhsOisLamBody | _lhsOisLamBody `seq` (True) -> (case ((let sem_CExpr_Ann_1 :: T_CExpr_1 sem_CExpr_Ann_1 = (\ _lhsIaccumARenMp _lhsIlev _lhsImoduleNm -> (case (_lhsImoduleNm) of { _exprOmoduleNm | _exprOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _exprOlev | _exprOlev `seq` (True) -> (case (_lhsIaccumARenMp) of { _exprOaccumARenMp | _exprOaccumARenMp `seq` (True) -> (case (expr_1 _exprOaccumARenMp _exprOlev _exprOmoduleNm) of { ( _exprIaccumARenMp,expr_2) | True -> (case (_exprIaccumARenMp) of { _lhsOaccumARenMp | _lhsOaccumARenMp `seq` (True) -> (case ((let sem_CExpr_Ann_2 :: T_CExpr_2 sem_CExpr_Ann_2 = (\ _lhsIaRenMp -> (case (_lhsIaRenMp) of { _exprOaRenMp | _exprOaRenMp `seq` (True) -> (case (expr_2 _exprOaRenMp) of { ( _exprIcTrf) | True -> (case (_lhsIropts) of { _annOropts | _annOropts `seq` (True) -> (case (_lhsImoduleNm) of { _annOmoduleNm | _annOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _annOlev | _annOlev `seq` (True) -> (case (_lhsIaRenMp) of { _annOaRenMp | _annOaRenMp `seq` (True) -> (case (ann_1 _annOaRenMp _annOlev _annOmoduleNm _annOropts) of { ( _annIcTrf) | True -> (case (CExpr_Ann _annIcTrf _exprIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) }) }) }) }) })) in sem_CExpr_Ann_2)) of { ( sem_CExpr_2) | True -> ( _lhsOaccumARenMp,sem_CExpr_2) }) }) }) }) }) })) in sem_CExpr_Ann_1)) of { ( sem_CExpr_1) | True -> ( _lhsOgIniq,_lhsOisLamBody,sem_CExpr_1) }) }) }) }) }) }) }) }) })) -- CExprAnn ---------------------------------------------------- {- visit 0: chained attribute: gIniq : Int visit 1: inherited attributes: aRenMp : ARenMp lev : Int moduleNm : HsName ropts : RenUniqOpts synthesized attribute: cTrf : CExprAnn alternatives: alternative Ty: child ty : {Ty} visit 1: local cTrf : _ alternative Debug: child info : {String} visit 1: local cTrf : _ -} -- cata sem_CExprAnn :: CExprAnn -> T_CExprAnn sem_CExprAnn (CExprAnn_Ty _ty) = (sem_CExprAnn_Ty _ty) sem_CExprAnn (CExprAnn_Debug _info) = (sem_CExprAnn_Debug _info) -- semantic domain type T_CExprAnn = Int -> ( Int,T_CExprAnn_1) type T_CExprAnn_1 = ARenMp -> Int -> HsName -> RenUniqOpts -> ( CExprAnn) sem_CExprAnn_Ty :: Ty -> T_CExprAnn sem_CExprAnn_Ty ty_ = (\ _lhsIgIniq -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CExprAnn_Ty_1 :: T_CExprAnn_1 sem_CExprAnn_Ty_1 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm _lhsIropts -> (case (CExprAnn_Ty ty_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) })) in sem_CExprAnn_Ty_1)) of { ( sem_CExprAnn_1) | True -> ( _lhsOgIniq,sem_CExprAnn_1) }) })) sem_CExprAnn_Debug :: String -> T_CExprAnn sem_CExprAnn_Debug info_ = (\ _lhsIgIniq -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CExprAnn_Debug_1 :: T_CExprAnn_1 sem_CExprAnn_Debug_1 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm _lhsIropts -> (case (CExprAnn_Debug info_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) })) in sem_CExprAnn_Debug_1)) of { ( sem_CExprAnn_1) | True -> ( _lhsOgIniq,sem_CExprAnn_1) }) })) -- CImport ----------------------------------------------------- {- visit 0: synthesized attribute: cTrf : CImport alternatives: alternative Import: child nm : {HsName} visit 0: local cTrf : _ -} -- cata sem_CImport :: CImport -> T_CImport sem_CImport (CImport_Import _nm) = (sem_CImport_Import _nm) -- semantic domain type T_CImport = ( CImport) sem_CImport_Import :: HsName -> T_CImport sem_CImport_Import nm_ = (case (CImport_Import nm_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) -- CImportL ---------------------------------------------------- {- visit 0: synthesized attribute: cTrf : CImportL alternatives: alternative Cons: child hd : CImport child tl : CImportL visit 0: local cTrf : _ alternative Nil: visit 0: local cTrf : _ -} -- cata sem_CImportL :: CImportL -> T_CImportL sem_CImportL list = (Prelude.foldr sem_CImportL_Cons sem_CImportL_Nil (Prelude.map sem_CImport list)) -- semantic domain type T_CImportL = ( CImportL) sem_CImportL_Cons :: T_CImport -> T_CImportL -> T_CImportL sem_CImportL_Cons hd_ tl_ = (case (tl_) of { ( _tlIcTrf) | True -> (case (hd_) of { ( _hdIcTrf) | True -> (case ((:) _hdIcTrf _tlIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) sem_CImportL_Nil :: T_CImportL sem_CImportL_Nil = (case ([]) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) -- CModule ----------------------------------------------------- {- visit 0: inherited attributes: aRenMp : ARenMp lev : Int ropts : RenUniqOpts chained attribute: gIniq : Int synthesized attribute: cTrf : CModule alternatives: alternative Mod: child moduleNm : {HsName} child exports : CExportL child imports : CImportL child declMetas : CDeclMetaL child expr : CExpr visit 0: local aRenMp : _ local cTrf : _ -} -- cata sem_CModule :: CModule -> T_CModule sem_CModule (CModule_Mod _moduleNm _exports _imports _declMetas _expr) = (sem_CModule_Mod _moduleNm (sem_CExportL _exports) (sem_CImportL _imports) (sem_CDeclMetaL _declMetas) (sem_CExpr _expr)) -- semantic domain type T_CModule = ARenMp -> Int -> Int -> RenUniqOpts -> ( CModule,Int) sem_CModule_Mod :: HsName -> T_CExportL -> T_CImportL -> T_CDeclMetaL -> T_CExpr -> T_CModule sem_CModule_Mod moduleNm_ exports_ imports_ declMetas_ expr_ = (\ _lhsIaRenMp _lhsIgIniq _lhsIlev _lhsIropts -> (case (_lhsIropts) of { _exprOropts | _exprOropts `seq` (True) -> (case (_lhsIlev) of { _exprOlev | _exprOlev `seq` (True) -> (case (_lhsIgIniq) of { _exprOgIniq | _exprOgIniq `seq` (True) -> (case ([]) of { _exprOprotectedBindingNames | _exprOprotectedBindingNames `seq` (True) -> (case (_lhsIaRenMp) of { _exprOaccumARenMp | _exprOaccumARenMp `seq` (True) -> (case (moduleNm_) of { _exprOmoduleNm | _exprOmoduleNm `seq` (True) -> (case (expr_ _exprOgIniq _exprOprotectedBindingNames _exprOropts) of { ( _exprIgIniq,_exprIisLamBody,expr_1) | True -> (case (expr_1 _exprOaccumARenMp _exprOlev _exprOmoduleNm) of { ( _exprIaccumARenMp,expr_2) | True -> (case (_exprIaccumARenMp) of { _aRenMp | _aRenMp `seq` (True) -> (case (_aRenMp) of { _exprOaRenMp | _exprOaRenMp `seq` (True) -> (case (expr_2 _exprOaRenMp) of { ( _exprIcTrf) | True -> (case (declMetas_) of { ( _declMetasIcTrf) | True -> (case (imports_) of { ( _importsIcTrf) | True -> (case (exports_) of { ( _exportsIcTrf) | True -> (case (CModule_Mod moduleNm_ _exportsIcTrf _importsIcTrf _declMetasIcTrf _exprIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> (case (_exprIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> ( _lhsOcTrf,_lhsOgIniq) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })) -- CPat -------------------------------------------------------- {- visit 0: synthesized attribute: nmL : [HsName] visit 1: inherited attribute: ropts : RenUniqOpts chained attribute: gIniq : Int visit 2: inherited attributes: aRenMp : ARenMp lev : Int moduleNm : HsName synthesized attributes: cTrf : CPat fldNmL : [HsName] alternatives: alternative Var: child pnm : {HsName} alternative Con: child tag : {CTag} child rest : CPatRest child binds : CPatFldL visit 2: local cTrf : _ alternative Int: child int : {Int} visit 2: local cTrf : _ alternative Char: child char : {Char} visit 2: local cTrf : _ alternative BoolExpr: child cexpr : {CExpr} visit 2: local cTrf : _ -} -- cata sem_CPat :: CPat -> T_CPat sem_CPat (CPat_Var _pnm) = (sem_CPat_Var _pnm) sem_CPat (CPat_Con _tag _rest _binds) = (sem_CPat_Con _tag (sem_CPatRest _rest) (sem_CPatFldL _binds)) sem_CPat (CPat_Int _int) = (sem_CPat_Int _int) sem_CPat (CPat_Char _char) = (sem_CPat_Char _char) sem_CPat (CPat_BoolExpr _cexpr) = (sem_CPat_BoolExpr _cexpr) -- semantic domain type T_CPat = ( ([HsName]),T_CPat_1) type T_CPat_1 = Int -> RenUniqOpts -> ( Int,T_CPat_2) type T_CPat_2 = ARenMp -> Int -> HsName -> ( CPat,([HsName])) sem_CPat_Var :: HsName -> T_CPat sem_CPat_Var pnm_ = (case ([pnm_]) of { _lhsOnmL | _lhsOnmL `seq` (True) -> (case ((let sem_CPat_Var_1 :: T_CPat_1 sem_CPat_Var_1 = (\ _lhsIgIniq _lhsIropts -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CPat_Var_2 :: T_CPat_2 sem_CPat_Var_2 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm -> (case (CPat_Var (aRenRepl _lhsIaRenMp $ pnm_)) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> (case ([]) of { _lhsOfldNmL | _lhsOfldNmL `seq` (True) -> ( _lhsOcTrf,_lhsOfldNmL) }) })) in sem_CPat_Var_2)) of { ( sem_CPat_2) | True -> ( _lhsOgIniq,sem_CPat_2) }) })) in sem_CPat_Var_1)) of { ( sem_CPat_1) | True -> ( _lhsOnmL,sem_CPat_1) }) }) sem_CPat_Con :: CTag -> T_CPatRest -> T_CPatFldL -> T_CPat sem_CPat_Con tag_ rest_ binds_ = (case (binds_) of { ( _bindsInmL,binds_1) | True -> (case (rest_) of { ( _restInmL,rest_1) | True -> (case (_restInmL ++ _bindsInmL) of { _lhsOnmL | _lhsOnmL `seq` (True) -> (case ((let sem_CPat_Con_1 :: T_CPat_1 sem_CPat_Con_1 = (\ _lhsIgIniq _lhsIropts -> (case (_lhsIropts) of { _bindsOropts | _bindsOropts `seq` (True) -> (case (_lhsIgIniq) of { _restOgIniq | _restOgIniq `seq` (True) -> (case (rest_1 _restOgIniq) of { ( _restIgIniq,rest_2) | True -> (case (_restIgIniq) of { _bindsOgIniq | _bindsOgIniq `seq` (True) -> (case (binds_1 _bindsOgIniq _bindsOropts) of { ( _bindsIgIniq,binds_2) | True -> (case (_bindsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CPat_Con_2 :: T_CPat_2 sem_CPat_Con_2 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm -> (case (_lhsImoduleNm) of { _bindsOmoduleNm | _bindsOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _bindsOlev | _bindsOlev `seq` (True) -> (case (_lhsIaRenMp) of { _bindsOaRenMp | _bindsOaRenMp `seq` (True) -> (case (_lhsIaRenMp) of { _restOaRenMp | _restOaRenMp `seq` (True) -> (case (binds_2 _bindsOaRenMp _bindsOlev _bindsOmoduleNm) of { ( _bindsIcTrf,_bindsIfldNmL) | True -> (case (_lhsIropts) of { _restOropts | _restOropts `seq` (True) -> (case (_lhsImoduleNm) of { _restOmoduleNm | _restOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _restOlev | _restOlev `seq` (True) -> (case (rest_2 _restOaRenMp _restOlev _restOmoduleNm _restOropts) of { ( _restIcTrf) | True -> (case (CPat_Con tag_ _restIcTrf _bindsIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> (case (_bindsIfldNmL) of { _lhsOfldNmL | _lhsOfldNmL `seq` (True) -> ( _lhsOcTrf,_lhsOfldNmL) }) }) }) }) }) }) }) }) }) }) }) })) in sem_CPat_Con_2)) of { ( sem_CPat_2) | True -> ( _lhsOgIniq,sem_CPat_2) }) }) }) }) }) }) })) in sem_CPat_Con_1)) of { ( sem_CPat_1) | True -> ( _lhsOnmL,sem_CPat_1) }) }) }) }) sem_CPat_Int :: Int -> T_CPat sem_CPat_Int int_ = (case ([]) of { _lhsOnmL | _lhsOnmL `seq` (True) -> (case ((let sem_CPat_Int_1 :: T_CPat_1 sem_CPat_Int_1 = (\ _lhsIgIniq _lhsIropts -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CPat_Int_2 :: T_CPat_2 sem_CPat_Int_2 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm -> (case (CPat_Int int_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> (case ([]) of { _lhsOfldNmL | _lhsOfldNmL `seq` (True) -> ( _lhsOcTrf,_lhsOfldNmL) }) }) })) in sem_CPat_Int_2)) of { ( sem_CPat_2) | True -> ( _lhsOgIniq,sem_CPat_2) }) })) in sem_CPat_Int_1)) of { ( sem_CPat_1) | True -> ( _lhsOnmL,sem_CPat_1) }) }) sem_CPat_Char :: Char -> T_CPat sem_CPat_Char char_ = (case ([]) of { _lhsOnmL | _lhsOnmL `seq` (True) -> (case ((let sem_CPat_Char_1 :: T_CPat_1 sem_CPat_Char_1 = (\ _lhsIgIniq _lhsIropts -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CPat_Char_2 :: T_CPat_2 sem_CPat_Char_2 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm -> (case (CPat_Char char_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> (case ([]) of { _lhsOfldNmL | _lhsOfldNmL `seq` (True) -> ( _lhsOcTrf,_lhsOfldNmL) }) }) })) in sem_CPat_Char_2)) of { ( sem_CPat_2) | True -> ( _lhsOgIniq,sem_CPat_2) }) })) in sem_CPat_Char_1)) of { ( sem_CPat_1) | True -> ( _lhsOnmL,sem_CPat_1) }) }) sem_CPat_BoolExpr :: CExpr -> T_CPat sem_CPat_BoolExpr cexpr_ = (case ([]) of { _lhsOnmL | _lhsOnmL `seq` (True) -> (case ((let sem_CPat_BoolExpr_1 :: T_CPat_1 sem_CPat_BoolExpr_1 = (\ _lhsIgIniq _lhsIropts -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CPat_BoolExpr_2 :: T_CPat_2 sem_CPat_BoolExpr_2 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm -> (case (CPat_BoolExpr cexpr_) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> (case ([]) of { _lhsOfldNmL | _lhsOfldNmL `seq` (True) -> ( _lhsOcTrf,_lhsOfldNmL) }) }) })) in sem_CPat_BoolExpr_2)) of { ( sem_CPat_2) | True -> ( _lhsOgIniq,sem_CPat_2) }) })) in sem_CPat_BoolExpr_1)) of { ( sem_CPat_1) | True -> ( _lhsOnmL,sem_CPat_1) }) }) -- CPatFld ----------------------------------------------------- {- visit 0: synthesized attribute: nmL : [HsName] visit 1: inherited attribute: ropts : RenUniqOpts chained attribute: gIniq : Int visit 2: inherited attributes: aRenMp : ARenMp lev : Int moduleNm : HsName synthesized attributes: cTrf : CPatFld fldNmL : [HsName] alternatives: alternative Fld: child lbl : {HsName} child offset : CExpr child bind : CBind child fldAnns : CBindAnnL visit 0: local fldNm : _ visit 1: intra fldNm : _ visit 2: local aRenMp : _ intra fldNm : _ -} -- cata sem_CPatFld :: CPatFld -> T_CPatFld sem_CPatFld (CPatFld_Fld _lbl _offset _bind _fldAnns) = (sem_CPatFld_Fld _lbl (sem_CExpr _offset) (sem_CBind _bind) (sem_CBindAnnL _fldAnns)) -- semantic domain type T_CPatFld = ( ([HsName]),T_CPatFld_1) type T_CPatFld_1 = Int -> RenUniqOpts -> ( Int,T_CPatFld_2) type T_CPatFld_2 = ARenMp -> Int -> HsName -> ( CPatFld,([HsName])) sem_CPatFld_Fld :: HsName -> T_CExpr -> T_CBind -> T_CBindAnnL -> T_CPatFld sem_CPatFld_Fld lbl_ offset_ bind_ fldAnns_ = (case ([]) of { _bindOprotectedBindingNames | _bindOprotectedBindingNames `seq` (True) -> (case (bind_ _bindOprotectedBindingNames) of { ( _bindInm,_bindInmL,bind_1) | True -> (case (_bindInm) of { _fldNm | _fldNm `seq` (True) -> (case ([_fldNm]) of { _lhsOnmL | _lhsOnmL `seq` (True) -> (case ((let sem_CPatFld_Fld_1 :: T_CPatFld_1 sem_CPatFld_Fld_1 = (\ _lhsIgIniq _lhsIropts -> (case (_lhsIropts) of { _bindOropts | _bindOropts `seq` (True) -> (case (_lhsIropts) of { _offsetOropts | _offsetOropts `seq` (True) -> (case (_lhsIgIniq) of { _offsetOgIniq | _offsetOgIniq `seq` (True) -> (case ([]) of { _offsetOprotectedBindingNames | _offsetOprotectedBindingNames `seq` (True) -> (case (offset_ _offsetOgIniq _offsetOprotectedBindingNames _offsetOropts) of { ( _offsetIgIniq,_offsetIisLamBody,offset_1) | True -> (case (_offsetIgIniq) of { _bindOgIniq | _bindOgIniq `seq` (True) -> (case (bind_1 _bindOgIniq _bindOropts) of { ( _bindIgIniq,bind_2) | True -> (case (_bindIgIniq) of { _fldAnnsOgIniq | _fldAnnsOgIniq `seq` (True) -> (case (fldAnns_ _fldAnnsOgIniq) of { ( _fldAnnsIgIniq,fldAnns_1) | True -> (case (_fldAnnsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CPatFld_Fld_2 :: T_CPatFld_2 sem_CPatFld_Fld_2 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm -> (case (_lhsImoduleNm) of { _offsetOmoduleNm | _offsetOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _offsetOlev | _offsetOlev `seq` (True) -> (case (_lhsIaRenMp) of { _offsetOaccumARenMp | _offsetOaccumARenMp `seq` (True) -> (case (offset_1 _offsetOaccumARenMp _offsetOlev _offsetOmoduleNm) of { ( _offsetIaccumARenMp,offset_2) | True -> (case (_offsetIaccumARenMp) of { _aRenMp | _aRenMp `seq` (True) -> (case (_aRenMp) of { _offsetOaRenMp | _offsetOaRenMp `seq` (True) -> (case (_lhsIropts) of { _fldAnnsOropts | _fldAnnsOropts `seq` (True) -> (case (_lhsImoduleNm) of { _fldAnnsOmoduleNm | _fldAnnsOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _fldAnnsOlev | _fldAnnsOlev `seq` (True) -> (case (_aRenMp) of { _fldAnnsOaRenMp | _fldAnnsOaRenMp `seq` (True) -> (case (fldAnns_1 _fldAnnsOaRenMp _fldAnnsOlev _fldAnnsOmoduleNm _fldAnnsOropts) of { ( _fldAnnsIcTrf,_fldAnnsInmL) | True -> (case (offset_2 _offsetOaRenMp) of { ( _offsetIcTrf) | True -> (case (CPatFld_Fld lbl_ _offsetIcTrf (acoreBind1Nm1 $ aRenRepl _aRenMp _fldNm) _fldAnnsIcTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> (case ([_fldNm]) of { _lhsOfldNmL | _lhsOfldNmL `seq` (True) -> ( _lhsOcTrf,_lhsOfldNmL) }) }) }) }) }) }) }) }) }) }) }) }) }) })) in sem_CPatFld_Fld_2)) of { ( sem_CPatFld_2) | True -> ( _lhsOgIniq,sem_CPatFld_2) }) }) }) }) }) }) }) }) }) }) })) in sem_CPatFld_Fld_1)) of { ( sem_CPatFld_1) | True -> ( _lhsOnmL,sem_CPatFld_1) }) }) }) }) }) -- CPatFldL ---------------------------------------------------- {- visit 0: synthesized attribute: nmL : [HsName] visit 1: inherited attribute: ropts : RenUniqOpts chained attribute: gIniq : Int visit 2: inherited attributes: aRenMp : ARenMp lev : Int moduleNm : HsName synthesized attributes: cTrf : CPatFldL fldNmL : [HsName] alternatives: alternative Cons: child hd : CPatFld child tl : CPatFldL visit 2: local cTrf : _ alternative Nil: visit 2: local cTrf : _ -} -- cata sem_CPatFldL :: CPatFldL -> T_CPatFldL sem_CPatFldL list = (Prelude.foldr sem_CPatFldL_Cons sem_CPatFldL_Nil (Prelude.map sem_CPatFld list)) -- semantic domain type T_CPatFldL = ( ([HsName]),T_CPatFldL_1) type T_CPatFldL_1 = Int -> RenUniqOpts -> ( Int,T_CPatFldL_2) type T_CPatFldL_2 = ARenMp -> Int -> HsName -> ( CPatFldL,([HsName])) sem_CPatFldL_Cons :: T_CPatFld -> T_CPatFldL -> T_CPatFldL sem_CPatFldL_Cons hd_ tl_ = (case (tl_) of { ( _tlInmL,tl_1) | True -> (case (hd_) of { ( _hdInmL,hd_1) | True -> (case (_hdInmL ++ _tlInmL) of { _lhsOnmL | _lhsOnmL `seq` (True) -> (case ((let sem_CPatFldL_Cons_1 :: T_CPatFldL_1 sem_CPatFldL_Cons_1 = (\ _lhsIgIniq _lhsIropts -> (case (_lhsIropts) of { _tlOropts | _tlOropts `seq` (True) -> (case (_lhsIropts) of { _hdOropts | _hdOropts `seq` (True) -> (case (_lhsIgIniq) of { _hdOgIniq | _hdOgIniq `seq` (True) -> (case (hd_1 _hdOgIniq _hdOropts) of { ( _hdIgIniq,hd_2) | True -> (case (_hdIgIniq) of { _tlOgIniq | _tlOgIniq `seq` (True) -> (case (tl_1 _tlOgIniq _tlOropts) of { ( _tlIgIniq,tl_2) | True -> (case (_tlIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CPatFldL_Cons_2 :: T_CPatFldL_2 sem_CPatFldL_Cons_2 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm -> (case (_lhsImoduleNm) of { _tlOmoduleNm | _tlOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _tlOlev | _tlOlev `seq` (True) -> (case (_lhsIaRenMp) of { _tlOaRenMp | _tlOaRenMp `seq` (True) -> (case (_lhsImoduleNm) of { _hdOmoduleNm | _hdOmoduleNm `seq` (True) -> (case (_lhsIlev) of { _hdOlev | _hdOlev `seq` (True) -> (case (_lhsIaRenMp) of { _hdOaRenMp | _hdOaRenMp `seq` (True) -> (case (tl_2 _tlOaRenMp _tlOlev _tlOmoduleNm) of { ( _tlIcTrf,_tlIfldNmL) | True -> (case (hd_2 _hdOaRenMp _hdOlev _hdOmoduleNm) of { ( _hdIcTrf,_hdIfldNmL) | True -> (case ((:) _hdIcTrf _tlIcTrf) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> (case (_hdIfldNmL ++ _tlIfldNmL) of { _lhsOfldNmL | _lhsOfldNmL `seq` (True) -> ( _lhsOcTrf,_lhsOfldNmL) }) }) }) }) }) }) }) }) }) }) })) in sem_CPatFldL_Cons_2)) of { ( sem_CPatFldL_2) | True -> ( _lhsOgIniq,sem_CPatFldL_2) }) }) }) }) }) }) }) })) in sem_CPatFldL_Cons_1)) of { ( sem_CPatFldL_1) | True -> ( _lhsOnmL,sem_CPatFldL_1) }) }) }) }) sem_CPatFldL_Nil :: T_CPatFldL sem_CPatFldL_Nil = (case ([]) of { _lhsOnmL | _lhsOnmL `seq` (True) -> (case ((let sem_CPatFldL_Nil_1 :: T_CPatFldL_1 sem_CPatFldL_Nil_1 = (\ _lhsIgIniq _lhsIropts -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CPatFldL_Nil_2 :: T_CPatFldL_2 sem_CPatFldL_Nil_2 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm -> (case ([]) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> (case ([]) of { _lhsOfldNmL | _lhsOfldNmL `seq` (True) -> ( _lhsOcTrf,_lhsOfldNmL) }) }) })) in sem_CPatFldL_Nil_2)) of { ( sem_CPatFldL_2) | True -> ( _lhsOgIniq,sem_CPatFldL_2) }) })) in sem_CPatFldL_Nil_1)) of { ( sem_CPatFldL_1) | True -> ( _lhsOnmL,sem_CPatFldL_1) }) }) -- CPatRest ---------------------------------------------------- {- visit 0: synthesized attribute: nmL : [HsName] visit 1: chained attribute: gIniq : Int visit 2: inherited attributes: aRenMp : ARenMp lev : Int moduleNm : HsName ropts : RenUniqOpts synthesized attribute: cTrf : CPatRest alternatives: alternative Var: child nm : {HsName} alternative Empty: visit 2: local cTrf : _ -} -- cata sem_CPatRest :: CPatRest -> T_CPatRest sem_CPatRest (CPatRest_Var _nm) = (sem_CPatRest_Var _nm) sem_CPatRest (CPatRest_Empty) = (sem_CPatRest_Empty) -- semantic domain type T_CPatRest = ( ([HsName]),T_CPatRest_1) type T_CPatRest_1 = Int -> ( Int,T_CPatRest_2) type T_CPatRest_2 = ARenMp -> Int -> HsName -> RenUniqOpts -> ( CPatRest) sem_CPatRest_Var :: HsName -> T_CPatRest sem_CPatRest_Var nm_ = (case ([nm_]) of { _lhsOnmL | _lhsOnmL `seq` (True) -> (case ((let sem_CPatRest_Var_1 :: T_CPatRest_1 sem_CPatRest_Var_1 = (\ _lhsIgIniq -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CPatRest_Var_2 :: T_CPatRest_2 sem_CPatRest_Var_2 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm _lhsIropts -> (case (CPatRest_Var (aRenRepl _lhsIaRenMp nm_)) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) })) in sem_CPatRest_Var_2)) of { ( sem_CPatRest_2) | True -> ( _lhsOgIniq,sem_CPatRest_2) }) })) in sem_CPatRest_Var_1)) of { ( sem_CPatRest_1) | True -> ( _lhsOnmL,sem_CPatRest_1) }) }) sem_CPatRest_Empty :: T_CPatRest sem_CPatRest_Empty = (case ([]) of { _lhsOnmL | _lhsOnmL `seq` (True) -> (case ((let sem_CPatRest_Empty_1 :: T_CPatRest_1 sem_CPatRest_Empty_1 = (\ _lhsIgIniq -> (case (_lhsIgIniq) of { _lhsOgIniq | _lhsOgIniq `seq` (True) -> (case ((let sem_CPatRest_Empty_2 :: T_CPatRest_2 sem_CPatRest_Empty_2 = (\ _lhsIaRenMp _lhsIlev _lhsImoduleNm _lhsIropts -> (case (CPatRest_Empty) of { _cTrf | _cTrf `seq` (True) -> (case (_cTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) })) in sem_CPatRest_Empty_2)) of { ( sem_CPatRest_2) | True -> ( _lhsOgIniq,sem_CPatRest_2) }) })) in sem_CPatRest_Empty_1)) of { ( sem_CPatRest_1) | True -> ( _lhsOnmL,sem_CPatRest_1) }) }) -- CodeAGItf --------------------------------------------------- {- visit 0: inherited attributes: gIniq : Int ropts : RenUniqOpts synthesized attribute: cTrf : CModule alternatives: alternative AGItf: child module : CModule -} -- cata sem_CodeAGItf :: CodeAGItf -> T_CodeAGItf sem_CodeAGItf (CodeAGItf_AGItf _module) = (sem_CodeAGItf_AGItf (sem_CModule _module)) -- semantic domain type T_CodeAGItf = Int -> RenUniqOpts -> ( CModule) data Inh_CodeAGItf = Inh_CodeAGItf {gIniq_Inh_CodeAGItf :: !(Int),ropts_Inh_CodeAGItf :: !(RenUniqOpts)} data Syn_CodeAGItf = Syn_CodeAGItf {cTrf_Syn_CodeAGItf :: !(CModule)} wrap_CodeAGItf :: T_CodeAGItf -> Inh_CodeAGItf -> Syn_CodeAGItf wrap_CodeAGItf sem (Inh_CodeAGItf _lhsIgIniq _lhsIropts) = (let ( _lhsOcTrf) | True = sem _lhsIgIniq _lhsIropts in (Syn_CodeAGItf _lhsOcTrf)) sem_CodeAGItf_AGItf :: T_CModule -> T_CodeAGItf sem_CodeAGItf_AGItf module_ = (\ _lhsIgIniq _lhsIropts -> (case (_lhsIropts) of { _moduleOropts | _moduleOropts `seq` (True) -> (case (_lhsIgIniq) of { _moduleOgIniq | _moduleOgIniq `seq` (True) -> (case (cLevModule) of { _moduleOlev | _moduleOlev `seq` (True) -> (case (emptyARenMp) of { _moduleOaRenMp | _moduleOaRenMp `seq` (True) -> (case (module_ _moduleOaRenMp _moduleOgIniq _moduleOlev _moduleOropts) of { ( _moduleIcTrf,_moduleIgIniq) | True -> (case (_moduleIcTrf) of { _lhsOcTrf | _lhsOcTrf `seq` (True) -> ( _lhsOcTrf) }) }) }) }) }) }))