-- UUAGC 0.9.52.1 (build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGl) module UHC.Light.Compiler.Core.Trf.CAFGlobalAsArg(cmodTrfCAFGlobalAsArg) where import UHC.Util.Utils import Data.Maybe import qualified Data.Set as Set import Data.List import qualified Data.Map as Map import UHC.Light.Compiler.Base.Common import UHC.Light.Compiler.Core import UHC.Light.Compiler.Ty import UHC.Light.Compiler.Base.HsName.Builtin import UHC.Light.Compiler.Core.Utils import UHC.Light.Compiler.AbstractCore import qualified UHC.Util.FastSeq as Seq import Debug.Trace cmodTrfCAFGlobalAsArg :: CModule -> CModule cmodTrfCAFGlobalAsArg cmod = let t = wrap_CodeAGItf (sem_CodeAGItf (CodeAGItf_AGItf cmod)) (Inh_CodeAGItf) in cTrf_Syn_CodeAGItf t -- CAlt -------------------------------------------------------- {- visit 0: inherited attributes: argMp : CVarReplNmMp cvarIntroMp : CVarIntroMp evalCtx : EvalCtx fvSCafMp : FvSMp introCVarIntroMp : CVarIntroMp lamS : FvS lev : Int varS : FvS chained attribute: gUniq : Int synthesized attributes: cTrf : CAlt fvS : FvS levOf : Int alternatives: alternative Alt: child pat : CPat child expr : CExpr visit 0: local cvi : _ local fvS : _ local whatAbove : {WhatExpr} local lev : _ local cTrf : _ -} -- 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 = CVarReplNmMp -> CVarIntroMp -> EvalCtx -> FvSMp -> Int -> CVarIntroMp -> FvS -> Int -> FvS -> ( CAlt,FvS,Int,Int) sem_CAlt_Alt :: T_CPat -> T_CExpr -> T_CAlt sem_CAlt_Alt pat_ expr_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIlamS _lhsIlev _lhsIvarS -> (let _exprOvarS :: FvS _exprOcvarIntroMp :: CVarIntroMp _exprOintroCVarIntroMp :: CVarIntroMp _lhsOlevOf :: Int _exprOisTopApp :: Bool _exprOisTopTup :: Bool _whatAbove :: WhatExpr _lhsOfvS :: FvS _lhsOcTrf :: CAlt _lhsOgUniq :: Int _patOargMp :: CVarReplNmMp _patOcvarIntroMp :: CVarIntroMp _patOfvSCafMp :: FvSMp _patOgUniq :: Int _patOintroCVarIntroMp :: CVarIntroMp _patOlamS :: FvS _patOlev :: Int _patOvarS :: FvS _exprOargMp :: CVarReplNmMp _exprOevalCtx :: EvalCtx _exprOfvSCafMp :: FvSMp _exprOgUniq :: Int _exprOlamS :: FvS _exprOlev :: Int _exprOwhatAbove :: WhatExpr _patIcTrf :: CPat _patIfldNmL :: ([HsName]) _patIfvS :: FvS _patIgUniq :: Int _patIlevOf :: Int _patInmL :: ([HsName]) _exprIappFunKind :: AppFunKind _exprIcTrf :: CExpr _exprIfvS :: FvS _exprIgUniq :: Int _exprIisClosurableExpr :: Bool _exprIlevOf :: Int _exprImbLam :: (Maybe [HsName]) _exprImbVar :: (Maybe HsName) _exprIwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 23, column 17) _exprOvarS = _lhsIvarS `Set.union` Set.fromList _patInmL -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 12, column 17) _cvi = emptyCVarIntro { cviLev = _lev } -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 33, column 17) _exprOcvarIntroMp = Map.fromList (zip _patInmL (repeat _cvi)) `Map.union` _lhsIcvarIntroMp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 45, column 17) _exprOintroCVarIntroMp = Map.fromList (zip _patInmL (repeat _cvi)) `Map.union` _lhsIintroCVarIntroMp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 68, column 17) _lhsOlevOf = fvsLev _lhsIcvarIntroMp cLevModule _exprIfvS -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 14, column 17) _fvS = _exprIfvS `Set.difference` Set.fromList _patInmL -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 45, column 17) _exprOisTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 45, column 17) _exprOisTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 90, column 17) _whatAbove = ExprIsOther -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonLevAlt.ag"(line 2, column 17) _lev = _lhsIlev + 1 -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _fvS -- self rule _cTrf = CAlt_Alt _patIcTrf _exprIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _exprIgUniq -- copy rule (down) _patOargMp = _lhsIargMp -- copy rule (down) _patOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _patOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _patOgUniq = _lhsIgUniq -- copy rule (down) _patOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _patOlamS = _lhsIlamS -- copy rule (from local) _patOlev = _lev -- copy rule (down) _patOvarS = _lhsIvarS -- copy rule (down) _exprOargMp = _lhsIargMp -- copy rule (down) _exprOevalCtx = _lhsIevalCtx -- copy rule (down) _exprOfvSCafMp = _lhsIfvSCafMp -- copy rule (chain) _exprOgUniq = _patIgUniq -- copy rule (down) _exprOlamS = _lhsIlamS -- copy rule (from local) _exprOlev = _lev -- copy rule (from local) _exprOwhatAbove = _whatAbove ( _patIcTrf,_patIfldNmL,_patIfvS,_patIgUniq,_patIlevOf,_patInmL) = pat_ _patOargMp _patOcvarIntroMp _patOfvSCafMp _patOgUniq _patOintroCVarIntroMp _patOlamS _patOlev _patOvarS ( _exprIappFunKind,_exprIcTrf,_exprIfvS,_exprIgUniq,_exprIisClosurableExpr,_exprIlevOf,_exprImbLam,_exprImbVar,_exprIwhatBelow) = expr_ _exprOargMp _exprOcvarIntroMp _exprOevalCtx _exprOfvSCafMp _exprOgUniq _exprOintroCVarIntroMp _exprOisTopApp _exprOisTopTup _exprOlamS _exprOlev _exprOvarS _exprOwhatAbove in ( _lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOlevOf))) -- CAltL ------------------------------------------------------- {- visit 0: inherited attributes: argMp : CVarReplNmMp cvarIntroMp : CVarIntroMp evalCtx : EvalCtx fvSCafMp : FvSMp introCVarIntroMp : CVarIntroMp lamS : FvS lev : Int varS : FvS chained attribute: gUniq : Int synthesized attributes: cTrf : CAltL fvS : FvS levOf : Int alternatives: alternative Cons: child hd : CAlt child tl : CAltL visit 0: local cTrf : _ alternative Nil: visit 0: 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 = CVarReplNmMp -> CVarIntroMp -> EvalCtx -> FvSMp -> Int -> CVarIntroMp -> FvS -> Int -> FvS -> ( CAltL,FvS,Int,Int) sem_CAltL_Cons :: T_CAlt -> T_CAltL -> T_CAltL sem_CAltL_Cons hd_ tl_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIlamS _lhsIlev _lhsIvarS -> (let _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CAltL _lhsOgUniq :: Int _hdOargMp :: CVarReplNmMp _hdOcvarIntroMp :: CVarIntroMp _hdOevalCtx :: EvalCtx _hdOfvSCafMp :: FvSMp _hdOgUniq :: Int _hdOintroCVarIntroMp :: CVarIntroMp _hdOlamS :: FvS _hdOlev :: Int _hdOvarS :: FvS _tlOargMp :: CVarReplNmMp _tlOcvarIntroMp :: CVarIntroMp _tlOevalCtx :: EvalCtx _tlOfvSCafMp :: FvSMp _tlOgUniq :: Int _tlOintroCVarIntroMp :: CVarIntroMp _tlOlamS :: FvS _tlOlev :: Int _tlOvarS :: FvS _hdIcTrf :: CAlt _hdIfvS :: FvS _hdIgUniq :: Int _hdIlevOf :: Int _tlIcTrf :: CAltL _tlIfvS :: FvS _tlIgUniq :: Int _tlIlevOf :: Int -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _hdIfvS `Set.union` _tlIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _hdIlevOf `max` _tlIlevOf -- self rule _cTrf = (:) _hdIcTrf _tlIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _tlIgUniq -- copy rule (down) _hdOargMp = _lhsIargMp -- copy rule (down) _hdOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _hdOevalCtx = _lhsIevalCtx -- copy rule (down) _hdOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _hdOgUniq = _lhsIgUniq -- copy rule (down) _hdOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _hdOlamS = _lhsIlamS -- copy rule (down) _hdOlev = _lhsIlev -- copy rule (down) _hdOvarS = _lhsIvarS -- copy rule (down) _tlOargMp = _lhsIargMp -- copy rule (down) _tlOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _tlOevalCtx = _lhsIevalCtx -- copy rule (down) _tlOfvSCafMp = _lhsIfvSCafMp -- copy rule (chain) _tlOgUniq = _hdIgUniq -- copy rule (down) _tlOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _tlOlamS = _lhsIlamS -- copy rule (down) _tlOlev = _lhsIlev -- copy rule (down) _tlOvarS = _lhsIvarS ( _hdIcTrf,_hdIfvS,_hdIgUniq,_hdIlevOf) = hd_ _hdOargMp _hdOcvarIntroMp _hdOevalCtx _hdOfvSCafMp _hdOgUniq _hdOintroCVarIntroMp _hdOlamS _hdOlev _hdOvarS ( _tlIcTrf,_tlIfvS,_tlIgUniq,_tlIlevOf) = tl_ _tlOargMp _tlOcvarIntroMp _tlOevalCtx _tlOfvSCafMp _tlOgUniq _tlOintroCVarIntroMp _tlOlamS _tlOlev _tlOvarS in ( _lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOlevOf))) sem_CAltL_Nil :: T_CAltL sem_CAltL_Nil = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIlamS _lhsIlev _lhsIvarS -> (let _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CAltL _lhsOgUniq :: Int -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- self rule _cTrf = [] -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq in ( _lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOlevOf))) -- CBind ------------------------------------------------------- {- visit 0: inherited attributes: argMp : CVarReplNmMp cvarIntroMp : CVarIntroMp evalCtx : EvalCtx fvSCafMp : FvSMp introCVarIntroMp : CVarIntroMp isGlobal : Bool lamS : FvS letBindingsCateg : CBindCateg lev : Int varS : FvS chained attribute: gUniq : Int synthesized attributes: bindLamS : FvS bindVarS : FvS bindsIntroCVarIntroMp : CVarIntroMp cTrf : CBind cvarIntroExprMp : CVarIntroMp fvS : FvS fvSMp : FvSMp lamBindSq : Seq.Seq CBind levOf : Int nm : HsName nmL : [HsName] varBindSq : Seq.Seq CBind alternatives: alternative Bind: child nm : {HsName} child bindAspects : CBoundL visit 0: local cTrf : _ -} -- cata sem_CBind :: CBind -> T_CBind sem_CBind (CBind_Bind _nm _bindAspects) = (sem_CBind_Bind _nm (sem_CBoundL _bindAspects)) -- semantic domain type T_CBind = CVarReplNmMp -> CVarIntroMp -> EvalCtx -> FvSMp -> Int -> CVarIntroMp -> Bool -> FvS -> CBindCateg -> Int -> FvS -> ( FvS,FvS,CVarIntroMp,CBind,CVarIntroMp,FvS,FvSMp,Int,(Seq.Seq CBind),Int,HsName,([HsName]),(Seq.Seq CBind)) sem_CBind_Bind :: HsName -> T_CBoundL -> T_CBind sem_CBind_Bind nm_ bindAspects_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisGlobal _lhsIlamS _lhsIletBindingsCateg _lhsIlev _lhsIvarS -> (let _lhsOfvSMp :: FvSMp _lhsOnmL :: ([HsName]) _bindAspectsOnm :: HsName _lhsOnm :: HsName _lhsObindLamS :: FvS _lhsObindVarS :: FvS _lhsObindsIntroCVarIntroMp :: CVarIntroMp _lhsOcvarIntroExprMp :: CVarIntroMp _lhsOfvS :: FvS _lhsOlamBindSq :: (Seq.Seq CBind) _lhsOlevOf :: Int _lhsOvarBindSq :: (Seq.Seq CBind) _lhsOcTrf :: CBind _lhsOgUniq :: Int _bindAspectsOargMp :: CVarReplNmMp _bindAspectsOcvarIntroMp :: CVarIntroMp _bindAspectsOevalCtx :: EvalCtx _bindAspectsOfvSCafMp :: FvSMp _bindAspectsOgUniq :: Int _bindAspectsOintroCVarIntroMp :: CVarIntroMp _bindAspectsOisGlobal :: Bool _bindAspectsOlamS :: FvS _bindAspectsOletBindingsCateg :: CBindCateg _bindAspectsOlev :: Int _bindAspectsOvarS :: FvS _bindAspectsIbindLamS :: FvS _bindAspectsIbindVarS :: FvS _bindAspectsIbindsIntroCVarIntroMp :: CVarIntroMp _bindAspectsIcTrf :: CBoundL _bindAspectsIcvarIntroExprMp :: CVarIntroMp _bindAspectsIfvS :: FvS _bindAspectsIfvSMp :: FvSMp _bindAspectsIgUniq :: Int _bindAspectsIlamBindSq :: (Seq.Seq CBind) _bindAspectsIlevOf :: Int _bindAspectsInmL :: ([HsName]) _bindAspectsIvarBindSq :: (Seq.Seq CBind) -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 11, column 17) _lhsOfvSMp = Map.singleton nm_ _bindAspectsIfvS -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 19, column 17) _lhsOnmL = [nm_] -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonBindNm.ag"(line 4, column 17) _bindAspectsOnm = nm_ -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonBindNm.ag"(line 12, column 17) _lhsOnm = nm_ -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 3, column 39) _lhsObindLamS = _bindAspectsIbindLamS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 3, column 39) _lhsObindVarS = _bindAspectsIbindVarS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 47, column 42) _lhsObindsIntroCVarIntroMp = _bindAspectsIbindsIntroCVarIntroMp -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 70, column 36) _lhsOcvarIntroExprMp = _bindAspectsIcvarIntroExprMp -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _bindAspectsIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 98, column 32) _lhsOlamBindSq = _bindAspectsIlamBindSq -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _bindAspectsIlevOf -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 97, column 32) _lhsOvarBindSq = _bindAspectsIvarBindSq -- self rule _cTrf = CBind_Bind nm_ _bindAspectsIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _bindAspectsIgUniq -- copy rule (down) _bindAspectsOargMp = _lhsIargMp -- copy rule (down) _bindAspectsOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _bindAspectsOevalCtx = _lhsIevalCtx -- copy rule (down) _bindAspectsOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _bindAspectsOgUniq = _lhsIgUniq -- copy rule (down) _bindAspectsOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _bindAspectsOisGlobal = _lhsIisGlobal -- copy rule (down) _bindAspectsOlamS = _lhsIlamS -- copy rule (down) _bindAspectsOletBindingsCateg = _lhsIletBindingsCateg -- copy rule (down) _bindAspectsOlev = _lhsIlev -- copy rule (down) _bindAspectsOvarS = _lhsIvarS ( _bindAspectsIbindLamS,_bindAspectsIbindVarS,_bindAspectsIbindsIntroCVarIntroMp,_bindAspectsIcTrf,_bindAspectsIcvarIntroExprMp,_bindAspectsIfvS,_bindAspectsIfvSMp,_bindAspectsIgUniq,_bindAspectsIlamBindSq,_bindAspectsIlevOf,_bindAspectsInmL,_bindAspectsIvarBindSq) = bindAspects_ _bindAspectsOargMp _bindAspectsOcvarIntroMp _bindAspectsOevalCtx _bindAspectsOfvSCafMp _bindAspectsOgUniq _bindAspectsOintroCVarIntroMp _bindAspectsOisGlobal _bindAspectsOlamS _bindAspectsOletBindingsCateg _bindAspectsOlev _bindAspectsOnm _bindAspectsOvarS in ( _lhsObindLamS,_lhsObindVarS,_lhsObindsIntroCVarIntroMp,_lhsOcTrf,_lhsOcvarIntroExprMp,_lhsOfvS,_lhsOfvSMp,_lhsOgUniq,_lhsOlamBindSq,_lhsOlevOf,_lhsOnm,_lhsOnmL,_lhsOvarBindSq))) -- CBindAnn ---------------------------------------------------- {- visit 0: inherited attributes: argMp : CVarReplNmMp cvarIntroMp : CVarIntroMp fvSCafMp : FvSMp introCVarIntroMp : CVarIntroMp lamS : FvS lev : Int varS : FvS chained attribute: gUniq : Int synthesized attributes: cTrf : CBindAnn fvS : FvS levOf : Int nmL : [HsName] alternatives: alternative Coe: child coe : {()} visit 0: local cTrf : _ -} -- cata sem_CBindAnn :: CBindAnn -> T_CBindAnn sem_CBindAnn (CBindAnn_Coe _coe) = (sem_CBindAnn_Coe _coe) -- semantic domain type T_CBindAnn = CVarReplNmMp -> CVarIntroMp -> FvSMp -> Int -> CVarIntroMp -> FvS -> Int -> FvS -> ( CBindAnn,FvS,Int,Int,([HsName])) sem_CBindAnn_Coe :: (()) -> T_CBindAnn sem_CBindAnn_Coe coe_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIlamS _lhsIlev _lhsIvarS -> (let _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOnmL :: ([HsName]) _lhsOcTrf :: CBindAnn _lhsOgUniq :: Int -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 16, column 31) _lhsOnmL = [] -- self rule _cTrf = CBindAnn_Coe coe_ -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq in ( _lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOlevOf,_lhsOnmL))) -- CBindAnnL --------------------------------------------------- {- visit 0: inherited attributes: argMp : CVarReplNmMp cvarIntroMp : CVarIntroMp fvSCafMp : FvSMp introCVarIntroMp : CVarIntroMp lamS : FvS lev : Int varS : FvS chained attribute: gUniq : Int synthesized attributes: cTrf : CBindAnnL fvS : FvS levOf : Int nmL : [HsName] alternatives: alternative Cons: child hd : CBindAnn child tl : CBindAnnL visit 0: local cTrf : _ alternative Nil: visit 0: 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 = CVarReplNmMp -> CVarIntroMp -> FvSMp -> Int -> CVarIntroMp -> FvS -> Int -> FvS -> ( CBindAnnL,FvS,Int,Int,([HsName])) sem_CBindAnnL_Cons :: T_CBindAnn -> T_CBindAnnL -> T_CBindAnnL sem_CBindAnnL_Cons hd_ tl_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIlamS _lhsIlev _lhsIvarS -> (let _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOnmL :: ([HsName]) _lhsOcTrf :: CBindAnnL _lhsOgUniq :: Int _hdOargMp :: CVarReplNmMp _hdOcvarIntroMp :: CVarIntroMp _hdOfvSCafMp :: FvSMp _hdOgUniq :: Int _hdOintroCVarIntroMp :: CVarIntroMp _hdOlamS :: FvS _hdOlev :: Int _hdOvarS :: FvS _tlOargMp :: CVarReplNmMp _tlOcvarIntroMp :: CVarIntroMp _tlOfvSCafMp :: FvSMp _tlOgUniq :: Int _tlOintroCVarIntroMp :: CVarIntroMp _tlOlamS :: FvS _tlOlev :: Int _tlOvarS :: FvS _hdIcTrf :: CBindAnn _hdIfvS :: FvS _hdIgUniq :: Int _hdIlevOf :: Int _hdInmL :: ([HsName]) _tlIcTrf :: CBindAnnL _tlIfvS :: FvS _tlIgUniq :: Int _tlIlevOf :: Int _tlInmL :: ([HsName]) -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _hdIfvS `Set.union` _tlIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _hdIlevOf `max` _tlIlevOf -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 16, column 31) _lhsOnmL = _hdInmL ++ _tlInmL -- self rule _cTrf = (:) _hdIcTrf _tlIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _tlIgUniq -- copy rule (down) _hdOargMp = _lhsIargMp -- copy rule (down) _hdOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _hdOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _hdOgUniq = _lhsIgUniq -- copy rule (down) _hdOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _hdOlamS = _lhsIlamS -- copy rule (down) _hdOlev = _lhsIlev -- copy rule (down) _hdOvarS = _lhsIvarS -- copy rule (down) _tlOargMp = _lhsIargMp -- copy rule (down) _tlOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _tlOfvSCafMp = _lhsIfvSCafMp -- copy rule (chain) _tlOgUniq = _hdIgUniq -- copy rule (down) _tlOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _tlOlamS = _lhsIlamS -- copy rule (down) _tlOlev = _lhsIlev -- copy rule (down) _tlOvarS = _lhsIvarS ( _hdIcTrf,_hdIfvS,_hdIgUniq,_hdIlevOf,_hdInmL) = hd_ _hdOargMp _hdOcvarIntroMp _hdOfvSCafMp _hdOgUniq _hdOintroCVarIntroMp _hdOlamS _hdOlev _hdOvarS ( _tlIcTrf,_tlIfvS,_tlIgUniq,_tlIlevOf,_tlInmL) = tl_ _tlOargMp _tlOcvarIntroMp _tlOfvSCafMp _tlOgUniq _tlOintroCVarIntroMp _tlOlamS _tlOlev _tlOvarS in ( _lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOlevOf,_lhsOnmL))) sem_CBindAnnL_Nil :: T_CBindAnnL sem_CBindAnnL_Nil = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIlamS _lhsIlev _lhsIvarS -> (let _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOnmL :: ([HsName]) _lhsOcTrf :: CBindAnnL _lhsOgUniq :: Int -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 16, column 31) _lhsOnmL = [] -- self rule _cTrf = [] -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq in ( _lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOlevOf,_lhsOnmL))) -- CBindL ------------------------------------------------------ {- visit 0: inherited attributes: argMp : CVarReplNmMp cvarIntroMp : CVarIntroMp evalCtx : EvalCtx fvSCafMp : FvSMp introCVarIntroMp : CVarIntroMp isGlobal : Bool lamS : FvS letBindingsCateg : CBindCateg lev : Int varS : FvS chained attribute: gUniq : Int synthesized attributes: bindLamS : FvS bindVarS : FvS bindsIntroCVarIntroMp : CVarIntroMp cTrf : CBindL cvarIntroExprMp : CVarIntroMp fvS : FvS fvSMp : FvSMp lamBindSq : Seq.Seq CBind levOf : Int nmL : [HsName] varBindSq : Seq.Seq CBind alternatives: alternative Cons: child hd : CBind child tl : CBindL visit 0: local cTrf : _ alternative Nil: visit 0: 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 = CVarReplNmMp -> CVarIntroMp -> EvalCtx -> FvSMp -> Int -> CVarIntroMp -> Bool -> FvS -> CBindCateg -> Int -> FvS -> ( FvS,FvS,CVarIntroMp,CBindL,CVarIntroMp,FvS,FvSMp,Int,(Seq.Seq CBind),Int,([HsName]),(Seq.Seq CBind)) sem_CBindL_Cons :: T_CBind -> T_CBindL -> T_CBindL sem_CBindL_Cons hd_ tl_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisGlobal _lhsIlamS _lhsIletBindingsCateg _lhsIlev _lhsIvarS -> (let _lhsObindLamS :: FvS _lhsObindVarS :: FvS _lhsObindsIntroCVarIntroMp :: CVarIntroMp _lhsOcvarIntroExprMp :: CVarIntroMp _lhsOfvS :: FvS _lhsOfvSMp :: FvSMp _lhsOlamBindSq :: (Seq.Seq CBind) _lhsOlevOf :: Int _lhsOnmL :: ([HsName]) _lhsOvarBindSq :: (Seq.Seq CBind) _lhsOcTrf :: CBindL _lhsOgUniq :: Int _hdOargMp :: CVarReplNmMp _hdOcvarIntroMp :: CVarIntroMp _hdOevalCtx :: EvalCtx _hdOfvSCafMp :: FvSMp _hdOgUniq :: Int _hdOintroCVarIntroMp :: CVarIntroMp _hdOisGlobal :: Bool _hdOlamS :: FvS _hdOletBindingsCateg :: CBindCateg _hdOlev :: Int _hdOvarS :: FvS _tlOargMp :: CVarReplNmMp _tlOcvarIntroMp :: CVarIntroMp _tlOevalCtx :: EvalCtx _tlOfvSCafMp :: FvSMp _tlOgUniq :: Int _tlOintroCVarIntroMp :: CVarIntroMp _tlOisGlobal :: Bool _tlOlamS :: FvS _tlOletBindingsCateg :: CBindCateg _tlOlev :: Int _tlOvarS :: FvS _hdIbindLamS :: FvS _hdIbindVarS :: FvS _hdIbindsIntroCVarIntroMp :: CVarIntroMp _hdIcTrf :: CBind _hdIcvarIntroExprMp :: CVarIntroMp _hdIfvS :: FvS _hdIfvSMp :: FvSMp _hdIgUniq :: Int _hdIlamBindSq :: (Seq.Seq CBind) _hdIlevOf :: Int _hdInm :: HsName _hdInmL :: ([HsName]) _hdIvarBindSq :: (Seq.Seq CBind) _tlIbindLamS :: FvS _tlIbindVarS :: FvS _tlIbindsIntroCVarIntroMp :: CVarIntroMp _tlIcTrf :: CBindL _tlIcvarIntroExprMp :: CVarIntroMp _tlIfvS :: FvS _tlIfvSMp :: FvSMp _tlIgUniq :: Int _tlIlamBindSq :: (Seq.Seq CBind) _tlIlevOf :: Int _tlInmL :: ([HsName]) _tlIvarBindSq :: (Seq.Seq CBind) -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 3, column 39) _lhsObindLamS = _hdIbindLamS `Set.union` _tlIbindLamS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 3, column 39) _lhsObindVarS = _hdIbindVarS `Set.union` _tlIbindVarS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 47, column 42) _lhsObindsIntroCVarIntroMp = _hdIbindsIntroCVarIntroMp `Map.union` _tlIbindsIntroCVarIntroMp -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 70, column 36) _lhsOcvarIntroExprMp = _hdIcvarIntroExprMp `Map.union` _tlIcvarIntroExprMp -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _hdIfvS `Set.union` _tlIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 2, column 26) _lhsOfvSMp = _hdIfvSMp `Map.union` _tlIfvSMp -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 98, column 32) _lhsOlamBindSq = _hdIlamBindSq `Seq.union` _tlIlamBindSq -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _hdIlevOf `max` _tlIlevOf -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 16, column 31) _lhsOnmL = _hdInmL ++ _tlInmL -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 97, column 32) _lhsOvarBindSq = _hdIvarBindSq `Seq.union` _tlIvarBindSq -- self rule _cTrf = (:) _hdIcTrf _tlIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _tlIgUniq -- copy rule (down) _hdOargMp = _lhsIargMp -- copy rule (down) _hdOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _hdOevalCtx = _lhsIevalCtx -- copy rule (down) _hdOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _hdOgUniq = _lhsIgUniq -- copy rule (down) _hdOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _hdOisGlobal = _lhsIisGlobal -- copy rule (down) _hdOlamS = _lhsIlamS -- copy rule (down) _hdOletBindingsCateg = _lhsIletBindingsCateg -- copy rule (down) _hdOlev = _lhsIlev -- copy rule (down) _hdOvarS = _lhsIvarS -- copy rule (down) _tlOargMp = _lhsIargMp -- copy rule (down) _tlOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _tlOevalCtx = _lhsIevalCtx -- copy rule (down) _tlOfvSCafMp = _lhsIfvSCafMp -- copy rule (chain) _tlOgUniq = _hdIgUniq -- copy rule (down) _tlOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _tlOisGlobal = _lhsIisGlobal -- copy rule (down) _tlOlamS = _lhsIlamS -- copy rule (down) _tlOletBindingsCateg = _lhsIletBindingsCateg -- copy rule (down) _tlOlev = _lhsIlev -- copy rule (down) _tlOvarS = _lhsIvarS ( _hdIbindLamS,_hdIbindVarS,_hdIbindsIntroCVarIntroMp,_hdIcTrf,_hdIcvarIntroExprMp,_hdIfvS,_hdIfvSMp,_hdIgUniq,_hdIlamBindSq,_hdIlevOf,_hdInm,_hdInmL,_hdIvarBindSq) = hd_ _hdOargMp _hdOcvarIntroMp _hdOevalCtx _hdOfvSCafMp _hdOgUniq _hdOintroCVarIntroMp _hdOisGlobal _hdOlamS _hdOletBindingsCateg _hdOlev _hdOvarS ( _tlIbindLamS,_tlIbindVarS,_tlIbindsIntroCVarIntroMp,_tlIcTrf,_tlIcvarIntroExprMp,_tlIfvS,_tlIfvSMp,_tlIgUniq,_tlIlamBindSq,_tlIlevOf,_tlInmL,_tlIvarBindSq) = tl_ _tlOargMp _tlOcvarIntroMp _tlOevalCtx _tlOfvSCafMp _tlOgUniq _tlOintroCVarIntroMp _tlOisGlobal _tlOlamS _tlOletBindingsCateg _tlOlev _tlOvarS in ( _lhsObindLamS,_lhsObindVarS,_lhsObindsIntroCVarIntroMp,_lhsOcTrf,_lhsOcvarIntroExprMp,_lhsOfvS,_lhsOfvSMp,_lhsOgUniq,_lhsOlamBindSq,_lhsOlevOf,_lhsOnmL,_lhsOvarBindSq))) sem_CBindL_Nil :: T_CBindL sem_CBindL_Nil = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisGlobal _lhsIlamS _lhsIletBindingsCateg _lhsIlev _lhsIvarS -> (let _lhsObindLamS :: FvS _lhsObindVarS :: FvS _lhsObindsIntroCVarIntroMp :: CVarIntroMp _lhsOcvarIntroExprMp :: CVarIntroMp _lhsOfvS :: FvS _lhsOfvSMp :: FvSMp _lhsOlamBindSq :: (Seq.Seq CBind) _lhsOlevOf :: Int _lhsOnmL :: ([HsName]) _lhsOvarBindSq :: (Seq.Seq CBind) _lhsOcTrf :: CBindL _lhsOgUniq :: Int -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 3, column 39) _lhsObindLamS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 3, column 39) _lhsObindVarS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 47, column 42) _lhsObindsIntroCVarIntroMp = Map.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 70, column 36) _lhsOcvarIntroExprMp = Map.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 2, column 26) _lhsOfvSMp = Map.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 98, column 32) _lhsOlamBindSq = Seq.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 16, column 31) _lhsOnmL = [] -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 97, column 32) _lhsOvarBindSq = Seq.empty -- self rule _cTrf = [] -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq in ( _lhsObindLamS,_lhsObindVarS,_lhsObindsIntroCVarIntroMp,_lhsOcTrf,_lhsOcvarIntroExprMp,_lhsOfvS,_lhsOfvSMp,_lhsOgUniq,_lhsOlamBindSq,_lhsOlevOf,_lhsOnmL,_lhsOvarBindSq))) -- CBound ------------------------------------------------------ {- visit 0: inherited attributes: argMp : CVarReplNmMp cvarIntroMp : CVarIntroMp evalCtx : EvalCtx fvSCafMp : FvSMp introCVarIntroMp : CVarIntroMp isGlobal : Bool isTopApp : Bool isTopTup : Bool lamS : FvS letBindingsCateg : CBindCateg lev : Int nm : HsName varS : FvS chained attribute: gUniq : Int synthesized attributes: bindLamS : FvS bindVarS : FvS bindsIntroCVarIntroMp : CVarIntroMp cTrf : CBound cvarIntroExprMp : CVarIntroMp fvS : FvS fvSMp : FvSMp lamBindSq : Seq.Seq CBind levOf : Int nmL : [HsName] varBindSq : Seq.Seq CBind alternatives: alternative Bind: child expr : CExpr visit 0: local isClosurableBind : _ local _tup1 : _ local cvi : _ local cviExpr : _ local whatAbove : {WhatExpr} local lUniq1 : _ local lUniq2 : _ local _tup2 : _ local argOldL : _ local argNewL : _ local argMpNew : _ local nmLam : _ local cTrfVar : _ local cTrfLam : _ local _tup3 : _ local cTrf : _ alternative Val: child aspectKeyS : {ACoreBindAspectKeyS} child mlev : {MetaLev} child lbl : {CLbl} child expr : CExpr visit 0: local whatAbove : {WhatExpr} local cTrf : _ alternative Ty: child aspectKeyS : {ACoreBindAspectKeyS} child ty : {Ty} visit 0: local cTrf : _ alternative FFE: child callconv : {FFIWay} child expEnt : {ForeignEnt} child expr : CExpr child ty : {Ty} visit 0: local whatAbove : {WhatExpr} 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 = CVarReplNmMp -> CVarIntroMp -> EvalCtx -> FvSMp -> Int -> CVarIntroMp -> Bool -> Bool -> Bool -> FvS -> CBindCateg -> Int -> HsName -> FvS -> ( FvS,FvS,CVarIntroMp,CBound,CVarIntroMp,FvS,FvSMp,Int,(Seq.Seq CBind),Int,([HsName]),(Seq.Seq CBind)) sem_CBound_Bind :: T_CExpr -> T_CBound sem_CBound_Bind expr_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisGlobal _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIletBindingsCateg _lhsIlev _lhsInm _lhsIvarS -> (let _lhsObindVarS :: FvS _lhsObindLamS :: FvS _lhsObindsIntroCVarIntroMp :: CVarIntroMp _lhsOcvarIntroExprMp :: CVarIntroMp _exprOisTopApp :: Bool _exprOisTopTup :: Bool _whatAbove :: WhatExpr _exprOgUniq :: Int _exprOargMp :: CVarReplNmMp _lhsOvarBindSq :: (Seq.Seq CBind) _lhsOlamBindSq :: (Seq.Seq CBind) _lhsOfvS :: FvS _lhsOfvSMp :: FvSMp _lhsOlevOf :: Int _lhsOnmL :: ([HsName]) _lhsOcTrf :: CBound _lhsOgUniq :: Int _exprOcvarIntroMp :: CVarIntroMp _exprOevalCtx :: EvalCtx _exprOfvSCafMp :: FvSMp _exprOintroCVarIntroMp :: CVarIntroMp _exprOlamS :: FvS _exprOlev :: Int _exprOvarS :: FvS _exprOwhatAbove :: WhatExpr _exprIappFunKind :: AppFunKind _exprIcTrf :: CExpr _exprIfvS :: FvS _exprIgUniq :: Int _exprIisClosurableExpr :: Bool _exprIlevOf :: Int _exprImbLam :: (Maybe [HsName]) _exprImbVar :: (Maybe HsName) _exprIwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 34, column 17) _isClosurableBind = ( _lhsIletBindingsCateg /= CBindCateg_Strict && _exprIisClosurableExpr ) -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 6, column 33) __tup1 = if isJust _exprImbLam then (Set.empty,Set.singleton _lhsInm) else (Set.singleton _lhsInm,Set.empty) -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 6, column 33) (_lhsObindVarS,_) = __tup1 -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 6, column 33) (_,_lhsObindLamS) = __tup1 -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 8, column 17) _cvi = emptyCVarIntro { cviLev = _lhsIlev } -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 8, column 17) _cviExpr = emptyCVarIntro { cviLev = _exprIlevOf } -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 50, column 17) _lhsObindsIntroCVarIntroMp = Map.singleton _lhsInm _cvi -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 73, column 17) _lhsOcvarIntroExprMp = Map.singleton _lhsInm _cviExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 37, column 17) _exprOisTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 37, column 17) _exprOisTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 83, column 17) _whatAbove = ExprIsBind _lhsInm -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 59, column 17) _lUniq1 = _lhsIgUniq -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 59, column 17) _lUniq2 = _lUniq1 + 1 -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 61, column 17) _exprOgUniq = _lUniq2 + Map.size _argMpNew -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 86, column 17) _exprOargMp = _argMpNew `Map.union` _lhsIargMp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 89, column 33) __tup2 = if _isClosurableBind then let mbvs = Map.lookup _lhsInm _lhsIfvSCafMp vs = panicJust ("CAFGlobalAsArg.CBind.Bind.argLevL: " ++ show _lhsInm ++ " not found in " ++ show _lhsIfvSCafMp) mbvs argLevL = fvLAsArg _lhsIintroCVarIntroMp vs in fvLArgRepl _lUniq2 argLevL else ([], [], Map.empty) -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 89, column 33) (_argOldL,_,_) = __tup2 -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 89, column 33) (_,_argNewL,_) = __tup2 -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 89, column 33) (_,_,_argMpNew) = __tup2 -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 102, column 17) _nmLam = mkFvNm _lUniq1 _lhsInm -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 102, column 17) _cTrfVar = acoreBind1Ty _lhsInm (acoreTyErr "CAFGlobalAsArg.CBound.Bind.cTrfVar") $ acoreApp (acoreVar _nmLam) $ map (\(n,cvi) -> (fvVarRepl _lhsIargMp n)) _argOldL -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 102, column 17) _cTrfLam = acoreBind1CatTy CBindCateg_Plain _nmLam (acoreTyErr "CAFGlobalAsArg.CBound.Bind.cTrfLam") $ acoreLam [(n) | (n,cvi) <- _argNewL] _exprIcTrf -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 108, column 33) __tup3 = if null _argNewL then (Seq.singleton (acoreBind1Asp1 _lhsInm _cTrf ) , Seq.empty ) else (Seq.singleton _cTrfVar , Seq.singleton _cTrfLam) -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 108, column 33) (_lhsOvarBindSq,_) = __tup3 -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 108, column 33) (_,_lhsOlamBindSq) = __tup3 -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _exprIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 2, column 26) _lhsOfvSMp = Map.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _exprIlevOf -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 16, column 31) _lhsOnmL = [] -- self rule _cTrf = CBound_Bind _exprIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _exprIgUniq -- copy rule (down) _exprOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _exprOevalCtx = _lhsIevalCtx -- copy rule (down) _exprOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _exprOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _exprOlamS = _lhsIlamS -- copy rule (down) _exprOlev = _lhsIlev -- copy rule (down) _exprOvarS = _lhsIvarS -- copy rule (from local) _exprOwhatAbove = _whatAbove ( _exprIappFunKind,_exprIcTrf,_exprIfvS,_exprIgUniq,_exprIisClosurableExpr,_exprIlevOf,_exprImbLam,_exprImbVar,_exprIwhatBelow) = expr_ _exprOargMp _exprOcvarIntroMp _exprOevalCtx _exprOfvSCafMp _exprOgUniq _exprOintroCVarIntroMp _exprOisTopApp _exprOisTopTup _exprOlamS _exprOlev _exprOvarS _exprOwhatAbove in ( _lhsObindLamS,_lhsObindVarS,_lhsObindsIntroCVarIntroMp,_lhsOcTrf,_lhsOcvarIntroExprMp,_lhsOfvS,_lhsOfvSMp,_lhsOgUniq,_lhsOlamBindSq,_lhsOlevOf,_lhsOnmL,_lhsOvarBindSq))) sem_CBound_Val :: ACoreBindAspectKeyS -> MetaLev -> CLbl -> T_CExpr -> T_CBound sem_CBound_Val aspectKeyS_ mlev_ lbl_ expr_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisGlobal _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIletBindingsCateg _lhsIlev _lhsInm _lhsIvarS -> (let _whatAbove :: WhatExpr _lhsObindLamS :: FvS _lhsObindVarS :: FvS _lhsObindsIntroCVarIntroMp :: CVarIntroMp _lhsOcvarIntroExprMp :: CVarIntroMp _lhsOfvS :: FvS _lhsOfvSMp :: FvSMp _lhsOlamBindSq :: (Seq.Seq CBind) _lhsOlevOf :: Int _lhsOnmL :: ([HsName]) _lhsOvarBindSq :: (Seq.Seq CBind) _lhsOcTrf :: CBound _lhsOgUniq :: Int _exprOargMp :: CVarReplNmMp _exprOcvarIntroMp :: CVarIntroMp _exprOevalCtx :: EvalCtx _exprOfvSCafMp :: FvSMp _exprOgUniq :: Int _exprOintroCVarIntroMp :: CVarIntroMp _exprOisTopApp :: Bool _exprOisTopTup :: Bool _exprOlamS :: FvS _exprOlev :: Int _exprOvarS :: FvS _exprOwhatAbove :: WhatExpr _exprIappFunKind :: AppFunKind _exprIcTrf :: CExpr _exprIfvS :: FvS _exprIgUniq :: Int _exprIisClosurableExpr :: Bool _exprIlevOf :: Int _exprImbLam :: (Maybe [HsName]) _exprImbVar :: (Maybe HsName) _exprIwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 83, column 17) _whatAbove = ExprIsBind _lhsInm -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 3, column 39) _lhsObindLamS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 3, column 39) _lhsObindVarS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 47, column 42) _lhsObindsIntroCVarIntroMp = Map.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 70, column 36) _lhsOcvarIntroExprMp = Map.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _exprIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 2, column 26) _lhsOfvSMp = Map.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 98, column 32) _lhsOlamBindSq = Seq.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _exprIlevOf -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 16, column 31) _lhsOnmL = [] -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 97, column 32) _lhsOvarBindSq = Seq.empty -- self rule _cTrf = CBound_Val aspectKeyS_ mlev_ lbl_ _exprIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _exprIgUniq -- copy rule (down) _exprOargMp = _lhsIargMp -- copy rule (down) _exprOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _exprOevalCtx = _lhsIevalCtx -- copy rule (down) _exprOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _exprOgUniq = _lhsIgUniq -- copy rule (down) _exprOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _exprOisTopApp = _lhsIisTopApp -- copy rule (down) _exprOisTopTup = _lhsIisTopTup -- copy rule (down) _exprOlamS = _lhsIlamS -- copy rule (down) _exprOlev = _lhsIlev -- copy rule (down) _exprOvarS = _lhsIvarS -- copy rule (from local) _exprOwhatAbove = _whatAbove ( _exprIappFunKind,_exprIcTrf,_exprIfvS,_exprIgUniq,_exprIisClosurableExpr,_exprIlevOf,_exprImbLam,_exprImbVar,_exprIwhatBelow) = expr_ _exprOargMp _exprOcvarIntroMp _exprOevalCtx _exprOfvSCafMp _exprOgUniq _exprOintroCVarIntroMp _exprOisTopApp _exprOisTopTup _exprOlamS _exprOlev _exprOvarS _exprOwhatAbove in ( _lhsObindLamS,_lhsObindVarS,_lhsObindsIntroCVarIntroMp,_lhsOcTrf,_lhsOcvarIntroExprMp,_lhsOfvS,_lhsOfvSMp,_lhsOgUniq,_lhsOlamBindSq,_lhsOlevOf,_lhsOnmL,_lhsOvarBindSq))) sem_CBound_Ty :: ACoreBindAspectKeyS -> Ty -> T_CBound sem_CBound_Ty aspectKeyS_ ty_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisGlobal _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIletBindingsCateg _lhsIlev _lhsInm _lhsIvarS -> (let _lhsObindLamS :: FvS _lhsObindVarS :: FvS _lhsObindsIntroCVarIntroMp :: CVarIntroMp _lhsOcvarIntroExprMp :: CVarIntroMp _lhsOfvS :: FvS _lhsOfvSMp :: FvSMp _lhsOlamBindSq :: (Seq.Seq CBind) _lhsOlevOf :: Int _lhsOnmL :: ([HsName]) _lhsOvarBindSq :: (Seq.Seq CBind) _lhsOcTrf :: CBound _lhsOgUniq :: Int -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 3, column 39) _lhsObindLamS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 3, column 39) _lhsObindVarS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 47, column 42) _lhsObindsIntroCVarIntroMp = Map.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 70, column 36) _lhsOcvarIntroExprMp = Map.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 2, column 26) _lhsOfvSMp = Map.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 98, column 32) _lhsOlamBindSq = Seq.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 16, column 31) _lhsOnmL = [] -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 97, column 32) _lhsOvarBindSq = Seq.empty -- self rule _cTrf = CBound_Ty aspectKeyS_ ty_ -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq in ( _lhsObindLamS,_lhsObindVarS,_lhsObindsIntroCVarIntroMp,_lhsOcTrf,_lhsOcvarIntroExprMp,_lhsOfvS,_lhsOfvSMp,_lhsOgUniq,_lhsOlamBindSq,_lhsOlevOf,_lhsOnmL,_lhsOvarBindSq))) sem_CBound_FFE :: FFIWay -> ForeignEnt -> T_CExpr -> Ty -> T_CBound sem_CBound_FFE callconv_ expEnt_ expr_ ty_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisGlobal _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIletBindingsCateg _lhsIlev _lhsInm _lhsIvarS -> (let _exprOisTopApp :: Bool _exprOisTopTup :: Bool _whatAbove :: WhatExpr _lhsOvarBindSq :: (Seq.Seq CBind) _lhsObindLamS :: FvS _lhsObindVarS :: FvS _lhsObindsIntroCVarIntroMp :: CVarIntroMp _lhsOcvarIntroExprMp :: CVarIntroMp _lhsOfvS :: FvS _lhsOfvSMp :: FvSMp _lhsOlamBindSq :: (Seq.Seq CBind) _lhsOlevOf :: Int _lhsOnmL :: ([HsName]) _lhsOcTrf :: CBound _lhsOgUniq :: Int _exprOargMp :: CVarReplNmMp _exprOcvarIntroMp :: CVarIntroMp _exprOevalCtx :: EvalCtx _exprOfvSCafMp :: FvSMp _exprOgUniq :: Int _exprOintroCVarIntroMp :: CVarIntroMp _exprOlamS :: FvS _exprOlev :: Int _exprOvarS :: FvS _exprOwhatAbove :: WhatExpr _exprIappFunKind :: AppFunKind _exprIcTrf :: CExpr _exprIfvS :: FvS _exprIgUniq :: Int _exprIisClosurableExpr :: Bool _exprIlevOf :: Int _exprImbLam :: (Maybe [HsName]) _exprImbVar :: (Maybe HsName) _exprIwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 37, column 17) _exprOisTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 37, column 17) _exprOisTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 84, column 17) _whatAbove = ExprIsLam 0 Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 114, column 17) _lhsOvarBindSq = Seq.singleton (acoreBind1Asp1 _lhsInm _cTrf) -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 3, column 39) _lhsObindLamS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 3, column 39) _lhsObindVarS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 47, column 42) _lhsObindsIntroCVarIntroMp = Map.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 70, column 36) _lhsOcvarIntroExprMp = Map.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _exprIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 2, column 26) _lhsOfvSMp = Map.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 98, column 32) _lhsOlamBindSq = Seq.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _exprIlevOf -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 16, column 31) _lhsOnmL = [] -- self rule _cTrf = CBound_FFE callconv_ expEnt_ _exprIcTrf ty_ -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _exprIgUniq -- copy rule (down) _exprOargMp = _lhsIargMp -- copy rule (down) _exprOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _exprOevalCtx = _lhsIevalCtx -- copy rule (down) _exprOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _exprOgUniq = _lhsIgUniq -- copy rule (down) _exprOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _exprOlamS = _lhsIlamS -- copy rule (down) _exprOlev = _lhsIlev -- copy rule (down) _exprOvarS = _lhsIvarS -- copy rule (from local) _exprOwhatAbove = _whatAbove ( _exprIappFunKind,_exprIcTrf,_exprIfvS,_exprIgUniq,_exprIisClosurableExpr,_exprIlevOf,_exprImbLam,_exprImbVar,_exprIwhatBelow) = expr_ _exprOargMp _exprOcvarIntroMp _exprOevalCtx _exprOfvSCafMp _exprOgUniq _exprOintroCVarIntroMp _exprOisTopApp _exprOisTopTup _exprOlamS _exprOlev _exprOvarS _exprOwhatAbove in ( _lhsObindLamS,_lhsObindVarS,_lhsObindsIntroCVarIntroMp,_lhsOcTrf,_lhsOcvarIntroExprMp,_lhsOfvS,_lhsOfvSMp,_lhsOgUniq,_lhsOlamBindSq,_lhsOlevOf,_lhsOnmL,_lhsOvarBindSq))) -- CBoundL ----------------------------------------------------- {- visit 0: inherited attributes: argMp : CVarReplNmMp cvarIntroMp : CVarIntroMp evalCtx : EvalCtx fvSCafMp : FvSMp introCVarIntroMp : CVarIntroMp isGlobal : Bool lamS : FvS letBindingsCateg : CBindCateg lev : Int nm : HsName varS : FvS chained attribute: gUniq : Int synthesized attributes: bindLamS : FvS bindVarS : FvS bindsIntroCVarIntroMp : CVarIntroMp cTrf : CBoundL cvarIntroExprMp : CVarIntroMp fvS : FvS fvSMp : FvSMp lamBindSq : Seq.Seq CBind levOf : Int nmL : [HsName] varBindSq : Seq.Seq CBind alternatives: alternative Cons: child hd : CBound child tl : CBoundL visit 0: local cTrf : _ alternative Nil: visit 0: 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 = CVarReplNmMp -> CVarIntroMp -> EvalCtx -> FvSMp -> Int -> CVarIntroMp -> Bool -> FvS -> CBindCateg -> Int -> HsName -> FvS -> ( FvS,FvS,CVarIntroMp,CBoundL,CVarIntroMp,FvS,FvSMp,Int,(Seq.Seq CBind),Int,([HsName]),(Seq.Seq CBind)) sem_CBoundL_Cons :: T_CBound -> T_CBoundL -> T_CBoundL sem_CBoundL_Cons hd_ tl_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisGlobal _lhsIlamS _lhsIletBindingsCateg _lhsIlev _lhsInm _lhsIvarS -> (let _hdOisTopApp :: Bool _hdOisTopTup :: Bool _lhsObindLamS :: FvS _lhsObindVarS :: FvS _lhsObindsIntroCVarIntroMp :: CVarIntroMp _lhsOcvarIntroExprMp :: CVarIntroMp _lhsOfvS :: FvS _lhsOfvSMp :: FvSMp _lhsOlamBindSq :: (Seq.Seq CBind) _lhsOlevOf :: Int _lhsOnmL :: ([HsName]) _lhsOvarBindSq :: (Seq.Seq CBind) _lhsOcTrf :: CBoundL _lhsOgUniq :: Int _hdOargMp :: CVarReplNmMp _hdOcvarIntroMp :: CVarIntroMp _hdOevalCtx :: EvalCtx _hdOfvSCafMp :: FvSMp _hdOgUniq :: Int _hdOintroCVarIntroMp :: CVarIntroMp _hdOisGlobal :: Bool _hdOlamS :: FvS _hdOletBindingsCateg :: CBindCateg _hdOlev :: Int _hdOnm :: HsName _hdOvarS :: FvS _tlOargMp :: CVarReplNmMp _tlOcvarIntroMp :: CVarIntroMp _tlOevalCtx :: EvalCtx _tlOfvSCafMp :: FvSMp _tlOgUniq :: Int _tlOintroCVarIntroMp :: CVarIntroMp _tlOisGlobal :: Bool _tlOlamS :: FvS _tlOletBindingsCateg :: CBindCateg _tlOlev :: Int _tlOnm :: HsName _tlOvarS :: FvS _hdIbindLamS :: FvS _hdIbindVarS :: FvS _hdIbindsIntroCVarIntroMp :: CVarIntroMp _hdIcTrf :: CBound _hdIcvarIntroExprMp :: CVarIntroMp _hdIfvS :: FvS _hdIfvSMp :: FvSMp _hdIgUniq :: Int _hdIlamBindSq :: (Seq.Seq CBind) _hdIlevOf :: Int _hdInmL :: ([HsName]) _hdIvarBindSq :: (Seq.Seq CBind) _tlIbindLamS :: FvS _tlIbindVarS :: FvS _tlIbindsIntroCVarIntroMp :: CVarIntroMp _tlIcTrf :: CBoundL _tlIcvarIntroExprMp :: CVarIntroMp _tlIfvS :: FvS _tlIfvSMp :: FvSMp _tlIgUniq :: Int _tlIlamBindSq :: (Seq.Seq CBind) _tlIlevOf :: Int _tlInmL :: ([HsName]) _tlIvarBindSq :: (Seq.Seq CBind) -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 31, column 25) _hdOisTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 31, column 25) _hdOisTopTup = True -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 3, column 39) _lhsObindLamS = _hdIbindLamS `Set.union` _tlIbindLamS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 3, column 39) _lhsObindVarS = _hdIbindVarS `Set.union` _tlIbindVarS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 47, column 42) _lhsObindsIntroCVarIntroMp = _hdIbindsIntroCVarIntroMp `Map.union` _tlIbindsIntroCVarIntroMp -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 70, column 36) _lhsOcvarIntroExprMp = _hdIcvarIntroExprMp `Map.union` _tlIcvarIntroExprMp -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _hdIfvS `Set.union` _tlIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 2, column 26) _lhsOfvSMp = _hdIfvSMp `Map.union` _tlIfvSMp -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 98, column 32) _lhsOlamBindSq = _hdIlamBindSq `Seq.union` _tlIlamBindSq -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _hdIlevOf `max` _tlIlevOf -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 16, column 31) _lhsOnmL = _hdInmL ++ _tlInmL -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 97, column 32) _lhsOvarBindSq = _hdIvarBindSq `Seq.union` _tlIvarBindSq -- self rule _cTrf = (:) _hdIcTrf _tlIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _tlIgUniq -- copy rule (down) _hdOargMp = _lhsIargMp -- copy rule (down) _hdOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _hdOevalCtx = _lhsIevalCtx -- copy rule (down) _hdOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _hdOgUniq = _lhsIgUniq -- copy rule (down) _hdOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _hdOisGlobal = _lhsIisGlobal -- copy rule (down) _hdOlamS = _lhsIlamS -- copy rule (down) _hdOletBindingsCateg = _lhsIletBindingsCateg -- copy rule (down) _hdOlev = _lhsIlev -- copy rule (down) _hdOnm = _lhsInm -- copy rule (down) _hdOvarS = _lhsIvarS -- copy rule (down) _tlOargMp = _lhsIargMp -- copy rule (down) _tlOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _tlOevalCtx = _lhsIevalCtx -- copy rule (down) _tlOfvSCafMp = _lhsIfvSCafMp -- copy rule (chain) _tlOgUniq = _hdIgUniq -- copy rule (down) _tlOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _tlOisGlobal = _lhsIisGlobal -- copy rule (down) _tlOlamS = _lhsIlamS -- copy rule (down) _tlOletBindingsCateg = _lhsIletBindingsCateg -- copy rule (down) _tlOlev = _lhsIlev -- copy rule (down) _tlOnm = _lhsInm -- copy rule (down) _tlOvarS = _lhsIvarS ( _hdIbindLamS,_hdIbindVarS,_hdIbindsIntroCVarIntroMp,_hdIcTrf,_hdIcvarIntroExprMp,_hdIfvS,_hdIfvSMp,_hdIgUniq,_hdIlamBindSq,_hdIlevOf,_hdInmL,_hdIvarBindSq) = hd_ _hdOargMp _hdOcvarIntroMp _hdOevalCtx _hdOfvSCafMp _hdOgUniq _hdOintroCVarIntroMp _hdOisGlobal _hdOisTopApp _hdOisTopTup _hdOlamS _hdOletBindingsCateg _hdOlev _hdOnm _hdOvarS ( _tlIbindLamS,_tlIbindVarS,_tlIbindsIntroCVarIntroMp,_tlIcTrf,_tlIcvarIntroExprMp,_tlIfvS,_tlIfvSMp,_tlIgUniq,_tlIlamBindSq,_tlIlevOf,_tlInmL,_tlIvarBindSq) = tl_ _tlOargMp _tlOcvarIntroMp _tlOevalCtx _tlOfvSCafMp _tlOgUniq _tlOintroCVarIntroMp _tlOisGlobal _tlOlamS _tlOletBindingsCateg _tlOlev _tlOnm _tlOvarS in ( _lhsObindLamS,_lhsObindVarS,_lhsObindsIntroCVarIntroMp,_lhsOcTrf,_lhsOcvarIntroExprMp,_lhsOfvS,_lhsOfvSMp,_lhsOgUniq,_lhsOlamBindSq,_lhsOlevOf,_lhsOnmL,_lhsOvarBindSq))) sem_CBoundL_Nil :: T_CBoundL sem_CBoundL_Nil = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisGlobal _lhsIlamS _lhsIletBindingsCateg _lhsIlev _lhsInm _lhsIvarS -> (let _lhsObindLamS :: FvS _lhsObindVarS :: FvS _lhsObindsIntroCVarIntroMp :: CVarIntroMp _lhsOcvarIntroExprMp :: CVarIntroMp _lhsOfvS :: FvS _lhsOfvSMp :: FvSMp _lhsOlamBindSq :: (Seq.Seq CBind) _lhsOlevOf :: Int _lhsOnmL :: ([HsName]) _lhsOvarBindSq :: (Seq.Seq CBind) _lhsOcTrf :: CBoundL _lhsOgUniq :: Int -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 3, column 39) _lhsObindLamS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 3, column 39) _lhsObindVarS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 47, column 42) _lhsObindsIntroCVarIntroMp = Map.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 70, column 36) _lhsOcvarIntroExprMp = Map.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 2, column 26) _lhsOfvSMp = Map.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 98, column 32) _lhsOlamBindSq = Seq.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 16, column 31) _lhsOnmL = [] -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 97, column 32) _lhsOvarBindSq = Seq.empty -- self rule _cTrf = [] -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq in ( _lhsObindLamS,_lhsObindVarS,_lhsObindsIntroCVarIntroMp,_lhsOcTrf,_lhsOcvarIntroExprMp,_lhsOfvS,_lhsOfvSMp,_lhsOgUniq,_lhsOlamBindSq,_lhsOlevOf,_lhsOnmL,_lhsOvarBindSq))) -- 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_ = (let _lhsOcTrf :: CDataCon -- self rule _cTrf = CDataCon_Con conNm_ tagNr_ arity_ -- self rule _lhsOcTrf = _cTrf in ( _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_ = (let _lhsOcTrf :: CDataConL _hdIcTrf :: CDataCon _tlIcTrf :: CDataConL -- self rule _cTrf = (:) _hdIcTrf _tlIcTrf -- self rule _lhsOcTrf = _cTrf ( _hdIcTrf) = hd_ ( _tlIcTrf) = tl_ in ( _lhsOcTrf)) sem_CDataConL_Nil :: T_CDataConL sem_CDataConL_Nil = (let _lhsOcTrf :: CDataConL -- self rule _cTrf = [] -- self rule _lhsOcTrf = _cTrf in ( _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_ = (let _lhsOcTrf :: CDeclMeta _dataConsIcTrf :: CDataConL -- self rule _cTrf = CDeclMeta_Data tyNm_ _dataConsIcTrf -- self rule _lhsOcTrf = _cTrf ( _dataConsIcTrf) = dataCons_ in ( _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_ = (let _lhsOcTrf :: CDeclMetaL _hdIcTrf :: CDeclMeta _tlIcTrf :: CDeclMetaL -- self rule _cTrf = (:) _hdIcTrf _tlIcTrf -- self rule _lhsOcTrf = _cTrf ( _hdIcTrf) = hd_ ( _tlIcTrf) = tl_ in ( _lhsOcTrf)) sem_CDeclMetaL_Nil :: T_CDeclMetaL sem_CDeclMetaL_Nil = (let _lhsOcTrf :: CDeclMetaL -- self rule _cTrf = [] -- self rule _lhsOcTrf = _cTrf in ( _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_ = (let _lhsOcTrf :: CExport -- self rule _cTrf = CExport_Export nm_ -- self rule _lhsOcTrf = _cTrf in ( _lhsOcTrf)) sem_CExport_ExportData :: HsName -> (Maybe [HsName]) -> T_CExport sem_CExport_ExportData nm_ mbConNmL_ = (let _lhsOcTrf :: CExport -- self rule _cTrf = CExport_ExportData nm_ mbConNmL_ -- self rule _lhsOcTrf = _cTrf in ( _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_ = (let _lhsOcTrf :: CExportL _hdIcTrf :: CExport _tlIcTrf :: CExportL -- self rule _cTrf = (:) _hdIcTrf _tlIcTrf -- self rule _lhsOcTrf = _cTrf ( _hdIcTrf) = hd_ ( _tlIcTrf) = tl_ in ( _lhsOcTrf)) sem_CExportL_Nil :: T_CExportL sem_CExportL_Nil = (let _lhsOcTrf :: CExportL -- self rule _cTrf = [] -- self rule _lhsOcTrf = _cTrf in ( _lhsOcTrf)) -- CExpr ------------------------------------------------------- {- visit 0: inherited attributes: argMp : CVarReplNmMp cvarIntroMp : CVarIntroMp evalCtx : EvalCtx fvSCafMp : FvSMp introCVarIntroMp : CVarIntroMp isTopApp : Bool isTopTup : Bool lamS : FvS lev : Int varS : FvS whatAbove : WhatExpr chained attribute: gUniq : Int synthesized attributes: appFunKind : AppFunKind cTrf : CExpr fvS : FvS isClosurableExpr : Bool levOf : Int mbLam : Maybe [HsName] mbVar : Maybe HsName whatBelow : WhatExpr alternatives: alternative Var: child ref : {ACoreBindRef} visit 0: local mbVar : {Maybe HsName} local nm : {HsName} local nmAsp : {HsName} local isTopApp : {Bool} local isTopTup : _ local whatBelow : _ local whatAbove : {WhatExpr} local cTrf : _ alternative Int: child int : {Int} visit 0: local isTopApp : {Bool} local isTopTup : _ local whatBelow : _ local whatAbove : {WhatExpr} local cTrf : _ alternative Char: child char : {Char} visit 0: local isTopApp : {Bool} local isTopTup : _ local whatBelow : _ local whatAbove : {WhatExpr} local cTrf : _ alternative String: child str : {String} visit 0: local levOf : _ local isTopApp : {Bool} local isTopTup : _ local whatBelow : _ local whatAbove : {WhatExpr} local cTrf : _ alternative Integer: child integer : {Integer} visit 0: local isTopApp : {Bool} local isTopTup : _ local whatBelow : _ local whatAbove : {WhatExpr} local cTrf : _ alternative Tup: child tag : {CTag} visit 0: local levOf : _ local isTopApp : {Bool} local isTopTup : _ local whatBelow : _ local whatAbove : {WhatExpr} local cTrf : _ alternative Let: child categ : {CBindCateg} child binds : CBindL child body : CExpr visit 0: local varS : _ local lamS : _ local maxBindLev : _ local _tup4 : _ local strLev : _ local introCVarIntroMp : _ local levOf : _ local fvS : _ local letBindingsCateg : _ local isTopApp : {Bool} local isTopTup : _ local whatBelow : _ local whatAbove : {WhatExpr} local isTopLet : _ local evalCtx : _ local isGlobal : _ local fvSCafMp : _ local cTrf : _ alternative App: child func : CExpr child arg : CBound visit 0: local levOf : _ local fvS : _ local letBindingsCateg : _ local isTopTup : _ local whatBelow : _ local whatAbove : {WhatExpr} local isTopApp' : _ local isGlobal : _ local cTrf : _ alternative Lam: child bind : CBind child body : CExpr visit 0: local varS : _ local cvi : _ local levOf : _ local fvS : _ local argNm : _ local letBindingsCateg : _ local isTopApp : {Bool} local isTopTup : _ local whatBelow : _ local whatAbove : {WhatExpr} local isTopLam : _ local lev : _ local isGlobal : _ local cTrf : _ alternative Case: child expr : CExpr child alts : CAltL child dflt : CExpr visit 0: local levOf : _ local isTopApp : {Bool} local isTopTup : _ local whatBelow : _ local whatAbove : {WhatExpr} local cTrf : _ alternative CaseAltFail: child failReason : {CaseAltFailReason} child errorExpr : CExpr visit 0: local isTopApp : {Bool} local isTopTup : _ local whatAbove : {WhatExpr} local cTrf : _ alternative TupDel: child expr : CExpr child tag : {CTag} child nm : {HsName} child offset : CExpr visit 0: local levOf : _ local isTopApp : {Bool} local isTopTup : _ local whatBelow : _ local whatAbove : {WhatExpr} local cTrf : _ alternative TupIns: child expr : CExpr child tag : {CTag} child nm : {HsName} child offset : CExpr child fldExpr : CExpr visit 0: local levOf : _ local isTopApp : {Bool} local isTopTup : _ local whatBelow : _ local whatAbove : {WhatExpr} local cTrf : _ alternative TupUpd: child expr : CExpr child tag : {CTag} child nm : {HsName} child offset : CExpr child fldExpr : CExpr visit 0: local levOf : _ local isTopApp : {Bool} local isTopTup : _ local whatBelow : _ local whatAbove : {WhatExpr} local cTrf : _ alternative FFI: child callconv : {FFIWay} child safety : {String} child impEnt : {ForeignEnt} child ty : {Ty} visit 0: local isTopApp : {Bool} local isTopTup : _ local whatBelow : _ local whatAbove : {WhatExpr} local cTrf : _ alternative Dbg: child info : {String} visit 0: local isTopApp : {Bool} local isTopTup : _ local whatBelow : _ local whatAbove : {WhatExpr} local cTrf : _ alternative Hole: child uid : {UID} visit 0: local isTopApp : {Bool} local isTopTup : _ local whatBelow : _ local whatAbove : {WhatExpr} local cTrf : _ alternative HoleLet: child bindsUid : {UID} child body : CExpr visit 0: local isTopApp : {Bool} local isTopTup : _ local whatBelow : _ local whatAbove : {WhatExpr} local cTrf : _ alternative CoeArg: visit 0: local isTopApp : {Bool} local isTopTup : _ local whatBelow : _ local whatAbove : {WhatExpr} local cTrf : _ alternative ImplsApp: child func : CExpr child uid : {ImplsVarId} visit 0: local isTopApp : {Bool} local isTopTup : _ local whatBelow : _ local whatAbove : {WhatExpr} local cTrf : _ alternative ImplsLam: child uid : {ImplsVarId} child body : CExpr visit 0: local isTopApp : {Bool} local isTopTup : _ local whatBelow : _ local whatAbove : {WhatExpr} local cTrf : _ alternative Ann: child ann : CExprAnn child expr : CExpr visit 0: 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 = CVarReplNmMp -> CVarIntroMp -> EvalCtx -> FvSMp -> Int -> CVarIntroMp -> Bool -> Bool -> FvS -> Int -> FvS -> WhatExpr -> ( AppFunKind,CExpr,FvS,Int,Bool,Int,(Maybe [HsName]),(Maybe HsName),WhatExpr) sem_CExpr_Var :: ACoreBindRef -> T_CExpr sem_CExpr_Var ref_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _lhsOmbLam :: (Maybe [HsName]) _lhsOappFunKind :: AppFunKind _mbVar :: (Maybe HsName) _lhsOlevOf :: Int _lhsOfvS :: FvS _nm :: HsName _nmAsp :: HsName _isTopApp :: Bool _whatAbove :: WhatExpr _lhsOcTrf :: CExpr _lhsOgUniq :: Int _lhsOmbVar :: (Maybe HsName) _lhsOwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 27, column 17) _lhsOisClosurableExpr = False -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 6, column 33) _lhsOmbLam = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 13, column 17) _lhsOappFunKind = AppFunKind_Fun ref_ -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 21, column 17) _mbVar = Just _nm -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 56, column 17) _lhsOlevOf = fvLev _nm _lhsIcvarIntroMp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 7, column 17) _lhsOfvS = Set.singleton _nm -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonBindNm.ag"(line 15, column 17) _nm = acbrefNm ref_ -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonBindNm.ag"(line 15, column 17) _nmAsp = mkHNm ref_ -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 16, column 17) _isTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 21, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 52, column 17) _whatBelow = ExprIsVar _nm -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 75, column 17) _whatAbove = ExprIsOther -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 117, column 17) _lhsOcTrf = fvVarRepl _lhsIargMp _nm -- self rule _cTrf = CExpr_Var ref_ -- copy rule (chain) _lhsOgUniq = _lhsIgUniq -- copy rule (from local) _lhsOmbVar = _mbVar -- copy rule (from local) _lhsOwhatBelow = _whatBelow in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_Int :: Int -> T_CExpr sem_CExpr_Int int_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _lhsOmbLam :: (Maybe [HsName]) _lhsOappFunKind :: AppFunKind _lhsOmbVar :: (Maybe HsName) _isTopApp :: Bool _whatAbove :: WhatExpr _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExpr _lhsOgUniq :: Int _lhsOwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 27, column 17) _lhsOisClosurableExpr = False -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 6, column 33) _lhsOmbLam = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 16, column 17) _lhsOappFunKind = AppFunKind_NoApp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 24, column 33) _lhsOmbVar = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 16, column 17) _isTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 21, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 53, column 17) _whatBelow = ExprIsInt int_ -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 75, column 17) _whatAbove = ExprIsOther -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- self rule _cTrf = CExpr_Int int_ -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq -- copy rule (from local) _lhsOwhatBelow = _whatBelow in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_Char :: Char -> T_CExpr sem_CExpr_Char char_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _lhsOmbLam :: (Maybe [HsName]) _lhsOappFunKind :: AppFunKind _lhsOmbVar :: (Maybe HsName) _isTopApp :: Bool _whatAbove :: WhatExpr _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExpr _lhsOgUniq :: Int _lhsOwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 27, column 17) _lhsOisClosurableExpr = False -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 6, column 33) _lhsOmbLam = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 16, column 17) _lhsOappFunKind = AppFunKind_NoApp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 24, column 33) _lhsOmbVar = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 16, column 17) _isTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 21, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 59, column 25) _whatBelow = ExprIsOtherWHNF -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 75, column 17) _whatAbove = ExprIsOther -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- self rule _cTrf = CExpr_Char char_ -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq -- copy rule (from local) _lhsOwhatBelow = _whatBelow in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_String :: String -> T_CExpr sem_CExpr_String str_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _lhsOmbLam :: (Maybe [HsName]) _lhsOappFunKind :: AppFunKind _lhsOmbVar :: (Maybe HsName) _isTopApp :: Bool _whatAbove :: WhatExpr _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExpr _lhsOgUniq :: Int _lhsOwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 27, column 17) _lhsOisClosurableExpr = False -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 6, column 33) _lhsOmbLam = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 16, column 17) _lhsOappFunKind = AppFunKind_NoApp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 24, column 33) _lhsOmbVar = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 65, column 17) _levOf = cLevIntern -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 16, column 17) _isTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 21, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 59, column 25) _whatBelow = ExprIsOtherWHNF -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 75, column 17) _whatAbove = ExprIsOther -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _levOf -- self rule _cTrf = CExpr_String str_ -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq -- copy rule (from local) _lhsOwhatBelow = _whatBelow in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_Integer :: Integer -> T_CExpr sem_CExpr_Integer integer_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _lhsOmbLam :: (Maybe [HsName]) _lhsOappFunKind :: AppFunKind _lhsOmbVar :: (Maybe HsName) _isTopApp :: Bool _whatAbove :: WhatExpr _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExpr _lhsOgUniq :: Int _lhsOwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 27, column 17) _lhsOisClosurableExpr = False -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 6, column 33) _lhsOmbLam = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 16, column 17) _lhsOappFunKind = AppFunKind_NoApp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 24, column 33) _lhsOmbVar = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 16, column 17) _isTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 21, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 59, column 25) _whatBelow = ExprIsOtherWHNF -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 75, column 17) _whatAbove = ExprIsOther -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- self rule _cTrf = CExpr_Integer integer_ -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq -- copy rule (from local) _lhsOwhatBelow = _whatBelow in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_Tup :: CTag -> T_CExpr sem_CExpr_Tup tag_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _lhsOmbLam :: (Maybe [HsName]) _lhsOappFunKind :: AppFunKind _lhsOmbVar :: (Maybe HsName) _isTopApp :: Bool _whatAbove :: WhatExpr _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExpr _lhsOgUniq :: Int _lhsOwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 27, column 17) _lhsOisClosurableExpr = False -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 6, column 33) _lhsOmbLam = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 11, column 17) _lhsOappFunKind = AppFunKind_Tag tag_ -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 24, column 33) _lhsOmbVar = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 64, column 17) _levOf = cLevModule -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 16, column 17) _isTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 21, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 55, column 25) _whatBelow = ExprIsTup tag_ -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 75, column 17) _whatAbove = ExprIsOther -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _levOf -- self rule _cTrf = CExpr_Tup tag_ -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq -- copy rule (from local) _lhsOwhatBelow = _whatBelow in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_Let :: CBindCateg -> T_CBindL -> T_CExpr -> T_CExpr sem_CExpr_Let categ_ binds_ body_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _bindsOlev :: Int _lhsOmbLam :: (Maybe [HsName]) _lhsOappFunKind :: AppFunKind _lhsOmbVar :: (Maybe HsName) _bindsOcvarIntroMp :: CVarIntroMp _bodyOcvarIntroMp :: CVarIntroMp _isTopApp :: Bool _whatAbove :: WhatExpr _lhsOcTrf :: CExpr _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOgUniq :: Int _lhsOwhatBelow :: WhatExpr _bindsOargMp :: CVarReplNmMp _bindsOevalCtx :: EvalCtx _bindsOfvSCafMp :: FvSMp _bindsOgUniq :: Int _bindsOintroCVarIntroMp :: CVarIntroMp _bindsOisGlobal :: Bool _bindsOlamS :: FvS _bindsOletBindingsCateg :: CBindCateg _bindsOvarS :: FvS _bodyOargMp :: CVarReplNmMp _bodyOevalCtx :: EvalCtx _bodyOfvSCafMp :: FvSMp _bodyOgUniq :: Int _bodyOintroCVarIntroMp :: CVarIntroMp _bodyOisTopApp :: Bool _bodyOisTopTup :: Bool _bodyOlamS :: FvS _bodyOlev :: Int _bodyOvarS :: FvS _bodyOwhatAbove :: WhatExpr _bindsIbindLamS :: FvS _bindsIbindVarS :: FvS _bindsIbindsIntroCVarIntroMp :: CVarIntroMp _bindsIcTrf :: CBindL _bindsIcvarIntroExprMp :: CVarIntroMp _bindsIfvS :: FvS _bindsIfvSMp :: FvSMp _bindsIgUniq :: Int _bindsIlamBindSq :: (Seq.Seq CBind) _bindsIlevOf :: Int _bindsInmL :: ([HsName]) _bindsIvarBindSq :: (Seq.Seq CBind) _bodyIappFunKind :: AppFunKind _bodyIcTrf :: CExpr _bodyIfvS :: FvS _bodyIgUniq :: Int _bodyIisClosurableExpr :: Bool _bodyIlevOf :: Int _bodyImbLam :: (Maybe [HsName]) _bodyImbVar :: (Maybe HsName) _bodyIwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 10, column 17) _lhsOisClosurableExpr = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonLevLet.ag"(line 2, column 17) _bindsOlev = _lhsIlev + 1 -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 6, column 33) _lhsOmbLam = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 16, column 17) _lhsOappFunKind = AppFunKind_NoApp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 24, column 33) _lhsOmbVar = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 18, column 17) _varS = _lhsIvarS `Set.union` _bindsIbindVarS -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 18, column 17) _lamS = _lhsIlamS `Set.union` _bindsIbindLamS -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 21, column 17) _maxBindLev = fvsLev _lhsIcvarIntroMp cLevModule _bindsIfvS -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 22, column 17) __tup4 = case categ_ of CBindCateg_Strict -> (const _lhsIlev,_lhsIcvarIntroMp) CBindCateg_Rec -> ( const _maxBindLev , Map.map (\cvi -> cvi {cviLev = _maxBindLev}) _bindsIcvarIntroExprMp `Map.union` _lhsIcvarIntroMp ) _ -> (id,_lhsIcvarIntroMp) -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 22, column 17) (_strLev,_) = __tup4 -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 22, column 17) (_,_bindsOcvarIntroMp) = __tup4 -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 30, column 17) _bodyOcvarIntroMp = Map.map (\cvi -> cvi {cviLev = _strLev $ cviLev cvi}) _bindsIcvarIntroExprMp `Map.union` _lhsIcvarIntroMp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 42, column 17) _introCVarIntroMp = Map.map (\cvi -> cvi {cviLev = _lhsIlev}) _bindsIbindsIntroCVarIntroMp `Map.union` _lhsIintroCVarIntroMp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 63, column 17) _levOf = fvsLev _lhsIcvarIntroMp cLevModule _fvS -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 6, column 17) _fvS = (_bodyIfvS `Set.union` _bindsIfvS) `Set.difference` Set.fromList _bindsInmL -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 4, column 17) _letBindingsCateg = categ_ -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 16, column 17) _isTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 21, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 64, column 17) _whatBelow = ExprIsOther -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 75, column 17) _whatAbove = ExprIsOther -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 78, column 17) _isTopLet = whatExprIsBind _lhsIwhatAbove -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 109, column 17) _evalCtx = if categ_ == CBindCateg_Strict then EvalCtx_Eval else EvalCtx_Thunk -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonLev.ag"(line 10, column 17) _isGlobal = _lhsIlev == cLevModule -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 70, column 17) _fvSCafMp = (let start varS = fvsClosure _bindsIbindVarS Set.empty varS _lhsIfvSCafMp _bindsIfvSMp in case categ_ of CBindCateg_Rec -> fvsTransClosure lm m where (m,lm) = start (_lhsIvarS `Set.union` _bindsIbindVarS) _ -> m where (m,_) = start _lhsIvarS ) `Map.union` _lhsIfvSCafMp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 118, column 17) _lhsOcTrf = acoreLet CBindCateg_Plain (Seq.toList _bindsIlamBindSq) $ acoreLet categ_ (Seq.toList _bindsIvarBindSq) $ _bodyIcTrf -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _fvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _levOf -- self rule _cTrf = CExpr_Let categ_ _bindsIcTrf _bodyIcTrf -- copy rule (up) _lhsOgUniq = _bodyIgUniq -- copy rule (from local) _lhsOwhatBelow = _whatBelow -- copy rule (down) _bindsOargMp = _lhsIargMp -- copy rule (from local) _bindsOevalCtx = _evalCtx -- copy rule (from local) _bindsOfvSCafMp = _fvSCafMp -- copy rule (down) _bindsOgUniq = _lhsIgUniq -- copy rule (from local) _bindsOintroCVarIntroMp = _introCVarIntroMp -- copy rule (from local) _bindsOisGlobal = _isGlobal -- copy rule (from local) _bindsOlamS = _lamS -- copy rule (from local) _bindsOletBindingsCateg = _letBindingsCateg -- copy rule (from local) _bindsOvarS = _varS -- copy rule (down) _bodyOargMp = _lhsIargMp -- copy rule (from local) _bodyOevalCtx = _evalCtx -- copy rule (from local) _bodyOfvSCafMp = _fvSCafMp -- copy rule (chain) _bodyOgUniq = _bindsIgUniq -- copy rule (from local) _bodyOintroCVarIntroMp = _introCVarIntroMp -- copy rule (from local) _bodyOisTopApp = _isTopApp -- copy rule (from local) _bodyOisTopTup = _isTopTup -- copy rule (from local) _bodyOlamS = _lamS -- copy rule (down) _bodyOlev = _lhsIlev -- copy rule (from local) _bodyOvarS = _varS -- copy rule (from local) _bodyOwhatAbove = _whatAbove ( _bindsIbindLamS,_bindsIbindVarS,_bindsIbindsIntroCVarIntroMp,_bindsIcTrf,_bindsIcvarIntroExprMp,_bindsIfvS,_bindsIfvSMp,_bindsIgUniq,_bindsIlamBindSq,_bindsIlevOf,_bindsInmL,_bindsIvarBindSq) = binds_ _bindsOargMp _bindsOcvarIntroMp _bindsOevalCtx _bindsOfvSCafMp _bindsOgUniq _bindsOintroCVarIntroMp _bindsOisGlobal _bindsOlamS _bindsOletBindingsCateg _bindsOlev _bindsOvarS ( _bodyIappFunKind,_bodyIcTrf,_bodyIfvS,_bodyIgUniq,_bodyIisClosurableExpr,_bodyIlevOf,_bodyImbLam,_bodyImbVar,_bodyIwhatBelow) = body_ _bodyOargMp _bodyOcvarIntroMp _bodyOevalCtx _bodyOfvSCafMp _bodyOgUniq _bodyOintroCVarIntroMp _bodyOisTopApp _bodyOisTopTup _bodyOlamS _bodyOlev _bodyOvarS _bodyOwhatAbove in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_App :: T_CExpr -> T_CBound -> T_CExpr sem_CExpr_App func_ arg_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _lhsOmbLam :: (Maybe [HsName]) _lhsOappFunKind :: AppFunKind _lhsOmbVar :: (Maybe HsName) _argOnm :: HsName _funcOisTopApp :: Bool _argOisTopApp :: Bool _whatAbove :: WhatExpr _argOevalCtx :: EvalCtx _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExpr _lhsOgUniq :: Int _lhsOwhatBelow :: WhatExpr _funcOargMp :: CVarReplNmMp _funcOcvarIntroMp :: CVarIntroMp _funcOevalCtx :: EvalCtx _funcOfvSCafMp :: FvSMp _funcOgUniq :: Int _funcOintroCVarIntroMp :: CVarIntroMp _funcOisTopTup :: Bool _funcOlamS :: FvS _funcOlev :: Int _funcOvarS :: FvS _funcOwhatAbove :: WhatExpr _argOargMp :: CVarReplNmMp _argOcvarIntroMp :: CVarIntroMp _argOfvSCafMp :: FvSMp _argOgUniq :: Int _argOintroCVarIntroMp :: CVarIntroMp _argOisGlobal :: Bool _argOisTopTup :: Bool _argOlamS :: FvS _argOletBindingsCateg :: CBindCateg _argOlev :: Int _argOvarS :: FvS _funcIappFunKind :: AppFunKind _funcIcTrf :: CExpr _funcIfvS :: FvS _funcIgUniq :: Int _funcIisClosurableExpr :: Bool _funcIlevOf :: Int _funcImbLam :: (Maybe [HsName]) _funcImbVar :: (Maybe HsName) _funcIwhatBelow :: WhatExpr _argIbindLamS :: FvS _argIbindVarS :: FvS _argIbindsIntroCVarIntroMp :: CVarIntroMp _argIcTrf :: CBound _argIcvarIntroExprMp :: CVarIntroMp _argIfvS :: FvS _argIfvSMp :: FvSMp _argIgUniq :: Int _argIlamBindSq :: (Seq.Seq CBind) _argIlevOf :: Int _argInmL :: ([HsName]) _argIvarBindSq :: (Seq.Seq CBind) -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 30, column 17) _lhsOisClosurableExpr = False -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 6, column 33) _lhsOmbLam = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 14, column 17) _lhsOappFunKind = _funcIappFunKind -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 24, column 33) _lhsOmbVar = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 57, column 17) _levOf = _funcIlevOf `max` _argIlevOf -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 8, column 17) _fvS = _funcIfvS `Set.union` _argIfvS -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonBindNm.ag"(line 7, column 17) _argOnm = hsnUnknown -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 6, column 33) _letBindingsCateg = acoreBindcategPlain -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 14, column 17) _funcOisTopApp = False -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 15, column 17) _argOisTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 21, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 54, column 17) _whatBelow = maybe (ExprIsApp 1 _funcIwhatBelow) (\(a,w) -> ExprIsApp (a + 1) w) $ whatExprMbApp _funcIwhatBelow -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 73, column 17) _whatAbove = maybe (ExprIsApp 1 ExprIsOther) (\(a,w) -> ExprIsApp (a + 1) w) $ whatExprMbApp _lhsIwhatAbove -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 80, column 17) _isTopApp' = isNothing $ whatExprMbApp _lhsIwhatAbove -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 115, column 17) _argOevalCtx = EvalCtx_Thunk -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonLev.ag"(line 12, column 33) _isGlobal = False -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _fvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _levOf -- self rule _cTrf = CExpr_App _funcIcTrf _argIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _argIgUniq -- copy rule (from local) _lhsOwhatBelow = _whatBelow -- copy rule (down) _funcOargMp = _lhsIargMp -- copy rule (down) _funcOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _funcOevalCtx = _lhsIevalCtx -- copy rule (down) _funcOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _funcOgUniq = _lhsIgUniq -- copy rule (down) _funcOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (from local) _funcOisTopTup = _isTopTup -- copy rule (down) _funcOlamS = _lhsIlamS -- copy rule (down) _funcOlev = _lhsIlev -- copy rule (down) _funcOvarS = _lhsIvarS -- copy rule (from local) _funcOwhatAbove = _whatAbove -- copy rule (down) _argOargMp = _lhsIargMp -- copy rule (down) _argOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _argOfvSCafMp = _lhsIfvSCafMp -- copy rule (chain) _argOgUniq = _funcIgUniq -- copy rule (down) _argOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (from local) _argOisGlobal = _isGlobal -- copy rule (from local) _argOisTopTup = _isTopTup -- copy rule (down) _argOlamS = _lhsIlamS -- copy rule (from local) _argOletBindingsCateg = _letBindingsCateg -- copy rule (down) _argOlev = _lhsIlev -- copy rule (down) _argOvarS = _lhsIvarS ( _funcIappFunKind,_funcIcTrf,_funcIfvS,_funcIgUniq,_funcIisClosurableExpr,_funcIlevOf,_funcImbLam,_funcImbVar,_funcIwhatBelow) = func_ _funcOargMp _funcOcvarIntroMp _funcOevalCtx _funcOfvSCafMp _funcOgUniq _funcOintroCVarIntroMp _funcOisTopApp _funcOisTopTup _funcOlamS _funcOlev _funcOvarS _funcOwhatAbove ( _argIbindLamS,_argIbindVarS,_argIbindsIntroCVarIntroMp,_argIcTrf,_argIcvarIntroExprMp,_argIfvS,_argIfvSMp,_argIgUniq,_argIlamBindSq,_argIlevOf,_argInmL,_argIvarBindSq) = arg_ _argOargMp _argOcvarIntroMp _argOevalCtx _argOfvSCafMp _argOgUniq _argOintroCVarIntroMp _argOisGlobal _argOisTopApp _argOisTopTup _argOlamS _argOletBindingsCateg _argOlev _argOnm _argOvarS in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_Lam :: T_CBind -> T_CExpr -> T_CExpr sem_CExpr_Lam bind_ body_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _lhsOmbLam :: (Maybe [HsName]) _lhsOappFunKind :: AppFunKind _lhsOmbVar :: (Maybe HsName) _bodyOcvarIntroMp :: CVarIntroMp _bodyOintroCVarIntroMp :: CVarIntroMp _isTopApp :: Bool _whatAbove :: WhatExpr _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExpr _lhsOgUniq :: Int _lhsOwhatBelow :: WhatExpr _bindOargMp :: CVarReplNmMp _bindOcvarIntroMp :: CVarIntroMp _bindOevalCtx :: EvalCtx _bindOfvSCafMp :: FvSMp _bindOgUniq :: Int _bindOintroCVarIntroMp :: CVarIntroMp _bindOisGlobal :: Bool _bindOlamS :: FvS _bindOletBindingsCateg :: CBindCateg _bindOlev :: Int _bindOvarS :: FvS _bodyOargMp :: CVarReplNmMp _bodyOevalCtx :: EvalCtx _bodyOfvSCafMp :: FvSMp _bodyOgUniq :: Int _bodyOisTopApp :: Bool _bodyOisTopTup :: Bool _bodyOlamS :: FvS _bodyOlev :: Int _bodyOvarS :: FvS _bodyOwhatAbove :: WhatExpr _bindIbindLamS :: FvS _bindIbindVarS :: FvS _bindIbindsIntroCVarIntroMp :: CVarIntroMp _bindIcTrf :: CBind _bindIcvarIntroExprMp :: CVarIntroMp _bindIfvS :: FvS _bindIfvSMp :: FvSMp _bindIgUniq :: Int _bindIlamBindSq :: (Seq.Seq CBind) _bindIlevOf :: Int _bindInm :: HsName _bindInmL :: ([HsName]) _bindIvarBindSq :: (Seq.Seq CBind) _bodyIappFunKind :: AppFunKind _bodyIcTrf :: CExpr _bodyIfvS :: FvS _bodyIgUniq :: Int _bodyIisClosurableExpr :: Bool _bodyIlevOf :: Int _bodyImbLam :: (Maybe [HsName]) _bodyImbVar :: (Maybe HsName) _bodyIwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 27, column 17) _lhsOisClosurableExpr = False -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 4, column 17) _lhsOmbLam = Just $ maybe [_argNm] (_argNm:) _bodyImbLam -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 16, column 17) _lhsOappFunKind = AppFunKind_NoApp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 24, column 33) _lhsOmbVar = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 20, column 17) _varS = _argNm `Set.insert` _lhsIvarS -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 2, column 17) _cvi = CVarIntro { cviLev = _lev } -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 20, column 17) _bodyOcvarIntroMp = Map.insert _argNm _cvi _lhsIcvarIntroMp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 41, column 17) _bodyOintroCVarIntroMp = Map.insert _argNm _cvi _lhsIintroCVarIntroMp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 62, column 17) _levOf = fvsLev _lhsIcvarIntroMp cLevModule _bodyIfvS -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 5, column 17) _fvS = _argNm `Set.delete` _bodyIfvS -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonBindNm.ag"(line 19, column 17) _argNm = _bindInm -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 6, column 33) _letBindingsCateg = acoreBindcategPlain -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 16, column 17) _isTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 21, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 51, column 17) _whatBelow = maybe (ExprIsLam 1 Nothing) (\a -> ExprIsLam (a + 1) Nothing) $ whatExprMbLam _bodyIwhatBelow -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 69, column 17) _whatAbove = case _lhsIwhatAbove of ExprIsLam a mbnm -> ExprIsLam (a + 1) mbnm ExprIsBind nm -> ExprIsLam 1 (Just nm) _ -> ExprIsLam 1 Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 79, column 17) _isTopLam = not $ whatExprIsLam _lhsIwhatAbove -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonLevLamPer1Lam.ag"(line 2, column 17) _lev = _lhsIlev + 1 -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonLev.ag"(line 12, column 33) _isGlobal = False -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _fvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _levOf -- self rule _cTrf = CExpr_Lam _bindIcTrf _bodyIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _bodyIgUniq -- copy rule (from local) _lhsOwhatBelow = _whatBelow -- copy rule (down) _bindOargMp = _lhsIargMp -- copy rule (down) _bindOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _bindOevalCtx = _lhsIevalCtx -- copy rule (down) _bindOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _bindOgUniq = _lhsIgUniq -- copy rule (down) _bindOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (from local) _bindOisGlobal = _isGlobal -- copy rule (down) _bindOlamS = _lhsIlamS -- copy rule (from local) _bindOletBindingsCateg = _letBindingsCateg -- copy rule (from local) _bindOlev = _lev -- copy rule (from local) _bindOvarS = _varS -- copy rule (down) _bodyOargMp = _lhsIargMp -- copy rule (down) _bodyOevalCtx = _lhsIevalCtx -- copy rule (down) _bodyOfvSCafMp = _lhsIfvSCafMp -- copy rule (chain) _bodyOgUniq = _bindIgUniq -- copy rule (from local) _bodyOisTopApp = _isTopApp -- copy rule (from local) _bodyOisTopTup = _isTopTup -- copy rule (down) _bodyOlamS = _lhsIlamS -- copy rule (from local) _bodyOlev = _lev -- copy rule (from local) _bodyOvarS = _varS -- copy rule (from local) _bodyOwhatAbove = _whatAbove ( _bindIbindLamS,_bindIbindVarS,_bindIbindsIntroCVarIntroMp,_bindIcTrf,_bindIcvarIntroExprMp,_bindIfvS,_bindIfvSMp,_bindIgUniq,_bindIlamBindSq,_bindIlevOf,_bindInm,_bindInmL,_bindIvarBindSq) = bind_ _bindOargMp _bindOcvarIntroMp _bindOevalCtx _bindOfvSCafMp _bindOgUniq _bindOintroCVarIntroMp _bindOisGlobal _bindOlamS _bindOletBindingsCateg _bindOlev _bindOvarS ( _bodyIappFunKind,_bodyIcTrf,_bodyIfvS,_bodyIgUniq,_bodyIisClosurableExpr,_bodyIlevOf,_bodyImbLam,_bodyImbVar,_bodyIwhatBelow) = body_ _bodyOargMp _bodyOcvarIntroMp _bodyOevalCtx _bodyOfvSCafMp _bodyOgUniq _bodyOintroCVarIntroMp _bodyOisTopApp _bodyOisTopTup _bodyOlamS _bodyOlev _bodyOvarS _bodyOwhatAbove in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_Case :: T_CExpr -> T_CAltL -> T_CExpr -> T_CExpr sem_CExpr_Case expr_ alts_ dflt_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _lhsOmbLam :: (Maybe [HsName]) _lhsOappFunKind :: AppFunKind _lhsOmbVar :: (Maybe HsName) _isTopApp :: Bool _whatAbove :: WhatExpr _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExpr _lhsOgUniq :: Int _lhsOwhatBelow :: WhatExpr _exprOargMp :: CVarReplNmMp _exprOcvarIntroMp :: CVarIntroMp _exprOevalCtx :: EvalCtx _exprOfvSCafMp :: FvSMp _exprOgUniq :: Int _exprOintroCVarIntroMp :: CVarIntroMp _exprOisTopApp :: Bool _exprOisTopTup :: Bool _exprOlamS :: FvS _exprOlev :: Int _exprOvarS :: FvS _exprOwhatAbove :: WhatExpr _altsOargMp :: CVarReplNmMp _altsOcvarIntroMp :: CVarIntroMp _altsOevalCtx :: EvalCtx _altsOfvSCafMp :: FvSMp _altsOgUniq :: Int _altsOintroCVarIntroMp :: CVarIntroMp _altsOlamS :: FvS _altsOlev :: Int _altsOvarS :: FvS _dfltOargMp :: CVarReplNmMp _dfltOcvarIntroMp :: CVarIntroMp _dfltOevalCtx :: EvalCtx _dfltOfvSCafMp :: FvSMp _dfltOgUniq :: Int _dfltOintroCVarIntroMp :: CVarIntroMp _dfltOisTopApp :: Bool _dfltOisTopTup :: Bool _dfltOlamS :: FvS _dfltOlev :: Int _dfltOvarS :: FvS _dfltOwhatAbove :: WhatExpr _exprIappFunKind :: AppFunKind _exprIcTrf :: CExpr _exprIfvS :: FvS _exprIgUniq :: Int _exprIisClosurableExpr :: Bool _exprIlevOf :: Int _exprImbLam :: (Maybe [HsName]) _exprImbVar :: (Maybe HsName) _exprIwhatBelow :: WhatExpr _altsIcTrf :: CAltL _altsIfvS :: FvS _altsIgUniq :: Int _altsIlevOf :: Int _dfltIappFunKind :: AppFunKind _dfltIcTrf :: CExpr _dfltIfvS :: FvS _dfltIgUniq :: Int _dfltIisClosurableExpr :: Bool _dfltIlevOf :: Int _dfltImbLam :: (Maybe [HsName]) _dfltImbVar :: (Maybe HsName) _dfltIwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 10, column 17) _lhsOisClosurableExpr = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 6, column 33) _lhsOmbLam = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 16, column 17) _lhsOappFunKind = AppFunKind_NoApp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 24, column 33) _lhsOmbVar = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 58, column 17) _levOf = _exprIlevOf `max` _altsIlevOf `max` _dfltIlevOf -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 16, column 17) _isTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 21, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 64, column 17) _whatBelow = ExprIsOther -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 75, column 17) _whatAbove = ExprIsOther -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _exprIfvS `Set.union` _altsIfvS `Set.union` _dfltIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _levOf -- self rule _cTrf = CExpr_Case _exprIcTrf _altsIcTrf _dfltIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _dfltIgUniq -- copy rule (from local) _lhsOwhatBelow = _whatBelow -- copy rule (down) _exprOargMp = _lhsIargMp -- copy rule (down) _exprOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _exprOevalCtx = _lhsIevalCtx -- copy rule (down) _exprOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _exprOgUniq = _lhsIgUniq -- copy rule (down) _exprOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (from local) _exprOisTopApp = _isTopApp -- copy rule (from local) _exprOisTopTup = _isTopTup -- copy rule (down) _exprOlamS = _lhsIlamS -- copy rule (down) _exprOlev = _lhsIlev -- copy rule (down) _exprOvarS = _lhsIvarS -- copy rule (from local) _exprOwhatAbove = _whatAbove -- copy rule (down) _altsOargMp = _lhsIargMp -- copy rule (down) _altsOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _altsOevalCtx = _lhsIevalCtx -- copy rule (down) _altsOfvSCafMp = _lhsIfvSCafMp -- copy rule (chain) _altsOgUniq = _exprIgUniq -- copy rule (down) _altsOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _altsOlamS = _lhsIlamS -- copy rule (down) _altsOlev = _lhsIlev -- copy rule (down) _altsOvarS = _lhsIvarS -- copy rule (down) _dfltOargMp = _lhsIargMp -- copy rule (down) _dfltOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _dfltOevalCtx = _lhsIevalCtx -- copy rule (down) _dfltOfvSCafMp = _lhsIfvSCafMp -- copy rule (chain) _dfltOgUniq = _altsIgUniq -- copy rule (down) _dfltOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (from local) _dfltOisTopApp = _isTopApp -- copy rule (from local) _dfltOisTopTup = _isTopTup -- copy rule (down) _dfltOlamS = _lhsIlamS -- copy rule (down) _dfltOlev = _lhsIlev -- copy rule (down) _dfltOvarS = _lhsIvarS -- copy rule (from local) _dfltOwhatAbove = _whatAbove ( _exprIappFunKind,_exprIcTrf,_exprIfvS,_exprIgUniq,_exprIisClosurableExpr,_exprIlevOf,_exprImbLam,_exprImbVar,_exprIwhatBelow) = expr_ _exprOargMp _exprOcvarIntroMp _exprOevalCtx _exprOfvSCafMp _exprOgUniq _exprOintroCVarIntroMp _exprOisTopApp _exprOisTopTup _exprOlamS _exprOlev _exprOvarS _exprOwhatAbove ( _altsIcTrf,_altsIfvS,_altsIgUniq,_altsIlevOf) = alts_ _altsOargMp _altsOcvarIntroMp _altsOevalCtx _altsOfvSCafMp _altsOgUniq _altsOintroCVarIntroMp _altsOlamS _altsOlev _altsOvarS ( _dfltIappFunKind,_dfltIcTrf,_dfltIfvS,_dfltIgUniq,_dfltIisClosurableExpr,_dfltIlevOf,_dfltImbLam,_dfltImbVar,_dfltIwhatBelow) = dflt_ _dfltOargMp _dfltOcvarIntroMp _dfltOevalCtx _dfltOfvSCafMp _dfltOgUniq _dfltOintroCVarIntroMp _dfltOisTopApp _dfltOisTopTup _dfltOlamS _dfltOlev _dfltOvarS _dfltOwhatAbove in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_CaseAltFail :: CaseAltFailReason -> T_CExpr -> T_CExpr sem_CExpr_CaseAltFail failReason_ errorExpr_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _isTopApp :: Bool _whatAbove :: WhatExpr _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExpr _lhsOappFunKind :: AppFunKind _lhsOgUniq :: Int _lhsOmbLam :: (Maybe [HsName]) _lhsOmbVar :: (Maybe HsName) _lhsOwhatBelow :: WhatExpr _errorExprOargMp :: CVarReplNmMp _errorExprOcvarIntroMp :: CVarIntroMp _errorExprOevalCtx :: EvalCtx _errorExprOfvSCafMp :: FvSMp _errorExprOgUniq :: Int _errorExprOintroCVarIntroMp :: CVarIntroMp _errorExprOisTopApp :: Bool _errorExprOisTopTup :: Bool _errorExprOlamS :: FvS _errorExprOlev :: Int _errorExprOvarS :: FvS _errorExprOwhatAbove :: WhatExpr _errorExprIappFunKind :: AppFunKind _errorExprIcTrf :: CExpr _errorExprIfvS :: FvS _errorExprIgUniq :: Int _errorExprIisClosurableExpr :: Bool _errorExprIlevOf :: Int _errorExprImbLam :: (Maybe [HsName]) _errorExprImbVar :: (Maybe HsName) _errorExprIwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 27, column 17) _lhsOisClosurableExpr = False -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 16, column 17) _isTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 21, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 75, column 17) _whatAbove = ExprIsOther -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _errorExprIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _errorExprIlevOf -- self rule _cTrf = CExpr_CaseAltFail failReason_ _errorExprIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOappFunKind = _errorExprIappFunKind -- copy rule (up) _lhsOgUniq = _errorExprIgUniq -- copy rule (up) _lhsOmbLam = _errorExprImbLam -- copy rule (up) _lhsOmbVar = _errorExprImbVar -- copy rule (up) _lhsOwhatBelow = _errorExprIwhatBelow -- copy rule (down) _errorExprOargMp = _lhsIargMp -- copy rule (down) _errorExprOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _errorExprOevalCtx = _lhsIevalCtx -- copy rule (down) _errorExprOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _errorExprOgUniq = _lhsIgUniq -- copy rule (down) _errorExprOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (from local) _errorExprOisTopApp = _isTopApp -- copy rule (from local) _errorExprOisTopTup = _isTopTup -- copy rule (down) _errorExprOlamS = _lhsIlamS -- copy rule (down) _errorExprOlev = _lhsIlev -- copy rule (down) _errorExprOvarS = _lhsIvarS -- copy rule (from local) _errorExprOwhatAbove = _whatAbove ( _errorExprIappFunKind,_errorExprIcTrf,_errorExprIfvS,_errorExprIgUniq,_errorExprIisClosurableExpr,_errorExprIlevOf,_errorExprImbLam,_errorExprImbVar,_errorExprIwhatBelow) = errorExpr_ _errorExprOargMp _errorExprOcvarIntroMp _errorExprOevalCtx _errorExprOfvSCafMp _errorExprOgUniq _errorExprOintroCVarIntroMp _errorExprOisTopApp _errorExprOisTopTup _errorExprOlamS _errorExprOlev _errorExprOvarS _errorExprOwhatAbove in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_TupDel :: T_CExpr -> CTag -> HsName -> T_CExpr -> T_CExpr sem_CExpr_TupDel expr_ tag_ nm_ offset_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _lhsOmbLam :: (Maybe [HsName]) _lhsOappFunKind :: AppFunKind _lhsOmbVar :: (Maybe HsName) _isTopApp :: Bool _exprOisTopTup :: Bool _whatAbove :: WhatExpr _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExpr _lhsOgUniq :: Int _lhsOwhatBelow :: WhatExpr _exprOargMp :: CVarReplNmMp _exprOcvarIntroMp :: CVarIntroMp _exprOevalCtx :: EvalCtx _exprOfvSCafMp :: FvSMp _exprOgUniq :: Int _exprOintroCVarIntroMp :: CVarIntroMp _exprOisTopApp :: Bool _exprOlamS :: FvS _exprOlev :: Int _exprOvarS :: FvS _exprOwhatAbove :: WhatExpr _offsetOargMp :: CVarReplNmMp _offsetOcvarIntroMp :: CVarIntroMp _offsetOevalCtx :: EvalCtx _offsetOfvSCafMp :: FvSMp _offsetOgUniq :: Int _offsetOintroCVarIntroMp :: CVarIntroMp _offsetOisTopApp :: Bool _offsetOisTopTup :: Bool _offsetOlamS :: FvS _offsetOlev :: Int _offsetOvarS :: FvS _offsetOwhatAbove :: WhatExpr _exprIappFunKind :: AppFunKind _exprIcTrf :: CExpr _exprIfvS :: FvS _exprIgUniq :: Int _exprIisClosurableExpr :: Bool _exprIlevOf :: Int _exprImbLam :: (Maybe [HsName]) _exprImbVar :: (Maybe HsName) _exprIwhatBelow :: WhatExpr _offsetIappFunKind :: AppFunKind _offsetIcTrf :: CExpr _offsetIfvS :: FvS _offsetIgUniq :: Int _offsetIisClosurableExpr :: Bool _offsetIlevOf :: Int _offsetImbLam :: (Maybe [HsName]) _offsetImbVar :: (Maybe HsName) _offsetIwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 10, column 17) _lhsOisClosurableExpr = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 6, column 33) _lhsOmbLam = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 16, column 17) _lhsOappFunKind = AppFunKind_NoApp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 24, column 33) _lhsOmbVar = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 59, column 17) _levOf = _exprIlevOf `max` _offsetIlevOf -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 16, column 17) _isTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 18, column 17) _exprOisTopTup = False -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 19, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 64, column 17) _whatBelow = ExprIsOther -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 75, column 17) _whatAbove = ExprIsOther -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _exprIfvS `Set.union` _offsetIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _levOf -- self rule _cTrf = CExpr_TupDel _exprIcTrf tag_ nm_ _offsetIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _offsetIgUniq -- copy rule (from local) _lhsOwhatBelow = _whatBelow -- copy rule (down) _exprOargMp = _lhsIargMp -- copy rule (down) _exprOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _exprOevalCtx = _lhsIevalCtx -- copy rule (down) _exprOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _exprOgUniq = _lhsIgUniq -- copy rule (down) _exprOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (from local) _exprOisTopApp = _isTopApp -- copy rule (down) _exprOlamS = _lhsIlamS -- copy rule (down) _exprOlev = _lhsIlev -- copy rule (down) _exprOvarS = _lhsIvarS -- copy rule (from local) _exprOwhatAbove = _whatAbove -- copy rule (down) _offsetOargMp = _lhsIargMp -- copy rule (down) _offsetOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _offsetOevalCtx = _lhsIevalCtx -- copy rule (down) _offsetOfvSCafMp = _lhsIfvSCafMp -- copy rule (chain) _offsetOgUniq = _exprIgUniq -- copy rule (down) _offsetOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (from local) _offsetOisTopApp = _isTopApp -- copy rule (from local) _offsetOisTopTup = _isTopTup -- copy rule (down) _offsetOlamS = _lhsIlamS -- copy rule (down) _offsetOlev = _lhsIlev -- copy rule (down) _offsetOvarS = _lhsIvarS -- copy rule (from local) _offsetOwhatAbove = _whatAbove ( _exprIappFunKind,_exprIcTrf,_exprIfvS,_exprIgUniq,_exprIisClosurableExpr,_exprIlevOf,_exprImbLam,_exprImbVar,_exprIwhatBelow) = expr_ _exprOargMp _exprOcvarIntroMp _exprOevalCtx _exprOfvSCafMp _exprOgUniq _exprOintroCVarIntroMp _exprOisTopApp _exprOisTopTup _exprOlamS _exprOlev _exprOvarS _exprOwhatAbove ( _offsetIappFunKind,_offsetIcTrf,_offsetIfvS,_offsetIgUniq,_offsetIisClosurableExpr,_offsetIlevOf,_offsetImbLam,_offsetImbVar,_offsetIwhatBelow) = offset_ _offsetOargMp _offsetOcvarIntroMp _offsetOevalCtx _offsetOfvSCafMp _offsetOgUniq _offsetOintroCVarIntroMp _offsetOisTopApp _offsetOisTopTup _offsetOlamS _offsetOlev _offsetOvarS _offsetOwhatAbove in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_TupIns :: T_CExpr -> CTag -> HsName -> T_CExpr -> T_CExpr -> T_CExpr sem_CExpr_TupIns expr_ tag_ nm_ offset_ fldExpr_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _lhsOmbLam :: (Maybe [HsName]) _lhsOappFunKind :: AppFunKind _lhsOmbVar :: (Maybe HsName) _isTopApp :: Bool _exprOisTopTup :: Bool _whatAbove :: WhatExpr _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExpr _lhsOgUniq :: Int _lhsOwhatBelow :: WhatExpr _exprOargMp :: CVarReplNmMp _exprOcvarIntroMp :: CVarIntroMp _exprOevalCtx :: EvalCtx _exprOfvSCafMp :: FvSMp _exprOgUniq :: Int _exprOintroCVarIntroMp :: CVarIntroMp _exprOisTopApp :: Bool _exprOlamS :: FvS _exprOlev :: Int _exprOvarS :: FvS _exprOwhatAbove :: WhatExpr _offsetOargMp :: CVarReplNmMp _offsetOcvarIntroMp :: CVarIntroMp _offsetOevalCtx :: EvalCtx _offsetOfvSCafMp :: FvSMp _offsetOgUniq :: Int _offsetOintroCVarIntroMp :: CVarIntroMp _offsetOisTopApp :: Bool _offsetOisTopTup :: Bool _offsetOlamS :: FvS _offsetOlev :: Int _offsetOvarS :: FvS _offsetOwhatAbove :: WhatExpr _fldExprOargMp :: CVarReplNmMp _fldExprOcvarIntroMp :: CVarIntroMp _fldExprOevalCtx :: EvalCtx _fldExprOfvSCafMp :: FvSMp _fldExprOgUniq :: Int _fldExprOintroCVarIntroMp :: CVarIntroMp _fldExprOisTopApp :: Bool _fldExprOisTopTup :: Bool _fldExprOlamS :: FvS _fldExprOlev :: Int _fldExprOvarS :: FvS _fldExprOwhatAbove :: WhatExpr _exprIappFunKind :: AppFunKind _exprIcTrf :: CExpr _exprIfvS :: FvS _exprIgUniq :: Int _exprIisClosurableExpr :: Bool _exprIlevOf :: Int _exprImbLam :: (Maybe [HsName]) _exprImbVar :: (Maybe HsName) _exprIwhatBelow :: WhatExpr _offsetIappFunKind :: AppFunKind _offsetIcTrf :: CExpr _offsetIfvS :: FvS _offsetIgUniq :: Int _offsetIisClosurableExpr :: Bool _offsetIlevOf :: Int _offsetImbLam :: (Maybe [HsName]) _offsetImbVar :: (Maybe HsName) _offsetIwhatBelow :: WhatExpr _fldExprIappFunKind :: AppFunKind _fldExprIcTrf :: CExpr _fldExprIfvS :: FvS _fldExprIgUniq :: Int _fldExprIisClosurableExpr :: Bool _fldExprIlevOf :: Int _fldExprImbLam :: (Maybe [HsName]) _fldExprImbVar :: (Maybe HsName) _fldExprIwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 10, column 17) _lhsOisClosurableExpr = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 6, column 33) _lhsOmbLam = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 16, column 17) _lhsOappFunKind = AppFunKind_NoApp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 24, column 33) _lhsOmbVar = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 61, column 17) _levOf = _exprIlevOf `max` _offsetIlevOf `max` _fldExprIlevOf -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 16, column 17) _isTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 18, column 17) _exprOisTopTup = False -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 19, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 64, column 17) _whatBelow = ExprIsOther -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 75, column 17) _whatAbove = ExprIsOther -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _exprIfvS `Set.union` _offsetIfvS `Set.union` _fldExprIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _levOf -- self rule _cTrf = CExpr_TupIns _exprIcTrf tag_ nm_ _offsetIcTrf _fldExprIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _fldExprIgUniq -- copy rule (from local) _lhsOwhatBelow = _whatBelow -- copy rule (down) _exprOargMp = _lhsIargMp -- copy rule (down) _exprOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _exprOevalCtx = _lhsIevalCtx -- copy rule (down) _exprOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _exprOgUniq = _lhsIgUniq -- copy rule (down) _exprOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (from local) _exprOisTopApp = _isTopApp -- copy rule (down) _exprOlamS = _lhsIlamS -- copy rule (down) _exprOlev = _lhsIlev -- copy rule (down) _exprOvarS = _lhsIvarS -- copy rule (from local) _exprOwhatAbove = _whatAbove -- copy rule (down) _offsetOargMp = _lhsIargMp -- copy rule (down) _offsetOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _offsetOevalCtx = _lhsIevalCtx -- copy rule (down) _offsetOfvSCafMp = _lhsIfvSCafMp -- copy rule (chain) _offsetOgUniq = _exprIgUniq -- copy rule (down) _offsetOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (from local) _offsetOisTopApp = _isTopApp -- copy rule (from local) _offsetOisTopTup = _isTopTup -- copy rule (down) _offsetOlamS = _lhsIlamS -- copy rule (down) _offsetOlev = _lhsIlev -- copy rule (down) _offsetOvarS = _lhsIvarS -- copy rule (from local) _offsetOwhatAbove = _whatAbove -- copy rule (down) _fldExprOargMp = _lhsIargMp -- copy rule (down) _fldExprOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _fldExprOevalCtx = _lhsIevalCtx -- copy rule (down) _fldExprOfvSCafMp = _lhsIfvSCafMp -- copy rule (chain) _fldExprOgUniq = _offsetIgUniq -- copy rule (down) _fldExprOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (from local) _fldExprOisTopApp = _isTopApp -- copy rule (from local) _fldExprOisTopTup = _isTopTup -- copy rule (down) _fldExprOlamS = _lhsIlamS -- copy rule (down) _fldExprOlev = _lhsIlev -- copy rule (down) _fldExprOvarS = _lhsIvarS -- copy rule (from local) _fldExprOwhatAbove = _whatAbove ( _exprIappFunKind,_exprIcTrf,_exprIfvS,_exprIgUniq,_exprIisClosurableExpr,_exprIlevOf,_exprImbLam,_exprImbVar,_exprIwhatBelow) = expr_ _exprOargMp _exprOcvarIntroMp _exprOevalCtx _exprOfvSCafMp _exprOgUniq _exprOintroCVarIntroMp _exprOisTopApp _exprOisTopTup _exprOlamS _exprOlev _exprOvarS _exprOwhatAbove ( _offsetIappFunKind,_offsetIcTrf,_offsetIfvS,_offsetIgUniq,_offsetIisClosurableExpr,_offsetIlevOf,_offsetImbLam,_offsetImbVar,_offsetIwhatBelow) = offset_ _offsetOargMp _offsetOcvarIntroMp _offsetOevalCtx _offsetOfvSCafMp _offsetOgUniq _offsetOintroCVarIntroMp _offsetOisTopApp _offsetOisTopTup _offsetOlamS _offsetOlev _offsetOvarS _offsetOwhatAbove ( _fldExprIappFunKind,_fldExprIcTrf,_fldExprIfvS,_fldExprIgUniq,_fldExprIisClosurableExpr,_fldExprIlevOf,_fldExprImbLam,_fldExprImbVar,_fldExprIwhatBelow) = fldExpr_ _fldExprOargMp _fldExprOcvarIntroMp _fldExprOevalCtx _fldExprOfvSCafMp _fldExprOgUniq _fldExprOintroCVarIntroMp _fldExprOisTopApp _fldExprOisTopTup _fldExprOlamS _fldExprOlev _fldExprOvarS _fldExprOwhatAbove in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_TupUpd :: T_CExpr -> CTag -> HsName -> T_CExpr -> T_CExpr -> T_CExpr sem_CExpr_TupUpd expr_ tag_ nm_ offset_ fldExpr_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _lhsOmbLam :: (Maybe [HsName]) _lhsOappFunKind :: AppFunKind _lhsOmbVar :: (Maybe HsName) _isTopApp :: Bool _exprOisTopTup :: Bool _whatAbove :: WhatExpr _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExpr _lhsOgUniq :: Int _lhsOwhatBelow :: WhatExpr _exprOargMp :: CVarReplNmMp _exprOcvarIntroMp :: CVarIntroMp _exprOevalCtx :: EvalCtx _exprOfvSCafMp :: FvSMp _exprOgUniq :: Int _exprOintroCVarIntroMp :: CVarIntroMp _exprOisTopApp :: Bool _exprOlamS :: FvS _exprOlev :: Int _exprOvarS :: FvS _exprOwhatAbove :: WhatExpr _offsetOargMp :: CVarReplNmMp _offsetOcvarIntroMp :: CVarIntroMp _offsetOevalCtx :: EvalCtx _offsetOfvSCafMp :: FvSMp _offsetOgUniq :: Int _offsetOintroCVarIntroMp :: CVarIntroMp _offsetOisTopApp :: Bool _offsetOisTopTup :: Bool _offsetOlamS :: FvS _offsetOlev :: Int _offsetOvarS :: FvS _offsetOwhatAbove :: WhatExpr _fldExprOargMp :: CVarReplNmMp _fldExprOcvarIntroMp :: CVarIntroMp _fldExprOevalCtx :: EvalCtx _fldExprOfvSCafMp :: FvSMp _fldExprOgUniq :: Int _fldExprOintroCVarIntroMp :: CVarIntroMp _fldExprOisTopApp :: Bool _fldExprOisTopTup :: Bool _fldExprOlamS :: FvS _fldExprOlev :: Int _fldExprOvarS :: FvS _fldExprOwhatAbove :: WhatExpr _exprIappFunKind :: AppFunKind _exprIcTrf :: CExpr _exprIfvS :: FvS _exprIgUniq :: Int _exprIisClosurableExpr :: Bool _exprIlevOf :: Int _exprImbLam :: (Maybe [HsName]) _exprImbVar :: (Maybe HsName) _exprIwhatBelow :: WhatExpr _offsetIappFunKind :: AppFunKind _offsetIcTrf :: CExpr _offsetIfvS :: FvS _offsetIgUniq :: Int _offsetIisClosurableExpr :: Bool _offsetIlevOf :: Int _offsetImbLam :: (Maybe [HsName]) _offsetImbVar :: (Maybe HsName) _offsetIwhatBelow :: WhatExpr _fldExprIappFunKind :: AppFunKind _fldExprIcTrf :: CExpr _fldExprIfvS :: FvS _fldExprIgUniq :: Int _fldExprIisClosurableExpr :: Bool _fldExprIlevOf :: Int _fldExprImbLam :: (Maybe [HsName]) _fldExprImbVar :: (Maybe HsName) _fldExprIwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 10, column 17) _lhsOisClosurableExpr = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 6, column 33) _lhsOmbLam = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 16, column 17) _lhsOappFunKind = AppFunKind_NoApp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 24, column 33) _lhsOmbVar = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 61, column 17) _levOf = _exprIlevOf `max` _offsetIlevOf `max` _fldExprIlevOf -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 16, column 17) _isTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 18, column 17) _exprOisTopTup = False -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 19, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 64, column 17) _whatBelow = ExprIsOther -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 75, column 17) _whatAbove = ExprIsOther -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _exprIfvS `Set.union` _offsetIfvS `Set.union` _fldExprIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _levOf -- self rule _cTrf = CExpr_TupUpd _exprIcTrf tag_ nm_ _offsetIcTrf _fldExprIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _fldExprIgUniq -- copy rule (from local) _lhsOwhatBelow = _whatBelow -- copy rule (down) _exprOargMp = _lhsIargMp -- copy rule (down) _exprOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _exprOevalCtx = _lhsIevalCtx -- copy rule (down) _exprOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _exprOgUniq = _lhsIgUniq -- copy rule (down) _exprOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (from local) _exprOisTopApp = _isTopApp -- copy rule (down) _exprOlamS = _lhsIlamS -- copy rule (down) _exprOlev = _lhsIlev -- copy rule (down) _exprOvarS = _lhsIvarS -- copy rule (from local) _exprOwhatAbove = _whatAbove -- copy rule (down) _offsetOargMp = _lhsIargMp -- copy rule (down) _offsetOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _offsetOevalCtx = _lhsIevalCtx -- copy rule (down) _offsetOfvSCafMp = _lhsIfvSCafMp -- copy rule (chain) _offsetOgUniq = _exprIgUniq -- copy rule (down) _offsetOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (from local) _offsetOisTopApp = _isTopApp -- copy rule (from local) _offsetOisTopTup = _isTopTup -- copy rule (down) _offsetOlamS = _lhsIlamS -- copy rule (down) _offsetOlev = _lhsIlev -- copy rule (down) _offsetOvarS = _lhsIvarS -- copy rule (from local) _offsetOwhatAbove = _whatAbove -- copy rule (down) _fldExprOargMp = _lhsIargMp -- copy rule (down) _fldExprOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _fldExprOevalCtx = _lhsIevalCtx -- copy rule (down) _fldExprOfvSCafMp = _lhsIfvSCafMp -- copy rule (chain) _fldExprOgUniq = _offsetIgUniq -- copy rule (down) _fldExprOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (from local) _fldExprOisTopApp = _isTopApp -- copy rule (from local) _fldExprOisTopTup = _isTopTup -- copy rule (down) _fldExprOlamS = _lhsIlamS -- copy rule (down) _fldExprOlev = _lhsIlev -- copy rule (down) _fldExprOvarS = _lhsIvarS -- copy rule (from local) _fldExprOwhatAbove = _whatAbove ( _exprIappFunKind,_exprIcTrf,_exprIfvS,_exprIgUniq,_exprIisClosurableExpr,_exprIlevOf,_exprImbLam,_exprImbVar,_exprIwhatBelow) = expr_ _exprOargMp _exprOcvarIntroMp _exprOevalCtx _exprOfvSCafMp _exprOgUniq _exprOintroCVarIntroMp _exprOisTopApp _exprOisTopTup _exprOlamS _exprOlev _exprOvarS _exprOwhatAbove ( _offsetIappFunKind,_offsetIcTrf,_offsetIfvS,_offsetIgUniq,_offsetIisClosurableExpr,_offsetIlevOf,_offsetImbLam,_offsetImbVar,_offsetIwhatBelow) = offset_ _offsetOargMp _offsetOcvarIntroMp _offsetOevalCtx _offsetOfvSCafMp _offsetOgUniq _offsetOintroCVarIntroMp _offsetOisTopApp _offsetOisTopTup _offsetOlamS _offsetOlev _offsetOvarS _offsetOwhatAbove ( _fldExprIappFunKind,_fldExprIcTrf,_fldExprIfvS,_fldExprIgUniq,_fldExprIisClosurableExpr,_fldExprIlevOf,_fldExprImbLam,_fldExprImbVar,_fldExprIwhatBelow) = fldExpr_ _fldExprOargMp _fldExprOcvarIntroMp _fldExprOevalCtx _fldExprOfvSCafMp _fldExprOgUniq _fldExprOintroCVarIntroMp _fldExprOisTopApp _fldExprOisTopTup _fldExprOlamS _fldExprOlev _fldExprOvarS _fldExprOwhatAbove in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_FFI :: FFIWay -> String -> ForeignEnt -> Ty -> T_CExpr sem_CExpr_FFI callconv_ safety_ impEnt_ ty_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _lhsOmbLam :: (Maybe [HsName]) _lhsOappFunKind :: AppFunKind _lhsOmbVar :: (Maybe HsName) _isTopApp :: Bool _whatAbove :: WhatExpr _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExpr _lhsOgUniq :: Int _lhsOwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 27, column 17) _lhsOisClosurableExpr = False -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 6, column 33) _lhsOmbLam = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 12, column 17) _lhsOappFunKind = AppFunKind_FFI -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 24, column 33) _lhsOmbVar = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 16, column 17) _isTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 21, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 56, column 25) _whatBelow = ExprIsFFI -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 75, column 17) _whatAbove = ExprIsOther -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- self rule _cTrf = CExpr_FFI callconv_ safety_ impEnt_ ty_ -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq -- copy rule (from local) _lhsOwhatBelow = _whatBelow in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_Dbg :: String -> T_CExpr sem_CExpr_Dbg info_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _lhsOmbLam :: (Maybe [HsName]) _lhsOappFunKind :: AppFunKind _lhsOmbVar :: (Maybe HsName) _isTopApp :: Bool _whatAbove :: WhatExpr _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExpr _lhsOgUniq :: Int _lhsOwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 27, column 17) _lhsOisClosurableExpr = False -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 6, column 33) _lhsOmbLam = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 16, column 17) _lhsOappFunKind = AppFunKind_NoApp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 24, column 33) _lhsOmbVar = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 16, column 17) _isTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 21, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 64, column 17) _whatBelow = ExprIsOther -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 75, column 17) _whatAbove = ExprIsOther -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- self rule _cTrf = CExpr_Dbg info_ -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq -- copy rule (from local) _lhsOwhatBelow = _whatBelow in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_Hole :: UID -> T_CExpr sem_CExpr_Hole uid_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _lhsOmbLam :: (Maybe [HsName]) _lhsOappFunKind :: AppFunKind _lhsOmbVar :: (Maybe HsName) _isTopApp :: Bool _whatAbove :: WhatExpr _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExpr _lhsOgUniq :: Int _lhsOwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 27, column 17) _lhsOisClosurableExpr = False -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 6, column 33) _lhsOmbLam = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 16, column 17) _lhsOappFunKind = AppFunKind_NoApp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 24, column 33) _lhsOmbVar = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 16, column 17) _isTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 21, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 64, column 17) _whatBelow = ExprIsOther -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 75, column 17) _whatAbove = ExprIsOther -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- self rule _cTrf = CExpr_Hole uid_ -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq -- copy rule (from local) _lhsOwhatBelow = _whatBelow in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_HoleLet :: UID -> T_CExpr -> T_CExpr sem_CExpr_HoleLet bindsUid_ body_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _lhsOmbLam :: (Maybe [HsName]) _lhsOappFunKind :: AppFunKind _lhsOmbVar :: (Maybe HsName) _isTopApp :: Bool _whatAbove :: WhatExpr _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExpr _lhsOgUniq :: Int _lhsOwhatBelow :: WhatExpr _bodyOargMp :: CVarReplNmMp _bodyOcvarIntroMp :: CVarIntroMp _bodyOevalCtx :: EvalCtx _bodyOfvSCafMp :: FvSMp _bodyOgUniq :: Int _bodyOintroCVarIntroMp :: CVarIntroMp _bodyOisTopApp :: Bool _bodyOisTopTup :: Bool _bodyOlamS :: FvS _bodyOlev :: Int _bodyOvarS :: FvS _bodyOwhatAbove :: WhatExpr _bodyIappFunKind :: AppFunKind _bodyIcTrf :: CExpr _bodyIfvS :: FvS _bodyIgUniq :: Int _bodyIisClosurableExpr :: Bool _bodyIlevOf :: Int _bodyImbLam :: (Maybe [HsName]) _bodyImbVar :: (Maybe HsName) _bodyIwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 27, column 17) _lhsOisClosurableExpr = False -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 6, column 33) _lhsOmbLam = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 16, column 17) _lhsOappFunKind = AppFunKind_NoApp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 24, column 33) _lhsOmbVar = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 16, column 17) _isTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 21, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 64, column 17) _whatBelow = ExprIsOther -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 75, column 17) _whatAbove = ExprIsOther -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _bodyIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _bodyIlevOf -- self rule _cTrf = CExpr_HoleLet bindsUid_ _bodyIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _bodyIgUniq -- copy rule (from local) _lhsOwhatBelow = _whatBelow -- copy rule (down) _bodyOargMp = _lhsIargMp -- copy rule (down) _bodyOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _bodyOevalCtx = _lhsIevalCtx -- copy rule (down) _bodyOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _bodyOgUniq = _lhsIgUniq -- copy rule (down) _bodyOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (from local) _bodyOisTopApp = _isTopApp -- copy rule (from local) _bodyOisTopTup = _isTopTup -- copy rule (down) _bodyOlamS = _lhsIlamS -- copy rule (down) _bodyOlev = _lhsIlev -- copy rule (down) _bodyOvarS = _lhsIvarS -- copy rule (from local) _bodyOwhatAbove = _whatAbove ( _bodyIappFunKind,_bodyIcTrf,_bodyIfvS,_bodyIgUniq,_bodyIisClosurableExpr,_bodyIlevOf,_bodyImbLam,_bodyImbVar,_bodyIwhatBelow) = body_ _bodyOargMp _bodyOcvarIntroMp _bodyOevalCtx _bodyOfvSCafMp _bodyOgUniq _bodyOintroCVarIntroMp _bodyOisTopApp _bodyOisTopTup _bodyOlamS _bodyOlev _bodyOvarS _bodyOwhatAbove in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_CoeArg :: T_CExpr sem_CExpr_CoeArg = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _lhsOmbLam :: (Maybe [HsName]) _lhsOappFunKind :: AppFunKind _lhsOmbVar :: (Maybe HsName) _isTopApp :: Bool _whatAbove :: WhatExpr _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExpr _lhsOgUniq :: Int _lhsOwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 27, column 17) _lhsOisClosurableExpr = False -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 6, column 33) _lhsOmbLam = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 16, column 17) _lhsOappFunKind = AppFunKind_NoApp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 24, column 33) _lhsOmbVar = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 16, column 17) _isTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 21, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 64, column 17) _whatBelow = ExprIsOther -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 75, column 17) _whatAbove = ExprIsOther -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- self rule _cTrf = CExpr_CoeArg -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq -- copy rule (from local) _lhsOwhatBelow = _whatBelow in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_ImplsApp :: T_CExpr -> ImplsVarId -> T_CExpr sem_CExpr_ImplsApp func_ uid_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _lhsOmbLam :: (Maybe [HsName]) _lhsOappFunKind :: AppFunKind _lhsOmbVar :: (Maybe HsName) _isTopApp :: Bool _whatAbove :: WhatExpr _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExpr _lhsOgUniq :: Int _lhsOwhatBelow :: WhatExpr _funcOargMp :: CVarReplNmMp _funcOcvarIntroMp :: CVarIntroMp _funcOevalCtx :: EvalCtx _funcOfvSCafMp :: FvSMp _funcOgUniq :: Int _funcOintroCVarIntroMp :: CVarIntroMp _funcOisTopApp :: Bool _funcOisTopTup :: Bool _funcOlamS :: FvS _funcOlev :: Int _funcOvarS :: FvS _funcOwhatAbove :: WhatExpr _funcIappFunKind :: AppFunKind _funcIcTrf :: CExpr _funcIfvS :: FvS _funcIgUniq :: Int _funcIisClosurableExpr :: Bool _funcIlevOf :: Int _funcImbLam :: (Maybe [HsName]) _funcImbVar :: (Maybe HsName) _funcIwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 27, column 17) _lhsOisClosurableExpr = False -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 6, column 33) _lhsOmbLam = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 16, column 17) _lhsOappFunKind = AppFunKind_NoApp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 24, column 33) _lhsOmbVar = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 16, column 17) _isTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 21, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 64, column 17) _whatBelow = ExprIsOther -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 75, column 17) _whatAbove = ExprIsOther -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _funcIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _funcIlevOf -- self rule _cTrf = CExpr_ImplsApp _funcIcTrf uid_ -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _funcIgUniq -- copy rule (from local) _lhsOwhatBelow = _whatBelow -- copy rule (down) _funcOargMp = _lhsIargMp -- copy rule (down) _funcOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _funcOevalCtx = _lhsIevalCtx -- copy rule (down) _funcOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _funcOgUniq = _lhsIgUniq -- copy rule (down) _funcOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (from local) _funcOisTopApp = _isTopApp -- copy rule (from local) _funcOisTopTup = _isTopTup -- copy rule (down) _funcOlamS = _lhsIlamS -- copy rule (down) _funcOlev = _lhsIlev -- copy rule (down) _funcOvarS = _lhsIvarS -- copy rule (from local) _funcOwhatAbove = _whatAbove ( _funcIappFunKind,_funcIcTrf,_funcIfvS,_funcIgUniq,_funcIisClosurableExpr,_funcIlevOf,_funcImbLam,_funcImbVar,_funcIwhatBelow) = func_ _funcOargMp _funcOcvarIntroMp _funcOevalCtx _funcOfvSCafMp _funcOgUniq _funcOintroCVarIntroMp _funcOisTopApp _funcOisTopTup _funcOlamS _funcOlev _funcOvarS _funcOwhatAbove in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_ImplsLam :: ImplsVarId -> T_CExpr -> T_CExpr sem_CExpr_ImplsLam uid_ body_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOisClosurableExpr :: Bool _lhsOmbLam :: (Maybe [HsName]) _lhsOappFunKind :: AppFunKind _lhsOmbVar :: (Maybe HsName) _isTopApp :: Bool _whatAbove :: WhatExpr _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExpr _lhsOgUniq :: Int _lhsOwhatBelow :: WhatExpr _bodyOargMp :: CVarReplNmMp _bodyOcvarIntroMp :: CVarIntroMp _bodyOevalCtx :: EvalCtx _bodyOfvSCafMp :: FvSMp _bodyOgUniq :: Int _bodyOintroCVarIntroMp :: CVarIntroMp _bodyOisTopApp :: Bool _bodyOisTopTup :: Bool _bodyOlamS :: FvS _bodyOlev :: Int _bodyOvarS :: FvS _bodyOwhatAbove :: WhatExpr _bodyIappFunKind :: AppFunKind _bodyIcTrf :: CExpr _bodyIfvS :: FvS _bodyIgUniq :: Int _bodyIisClosurableExpr :: Bool _bodyIlevOf :: Int _bodyImbLam :: (Maybe [HsName]) _bodyImbVar :: (Maybe HsName) _bodyIwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFloat.ag"(line 27, column 17) _lhsOisClosurableExpr = False -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 6, column 33) _lhsOmbLam = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 16, column 17) _lhsOappFunKind = AppFunKind_NoApp -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonPred.ag"(line 24, column 33) _lhsOmbVar = Nothing -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 16, column 17) _isTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 21, column 17) _isTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 64, column 17) _whatBelow = ExprIsOther -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 75, column 17) _whatAbove = ExprIsOther -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _bodyIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _bodyIlevOf -- self rule _cTrf = CExpr_ImplsLam uid_ _bodyIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _bodyIgUniq -- copy rule (from local) _lhsOwhatBelow = _whatBelow -- copy rule (down) _bodyOargMp = _lhsIargMp -- copy rule (down) _bodyOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _bodyOevalCtx = _lhsIevalCtx -- copy rule (down) _bodyOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _bodyOgUniq = _lhsIgUniq -- copy rule (down) _bodyOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (from local) _bodyOisTopApp = _isTopApp -- copy rule (from local) _bodyOisTopTup = _isTopTup -- copy rule (down) _bodyOlamS = _lhsIlamS -- copy rule (down) _bodyOlev = _lhsIlev -- copy rule (down) _bodyOvarS = _lhsIvarS -- copy rule (from local) _bodyOwhatAbove = _whatAbove ( _bodyIappFunKind,_bodyIcTrf,_bodyIfvS,_bodyIgUniq,_bodyIisClosurableExpr,_bodyIlevOf,_bodyImbLam,_bodyImbVar,_bodyIwhatBelow) = body_ _bodyOargMp _bodyOcvarIntroMp _bodyOevalCtx _bodyOfvSCafMp _bodyOgUniq _bodyOintroCVarIntroMp _bodyOisTopApp _bodyOisTopTup _bodyOlamS _bodyOlev _bodyOvarS _bodyOwhatAbove in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) sem_CExpr_Ann :: T_CExprAnn -> T_CExpr -> T_CExpr sem_CExpr_Ann ann_ expr_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIevalCtx _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIisTopApp _lhsIisTopTup _lhsIlamS _lhsIlev _lhsIvarS _lhsIwhatAbove -> (let _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExpr _lhsOappFunKind :: AppFunKind _lhsOgUniq :: Int _lhsOisClosurableExpr :: Bool _lhsOmbLam :: (Maybe [HsName]) _lhsOmbVar :: (Maybe HsName) _lhsOwhatBelow :: WhatExpr _annOargMp :: CVarReplNmMp _annOcvarIntroMp :: CVarIntroMp _annOfvSCafMp :: FvSMp _annOgUniq :: Int _annOintroCVarIntroMp :: CVarIntroMp _annOlamS :: FvS _annOlev :: Int _annOvarS :: FvS _exprOargMp :: CVarReplNmMp _exprOcvarIntroMp :: CVarIntroMp _exprOevalCtx :: EvalCtx _exprOfvSCafMp :: FvSMp _exprOgUniq :: Int _exprOintroCVarIntroMp :: CVarIntroMp _exprOisTopApp :: Bool _exprOisTopTup :: Bool _exprOlamS :: FvS _exprOlev :: Int _exprOvarS :: FvS _exprOwhatAbove :: WhatExpr _annIcTrf :: CExprAnn _annIfvS :: FvS _annIgUniq :: Int _annIlevOf :: Int _exprIappFunKind :: AppFunKind _exprIcTrf :: CExpr _exprIfvS :: FvS _exprIgUniq :: Int _exprIisClosurableExpr :: Bool _exprIlevOf :: Int _exprImbLam :: (Maybe [HsName]) _exprImbVar :: (Maybe HsName) _exprIwhatBelow :: WhatExpr -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _annIfvS `Set.union` _exprIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _annIlevOf `max` _exprIlevOf -- self rule _cTrf = CExpr_Ann _annIcTrf _exprIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOappFunKind = _exprIappFunKind -- copy rule (up) _lhsOgUniq = _exprIgUniq -- copy rule (up) _lhsOisClosurableExpr = _exprIisClosurableExpr -- copy rule (up) _lhsOmbLam = _exprImbLam -- copy rule (up) _lhsOmbVar = _exprImbVar -- copy rule (up) _lhsOwhatBelow = _exprIwhatBelow -- copy rule (down) _annOargMp = _lhsIargMp -- copy rule (down) _annOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _annOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _annOgUniq = _lhsIgUniq -- copy rule (down) _annOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _annOlamS = _lhsIlamS -- copy rule (down) _annOlev = _lhsIlev -- copy rule (down) _annOvarS = _lhsIvarS -- copy rule (down) _exprOargMp = _lhsIargMp -- copy rule (down) _exprOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _exprOevalCtx = _lhsIevalCtx -- copy rule (down) _exprOfvSCafMp = _lhsIfvSCafMp -- copy rule (chain) _exprOgUniq = _annIgUniq -- copy rule (down) _exprOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _exprOisTopApp = _lhsIisTopApp -- copy rule (down) _exprOisTopTup = _lhsIisTopTup -- copy rule (down) _exprOlamS = _lhsIlamS -- copy rule (down) _exprOlev = _lhsIlev -- copy rule (down) _exprOvarS = _lhsIvarS -- copy rule (down) _exprOwhatAbove = _lhsIwhatAbove ( _annIcTrf,_annIfvS,_annIgUniq,_annIlevOf) = ann_ _annOargMp _annOcvarIntroMp _annOfvSCafMp _annOgUniq _annOintroCVarIntroMp _annOlamS _annOlev _annOvarS ( _exprIappFunKind,_exprIcTrf,_exprIfvS,_exprIgUniq,_exprIisClosurableExpr,_exprIlevOf,_exprImbLam,_exprImbVar,_exprIwhatBelow) = expr_ _exprOargMp _exprOcvarIntroMp _exprOevalCtx _exprOfvSCafMp _exprOgUniq _exprOintroCVarIntroMp _exprOisTopApp _exprOisTopTup _exprOlamS _exprOlev _exprOvarS _exprOwhatAbove in ( _lhsOappFunKind,_lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOisClosurableExpr,_lhsOlevOf,_lhsOmbLam,_lhsOmbVar,_lhsOwhatBelow))) -- CExprAnn ---------------------------------------------------- {- visit 0: inherited attributes: argMp : CVarReplNmMp cvarIntroMp : CVarIntroMp fvSCafMp : FvSMp introCVarIntroMp : CVarIntroMp lamS : FvS lev : Int varS : FvS chained attribute: gUniq : Int synthesized attributes: cTrf : CExprAnn fvS : FvS levOf : Int alternatives: alternative Ty: child ty : {Ty} visit 0: local cTrf : _ alternative Debug: child info : {String} visit 0: 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 = CVarReplNmMp -> CVarIntroMp -> FvSMp -> Int -> CVarIntroMp -> FvS -> Int -> FvS -> ( CExprAnn,FvS,Int,Int) sem_CExprAnn_Ty :: Ty -> T_CExprAnn sem_CExprAnn_Ty ty_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIlamS _lhsIlev _lhsIvarS -> (let _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExprAnn _lhsOgUniq :: Int -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- self rule _cTrf = CExprAnn_Ty ty_ -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq in ( _lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOlevOf))) sem_CExprAnn_Debug :: String -> T_CExprAnn sem_CExprAnn_Debug info_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIlamS _lhsIlev _lhsIvarS -> (let _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CExprAnn _lhsOgUniq :: Int -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- self rule _cTrf = CExprAnn_Debug info_ -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq in ( _lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOlevOf))) -- 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_ = (let _lhsOcTrf :: CImport -- self rule _cTrf = CImport_Import nm_ -- self rule _lhsOcTrf = _cTrf in ( _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_ = (let _lhsOcTrf :: CImportL _hdIcTrf :: CImport _tlIcTrf :: CImportL -- self rule _cTrf = (:) _hdIcTrf _tlIcTrf -- self rule _lhsOcTrf = _cTrf ( _hdIcTrf) = hd_ ( _tlIcTrf) = tl_ in ( _lhsOcTrf)) sem_CImportL_Nil :: T_CImportL sem_CImportL_Nil = (let _lhsOcTrf :: CImportL -- self rule _cTrf = [] -- self rule _lhsOcTrf = _cTrf in ( _lhsOcTrf)) -- CModule ----------------------------------------------------- {- visit 0: inherited attributes: argMp : CVarReplNmMp cvarIntroMp : CVarIntroMp fvSCafMp : FvSMp introCVarIntroMp : CVarIntroMp lamS : FvS lev : Int varS : FvS chained attribute: gUniq : Int synthesized attributes: cTrf : CModule fvS : FvS levOf : Int alternatives: alternative Mod: child moduleNm : {HsName} child exports : CExportL child imports : CImportL child declMetas : CDeclMetaL child expr : CExpr visit 0: local whatAbove : {WhatExpr} 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 = CVarReplNmMp -> CVarIntroMp -> FvSMp -> Int -> CVarIntroMp -> FvS -> Int -> FvS -> ( CModule,FvS,Int,Int) sem_CModule_Mod :: HsName -> T_CExportL -> T_CImportL -> T_CDeclMetaL -> T_CExpr -> T_CModule sem_CModule_Mod moduleNm_ exports_ imports_ declMetas_ expr_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIlamS _lhsIlev _lhsIvarS -> (let _exprOisTopApp :: Bool _exprOisTopTup :: Bool _whatAbove :: WhatExpr _exprOevalCtx :: EvalCtx _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CModule _lhsOgUniq :: Int _exprOargMp :: CVarReplNmMp _exprOcvarIntroMp :: CVarIntroMp _exprOfvSCafMp :: FvSMp _exprOgUniq :: Int _exprOintroCVarIntroMp :: CVarIntroMp _exprOlamS :: FvS _exprOlev :: Int _exprOvarS :: FvS _exprOwhatAbove :: WhatExpr _exportsIcTrf :: CExportL _importsIcTrf :: CImportL _declMetasIcTrf :: CDeclMetaL _exprIappFunKind :: AppFunKind _exprIcTrf :: CExpr _exprIfvS :: FvS _exprIgUniq :: Int _exprIisClosurableExpr :: Bool _exprIlevOf :: Int _exprImbLam :: (Maybe [HsName]) _exprImbVar :: (Maybe HsName) _exprIwhatBelow :: WhatExpr -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 27, column 17) _exprOisTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 27, column 17) _exprOisTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 93, column 17) _whatAbove = ExprIsOther -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 102, column 17) _exprOevalCtx = EvalCtx_Eval -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _exprIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _exprIlevOf -- self rule _cTrf = CModule_Mod moduleNm_ _exportsIcTrf _importsIcTrf _declMetasIcTrf _exprIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _exprIgUniq -- copy rule (down) _exprOargMp = _lhsIargMp -- copy rule (down) _exprOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _exprOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _exprOgUniq = _lhsIgUniq -- copy rule (down) _exprOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _exprOlamS = _lhsIlamS -- copy rule (down) _exprOlev = _lhsIlev -- copy rule (down) _exprOvarS = _lhsIvarS -- copy rule (from local) _exprOwhatAbove = _whatAbove ( _exportsIcTrf) = exports_ ( _importsIcTrf) = imports_ ( _declMetasIcTrf) = declMetas_ ( _exprIappFunKind,_exprIcTrf,_exprIfvS,_exprIgUniq,_exprIisClosurableExpr,_exprIlevOf,_exprImbLam,_exprImbVar,_exprIwhatBelow) = expr_ _exprOargMp _exprOcvarIntroMp _exprOevalCtx _exprOfvSCafMp _exprOgUniq _exprOintroCVarIntroMp _exprOisTopApp _exprOisTopTup _exprOlamS _exprOlev _exprOvarS _exprOwhatAbove in ( _lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOlevOf))) -- CPat -------------------------------------------------------- {- visit 0: inherited attributes: argMp : CVarReplNmMp cvarIntroMp : CVarIntroMp fvSCafMp : FvSMp introCVarIntroMp : CVarIntroMp lamS : FvS lev : Int varS : FvS chained attribute: gUniq : Int synthesized attributes: cTrf : CPat fldNmL : [HsName] fvS : FvS levOf : Int nmL : [HsName] alternatives: alternative Var: child pnm : {HsName} visit 0: local cTrf : _ alternative Con: child tag : {CTag} child rest : CPatRest child binds : CPatFldL visit 0: local cTrf : _ alternative Int: child int : {Int} visit 0: local cTrf : _ alternative Char: child char : {Char} visit 0: local cTrf : _ alternative BoolExpr: child cexpr : {CExpr} visit 0: 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 = CVarReplNmMp -> CVarIntroMp -> FvSMp -> Int -> CVarIntroMp -> FvS -> Int -> FvS -> ( CPat,([HsName]),FvS,Int,Int,([HsName])) sem_CPat_Var :: HsName -> T_CPat sem_CPat_Var pnm_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIlamS _lhsIlev _lhsIvarS -> (let _lhsOnmL :: ([HsName]) _lhsOfldNmL :: ([HsName]) _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CPat _lhsOgUniq :: Int -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 28, column 17) _lhsOnmL = [pnm_] -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonBindNm.ag"(line 25, column 41) _lhsOfldNmL = [] -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- self rule _cTrf = CPat_Var pnm_ -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq in ( _lhsOcTrf,_lhsOfldNmL,_lhsOfvS,_lhsOgUniq,_lhsOlevOf,_lhsOnmL))) sem_CPat_Con :: CTag -> T_CPatRest -> T_CPatFldL -> T_CPat sem_CPat_Con tag_ rest_ binds_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIlamS _lhsIlev _lhsIvarS -> (let _lhsOnmL :: ([HsName]) _lhsOfldNmL :: ([HsName]) _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CPat _lhsOgUniq :: Int _restOargMp :: CVarReplNmMp _restOcvarIntroMp :: CVarIntroMp _restOfvSCafMp :: FvSMp _restOgUniq :: Int _restOintroCVarIntroMp :: CVarIntroMp _restOlamS :: FvS _restOlev :: Int _restOvarS :: FvS _bindsOargMp :: CVarReplNmMp _bindsOcvarIntroMp :: CVarIntroMp _bindsOfvSCafMp :: FvSMp _bindsOgUniq :: Int _bindsOintroCVarIntroMp :: CVarIntroMp _bindsOlamS :: FvS _bindsOlev :: Int _bindsOvarS :: FvS _restIcTrf :: CPatRest _restIfvS :: FvS _restIgUniq :: Int _restIlevOf :: Int _restInmL :: ([HsName]) _bindsIcTrf :: CPatFldL _bindsIfldNmL :: ([HsName]) _bindsIfvS :: FvS _bindsIgUniq :: Int _bindsIlevOf :: Int _bindsInmL :: ([HsName]) -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 29, column 17) _lhsOnmL = _restInmL ++ _bindsInmL -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonBindNm.ag"(line 25, column 41) _lhsOfldNmL = _bindsIfldNmL -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _restIfvS `Set.union` _bindsIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _restIlevOf `max` _bindsIlevOf -- self rule _cTrf = CPat_Con tag_ _restIcTrf _bindsIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _bindsIgUniq -- copy rule (down) _restOargMp = _lhsIargMp -- copy rule (down) _restOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _restOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _restOgUniq = _lhsIgUniq -- copy rule (down) _restOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _restOlamS = _lhsIlamS -- copy rule (down) _restOlev = _lhsIlev -- copy rule (down) _restOvarS = _lhsIvarS -- copy rule (down) _bindsOargMp = _lhsIargMp -- copy rule (down) _bindsOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _bindsOfvSCafMp = _lhsIfvSCafMp -- copy rule (chain) _bindsOgUniq = _restIgUniq -- copy rule (down) _bindsOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _bindsOlamS = _lhsIlamS -- copy rule (down) _bindsOlev = _lhsIlev -- copy rule (down) _bindsOvarS = _lhsIvarS ( _restIcTrf,_restIfvS,_restIgUniq,_restIlevOf,_restInmL) = rest_ _restOargMp _restOcvarIntroMp _restOfvSCafMp _restOgUniq _restOintroCVarIntroMp _restOlamS _restOlev _restOvarS ( _bindsIcTrf,_bindsIfldNmL,_bindsIfvS,_bindsIgUniq,_bindsIlevOf,_bindsInmL) = binds_ _bindsOargMp _bindsOcvarIntroMp _bindsOfvSCafMp _bindsOgUniq _bindsOintroCVarIntroMp _bindsOlamS _bindsOlev _bindsOvarS in ( _lhsOcTrf,_lhsOfldNmL,_lhsOfvS,_lhsOgUniq,_lhsOlevOf,_lhsOnmL))) sem_CPat_Int :: Int -> T_CPat sem_CPat_Int int_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIlamS _lhsIlev _lhsIvarS -> (let _lhsOfldNmL :: ([HsName]) _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOnmL :: ([HsName]) _lhsOcTrf :: CPat _lhsOgUniq :: Int -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonBindNm.ag"(line 25, column 41) _lhsOfldNmL = [] -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 16, column 31) _lhsOnmL = [] -- self rule _cTrf = CPat_Int int_ -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq in ( _lhsOcTrf,_lhsOfldNmL,_lhsOfvS,_lhsOgUniq,_lhsOlevOf,_lhsOnmL))) sem_CPat_Char :: Char -> T_CPat sem_CPat_Char char_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIlamS _lhsIlev _lhsIvarS -> (let _lhsOfldNmL :: ([HsName]) _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOnmL :: ([HsName]) _lhsOcTrf :: CPat _lhsOgUniq :: Int -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonBindNm.ag"(line 25, column 41) _lhsOfldNmL = [] -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 16, column 31) _lhsOnmL = [] -- self rule _cTrf = CPat_Char char_ -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq in ( _lhsOcTrf,_lhsOfldNmL,_lhsOfvS,_lhsOgUniq,_lhsOlevOf,_lhsOnmL))) sem_CPat_BoolExpr :: CExpr -> T_CPat sem_CPat_BoolExpr cexpr_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIlamS _lhsIlev _lhsIvarS -> (let _lhsOfldNmL :: ([HsName]) _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOnmL :: ([HsName]) _lhsOcTrf :: CPat _lhsOgUniq :: Int -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonBindNm.ag"(line 25, column 41) _lhsOfldNmL = [] -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 16, column 31) _lhsOnmL = [] -- self rule _cTrf = CPat_BoolExpr cexpr_ -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq in ( _lhsOcTrf,_lhsOfldNmL,_lhsOfvS,_lhsOgUniq,_lhsOlevOf,_lhsOnmL))) -- CPatFld ----------------------------------------------------- {- visit 0: inherited attributes: argMp : CVarReplNmMp cvarIntroMp : CVarIntroMp fvSCafMp : FvSMp introCVarIntroMp : CVarIntroMp lamS : FvS lev : Int varS : FvS chained attribute: gUniq : Int synthesized attributes: cTrf : CPatFld fldNmL : [HsName] fvS : FvS levOf : Int nmL : [HsName] alternatives: alternative Fld: child lbl : {HsName} child offset : CExpr child bind : CBind child fldAnns : CBindAnnL visit 0: local fldNm : _ local whatAbove : {WhatExpr} local cTrf : _ -} -- 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 = CVarReplNmMp -> CVarIntroMp -> FvSMp -> Int -> CVarIntroMp -> FvS -> Int -> FvS -> ( CPatFld,([HsName]),FvS,Int,Int,([HsName])) sem_CPatFld_Fld :: HsName -> T_CExpr -> T_CBind -> T_CBindAnnL -> T_CPatFld sem_CPatFld_Fld lbl_ offset_ bind_ fldAnns_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIlamS _lhsIlev _lhsIvarS -> (let _lhsOnmL :: ([HsName]) _lhsOfldNmL :: ([HsName]) _bindOletBindingsCateg :: CBindCateg _offsetOisTopApp :: Bool _offsetOisTopTup :: Bool _whatAbove :: WhatExpr _offsetOevalCtx :: EvalCtx _bindOevalCtx :: EvalCtx _bindOisGlobal :: Bool _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CPatFld _lhsOgUniq :: Int _offsetOargMp :: CVarReplNmMp _offsetOcvarIntroMp :: CVarIntroMp _offsetOfvSCafMp :: FvSMp _offsetOgUniq :: Int _offsetOintroCVarIntroMp :: CVarIntroMp _offsetOlamS :: FvS _offsetOlev :: Int _offsetOvarS :: FvS _offsetOwhatAbove :: WhatExpr _bindOargMp :: CVarReplNmMp _bindOcvarIntroMp :: CVarIntroMp _bindOfvSCafMp :: FvSMp _bindOgUniq :: Int _bindOintroCVarIntroMp :: CVarIntroMp _bindOlamS :: FvS _bindOlev :: Int _bindOvarS :: FvS _fldAnnsOargMp :: CVarReplNmMp _fldAnnsOcvarIntroMp :: CVarIntroMp _fldAnnsOfvSCafMp :: FvSMp _fldAnnsOgUniq :: Int _fldAnnsOintroCVarIntroMp :: CVarIntroMp _fldAnnsOlamS :: FvS _fldAnnsOlev :: Int _fldAnnsOvarS :: FvS _offsetIappFunKind :: AppFunKind _offsetIcTrf :: CExpr _offsetIfvS :: FvS _offsetIgUniq :: Int _offsetIisClosurableExpr :: Bool _offsetIlevOf :: Int _offsetImbLam :: (Maybe [HsName]) _offsetImbVar :: (Maybe HsName) _offsetIwhatBelow :: WhatExpr _bindIbindLamS :: FvS _bindIbindVarS :: FvS _bindIbindsIntroCVarIntroMp :: CVarIntroMp _bindIcTrf :: CBind _bindIcvarIntroExprMp :: CVarIntroMp _bindIfvS :: FvS _bindIfvSMp :: FvSMp _bindIgUniq :: Int _bindIlamBindSq :: (Seq.Seq CBind) _bindIlevOf :: Int _bindInm :: HsName _bindInmL :: ([HsName]) _bindIvarBindSq :: (Seq.Seq CBind) _fldAnnsIcTrf :: CBindAnnL _fldAnnsIfvS :: FvS _fldAnnsIgUniq :: Int _fldAnnsIlevOf :: Int _fldAnnsInmL :: ([HsName]) -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 22, column 17) _lhsOnmL = [_fldNm] -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonBindNm.ag"(line 23, column 17) _fldNm = _bindInm -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonBindNm.ag"(line 28, column 17) _lhsOfldNmL = [_fldNm] -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 9, column 17) _bindOletBindingsCateg = acoreBindcategPlain -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 41, column 17) _offsetOisTopApp = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 41, column 17) _offsetOisTopTup = True -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 87, column 17) _whatAbove = ExprIsOther -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 105, column 17) _offsetOevalCtx = EvalCtx_Eval -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonCtxtPred.ag"(line 106, column 33) _bindOevalCtx = EvalCtx_None -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonLev.ag"(line 15, column 17) _bindOisGlobal = False -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _offsetIfvS `Set.union` _bindIfvS `Set.union` _fldAnnsIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _offsetIlevOf `max` _bindIlevOf `max` _fldAnnsIlevOf -- self rule _cTrf = CPatFld_Fld lbl_ _offsetIcTrf _bindIcTrf _fldAnnsIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _fldAnnsIgUniq -- copy rule (down) _offsetOargMp = _lhsIargMp -- copy rule (down) _offsetOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _offsetOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _offsetOgUniq = _lhsIgUniq -- copy rule (down) _offsetOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _offsetOlamS = _lhsIlamS -- copy rule (down) _offsetOlev = _lhsIlev -- copy rule (down) _offsetOvarS = _lhsIvarS -- copy rule (from local) _offsetOwhatAbove = _whatAbove -- copy rule (down) _bindOargMp = _lhsIargMp -- copy rule (down) _bindOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _bindOfvSCafMp = _lhsIfvSCafMp -- copy rule (chain) _bindOgUniq = _offsetIgUniq -- copy rule (down) _bindOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _bindOlamS = _lhsIlamS -- copy rule (down) _bindOlev = _lhsIlev -- copy rule (down) _bindOvarS = _lhsIvarS -- copy rule (down) _fldAnnsOargMp = _lhsIargMp -- copy rule (down) _fldAnnsOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _fldAnnsOfvSCafMp = _lhsIfvSCafMp -- copy rule (chain) _fldAnnsOgUniq = _bindIgUniq -- copy rule (down) _fldAnnsOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _fldAnnsOlamS = _lhsIlamS -- copy rule (down) _fldAnnsOlev = _lhsIlev -- copy rule (down) _fldAnnsOvarS = _lhsIvarS ( _offsetIappFunKind,_offsetIcTrf,_offsetIfvS,_offsetIgUniq,_offsetIisClosurableExpr,_offsetIlevOf,_offsetImbLam,_offsetImbVar,_offsetIwhatBelow) = offset_ _offsetOargMp _offsetOcvarIntroMp _offsetOevalCtx _offsetOfvSCafMp _offsetOgUniq _offsetOintroCVarIntroMp _offsetOisTopApp _offsetOisTopTup _offsetOlamS _offsetOlev _offsetOvarS _offsetOwhatAbove ( _bindIbindLamS,_bindIbindVarS,_bindIbindsIntroCVarIntroMp,_bindIcTrf,_bindIcvarIntroExprMp,_bindIfvS,_bindIfvSMp,_bindIgUniq,_bindIlamBindSq,_bindIlevOf,_bindInm,_bindInmL,_bindIvarBindSq) = bind_ _bindOargMp _bindOcvarIntroMp _bindOevalCtx _bindOfvSCafMp _bindOgUniq _bindOintroCVarIntroMp _bindOisGlobal _bindOlamS _bindOletBindingsCateg _bindOlev _bindOvarS ( _fldAnnsIcTrf,_fldAnnsIfvS,_fldAnnsIgUniq,_fldAnnsIlevOf,_fldAnnsInmL) = fldAnns_ _fldAnnsOargMp _fldAnnsOcvarIntroMp _fldAnnsOfvSCafMp _fldAnnsOgUniq _fldAnnsOintroCVarIntroMp _fldAnnsOlamS _fldAnnsOlev _fldAnnsOvarS in ( _lhsOcTrf,_lhsOfldNmL,_lhsOfvS,_lhsOgUniq,_lhsOlevOf,_lhsOnmL))) -- CPatFldL ---------------------------------------------------- {- visit 0: inherited attributes: argMp : CVarReplNmMp cvarIntroMp : CVarIntroMp fvSCafMp : FvSMp introCVarIntroMp : CVarIntroMp lamS : FvS lev : Int varS : FvS chained attribute: gUniq : Int synthesized attributes: cTrf : CPatFldL fldNmL : [HsName] fvS : FvS levOf : Int nmL : [HsName] alternatives: alternative Cons: child hd : CPatFld child tl : CPatFldL visit 0: local cTrf : _ alternative Nil: visit 0: 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 = CVarReplNmMp -> CVarIntroMp -> FvSMp -> Int -> CVarIntroMp -> FvS -> Int -> FvS -> ( CPatFldL,([HsName]),FvS,Int,Int,([HsName])) sem_CPatFldL_Cons :: T_CPatFld -> T_CPatFldL -> T_CPatFldL sem_CPatFldL_Cons hd_ tl_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIlamS _lhsIlev _lhsIvarS -> (let _lhsOfldNmL :: ([HsName]) _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOnmL :: ([HsName]) _lhsOcTrf :: CPatFldL _lhsOgUniq :: Int _hdOargMp :: CVarReplNmMp _hdOcvarIntroMp :: CVarIntroMp _hdOfvSCafMp :: FvSMp _hdOgUniq :: Int _hdOintroCVarIntroMp :: CVarIntroMp _hdOlamS :: FvS _hdOlev :: Int _hdOvarS :: FvS _tlOargMp :: CVarReplNmMp _tlOcvarIntroMp :: CVarIntroMp _tlOfvSCafMp :: FvSMp _tlOgUniq :: Int _tlOintroCVarIntroMp :: CVarIntroMp _tlOlamS :: FvS _tlOlev :: Int _tlOvarS :: FvS _hdIcTrf :: CPatFld _hdIfldNmL :: ([HsName]) _hdIfvS :: FvS _hdIgUniq :: Int _hdIlevOf :: Int _hdInmL :: ([HsName]) _tlIcTrf :: CPatFldL _tlIfldNmL :: ([HsName]) _tlIfvS :: FvS _tlIgUniq :: Int _tlIlevOf :: Int _tlInmL :: ([HsName]) -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonBindNm.ag"(line 25, column 41) _lhsOfldNmL = _hdIfldNmL ++ _tlIfldNmL -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = _hdIfvS `Set.union` _tlIfvS -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = _hdIlevOf `max` _tlIlevOf -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 16, column 31) _lhsOnmL = _hdInmL ++ _tlInmL -- self rule _cTrf = (:) _hdIcTrf _tlIcTrf -- self rule _lhsOcTrf = _cTrf -- copy rule (up) _lhsOgUniq = _tlIgUniq -- copy rule (down) _hdOargMp = _lhsIargMp -- copy rule (down) _hdOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _hdOfvSCafMp = _lhsIfvSCafMp -- copy rule (down) _hdOgUniq = _lhsIgUniq -- copy rule (down) _hdOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _hdOlamS = _lhsIlamS -- copy rule (down) _hdOlev = _lhsIlev -- copy rule (down) _hdOvarS = _lhsIvarS -- copy rule (down) _tlOargMp = _lhsIargMp -- copy rule (down) _tlOcvarIntroMp = _lhsIcvarIntroMp -- copy rule (down) _tlOfvSCafMp = _lhsIfvSCafMp -- copy rule (chain) _tlOgUniq = _hdIgUniq -- copy rule (down) _tlOintroCVarIntroMp = _lhsIintroCVarIntroMp -- copy rule (down) _tlOlamS = _lhsIlamS -- copy rule (down) _tlOlev = _lhsIlev -- copy rule (down) _tlOvarS = _lhsIvarS ( _hdIcTrf,_hdIfldNmL,_hdIfvS,_hdIgUniq,_hdIlevOf,_hdInmL) = hd_ _hdOargMp _hdOcvarIntroMp _hdOfvSCafMp _hdOgUniq _hdOintroCVarIntroMp _hdOlamS _hdOlev _hdOvarS ( _tlIcTrf,_tlIfldNmL,_tlIfvS,_tlIgUniq,_tlIlevOf,_tlInmL) = tl_ _tlOargMp _tlOcvarIntroMp _tlOfvSCafMp _tlOgUniq _tlOintroCVarIntroMp _tlOlamS _tlOlev _tlOvarS in ( _lhsOcTrf,_lhsOfldNmL,_lhsOfvS,_lhsOgUniq,_lhsOlevOf,_lhsOnmL))) sem_CPatFldL_Nil :: T_CPatFldL sem_CPatFldL_Nil = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIlamS _lhsIlev _lhsIvarS -> (let _lhsOfldNmL :: ([HsName]) _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOnmL :: ([HsName]) _lhsOcTrf :: CPatFldL _lhsOgUniq :: Int -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonBindNm.ag"(line 25, column 41) _lhsOfldNmL = [] -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 16, column 31) _lhsOnmL = [] -- self rule _cTrf = [] -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq in ( _lhsOcTrf,_lhsOfldNmL,_lhsOfvS,_lhsOgUniq,_lhsOlevOf,_lhsOnmL))) -- CPatRest ---------------------------------------------------- {- visit 0: inherited attributes: argMp : CVarReplNmMp cvarIntroMp : CVarIntroMp fvSCafMp : FvSMp introCVarIntroMp : CVarIntroMp lamS : FvS lev : Int varS : FvS chained attribute: gUniq : Int synthesized attributes: cTrf : CPatRest fvS : FvS levOf : Int nmL : [HsName] alternatives: alternative Var: child nm : {HsName} visit 0: local cTrf : _ alternative Empty: visit 0: 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 = CVarReplNmMp -> CVarIntroMp -> FvSMp -> Int -> CVarIntroMp -> FvS -> Int -> FvS -> ( CPatRest,FvS,Int,Int,([HsName])) sem_CPatRest_Var :: HsName -> T_CPatRest sem_CPatRest_Var nm_ = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIlamS _lhsIlev _lhsIvarS -> (let _lhsOnmL :: ([HsName]) _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOcTrf :: CPatRest _lhsOgUniq :: Int -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 25, column 17) _lhsOnmL = [nm_] -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- self rule _cTrf = CPatRest_Var nm_ -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq in ( _lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOlevOf,_lhsOnmL))) sem_CPatRest_Empty :: T_CPatRest sem_CPatRest_Empty = (\ _lhsIargMp _lhsIcvarIntroMp _lhsIfvSCafMp _lhsIgUniq _lhsIintroCVarIntroMp _lhsIlamS _lhsIlev _lhsIvarS -> (let _lhsOfvS :: FvS _lhsOlevOf :: Int _lhsOnmL :: ([HsName]) _lhsOcTrf :: CPatRest _lhsOgUniq :: Int -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 1, column 26) _lhsOfvS = Set.empty -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 53, column 28) _lhsOlevOf = cLevModule -- use rule "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonFv.ag"(line 16, column 31) _lhsOnmL = [] -- self rule _cTrf = CPatRest_Empty -- self rule _lhsOcTrf = _cTrf -- copy rule (chain) _lhsOgUniq = _lhsIgUniq in ( _lhsOcTrf,_lhsOfvS,_lhsOgUniq,_lhsOlevOf,_lhsOnmL))) -- CodeAGItf --------------------------------------------------- {- visit 0: 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 = ( CModule) data Inh_CodeAGItf = Inh_CodeAGItf {} data Syn_CodeAGItf = Syn_CodeAGItf {cTrf_Syn_CodeAGItf :: !(CModule)} wrap_CodeAGItf :: T_CodeAGItf -> Inh_CodeAGItf -> Syn_CodeAGItf wrap_CodeAGItf sem (Inh_CodeAGItf) = (let ( _lhsOcTrf) = sem in (Syn_CodeAGItf _lhsOcTrf)) sem_CodeAGItf_AGItf :: T_CModule -> T_CodeAGItf sem_CodeAGItf_AGItf module_ = (let _moduleOvarS :: FvS _moduleOlamS :: FvS _moduleOcvarIntroMp :: CVarIntroMp _moduleOintroCVarIntroMp :: CVarIntroMp _moduleOlev :: Int _moduleOgUniq :: Int _moduleOfvSCafMp :: FvSMp _moduleOargMp :: CVarReplNmMp _lhsOcTrf :: CModule _moduleIcTrf :: CModule _moduleIfvS :: FvS _moduleIgUniq :: Int _moduleIlevOf :: Int -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 14, column 17) _moduleOvarS = Set.empty -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonGlobalAsArg.ag"(line 14, column 17) _moduleOlamS = Set.empty -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 17, column 17) _moduleOcvarIntroMp = Map.empty -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CommonLev.ag"(line 38, column 17) _moduleOintroCVarIntroMp = Map.empty -- "build/103/lib-ehc/UHC/Light/Compiler/Core/CommonLev.ag"(line 4, column 17) _moduleOlev = cLevModule -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 56, column 17) _moduleOgUniq = 0 -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 67, column 17) _moduleOfvSCafMp = Map.empty -- "build/103/lib-ehc/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.ag"(line 83, column 17) _moduleOargMp = Map.empty -- copy rule (up) _lhsOcTrf = _moduleIcTrf ( _moduleIcTrf,_moduleIfvS,_moduleIgUniq,_moduleIlevOf) = module_ _moduleOargMp _moduleOcvarIntroMp _moduleOfvSCafMp _moduleOgUniq _moduleOintroCVarIntroMp _moduleOlamS _moduleOlev _moduleOvarS in ( _lhsOcTrf))