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