uhc-light-1.1.9.4: src/UHC/Light/Compiler/HS/MainAG.hs
-- UUAGC 0.9.52.1 (build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag)
module UHC.Light.Compiler.HS.MainAG(Inh_AGItf (..), Syn_AGItf (..), sem_AGItf, wrap_AGItf
, tyGam2IdDefOccGam, kiGam2IdDefOccGam
, clGam2IdDefOccGam) where
import UHC.Light.Compiler.Base.Common
import UHC.Light.Compiler.Base.TermLike
import UHC.Light.Compiler.Base.HsName.Builtin
import UHC.Light.Compiler.Opts
import UHC.Light.Compiler.Gam.Full
import UHC.Light.Compiler.Error
import UHC.Light.Compiler.Error.Pretty
import UHC.Light.Compiler.HS
import UHC.Light.Compiler.NameAspect
import Data.Char
import Data.Maybe
import Data.List as List
import qualified Data.Map as Map
import UHC.Light.Compiler.Base.UnderDev
import qualified UHC.Util.FastSeq as Seq
import UHC.Util.Utils
import UHC.Util.Pretty
import UHC.Util.DependencyGraph
import qualified UHC.Light.Compiler.EH as EH
import UHC.Light.Compiler.Base.Trace
import qualified Data.Set as Set
import UHC.Light.Compiler.Ty (tyQu_Forall,tyQu_Exists)
import UHC.Light.Compiler.Base.Target
import UHC.Light.Compiler.Gam.ClGam
import qualified UHC.Util.Rel as Rel
import UHC.Light.Compiler.Module.ImportExport
import UHC.Light.Compiler.Foreign
import UHC.Light.Compiler.Foreign.Parser
import Data.Ratio
import UHC.Light.Compiler.Scanner.Common(floatDenot2NomDenom,intDenot2Integer)
import qualified UHC.Light.Compiler.Base.Pragma as Pragma
-- | A name is used/occurs in a non plain context when their defs are to participate in the analysis on the same level as the context they occur in
data NameDeclCxt
= NameDeclCxt_Plain
| NameDeclCxt_Instance
| NameDeclCxt_Class
deriving Eq
doccForUse ::Maybe IdDefOcc -> IdIsDef
doccForUse md
= case md of
Just d -> IdIsDef (doccLev d)
Nothing -> IdIsNotDef
mkBuiltinIdDefOcc :: HsName -> IdOccKind -> (IdOcc,IdDefOcc)
mkBuiltinIdDefOcc n k
= (o,emptyIdDefOcc {doccOcc = o, doccLev = nmLevBuiltin, doccRange = builtinRange})
where o = IdOcc n k
tyGam2IdDefOccGam :: TyGam -> IdDefOccGam
tyGam2IdDefOccGam = gamMap (\(n,_) -> mkBuiltinIdDefOcc n IdOcc_Type)
kiGam2IdDefOccGam :: KiGam -> IdDefOccGam
kiGam2IdDefOccGam = gamMap (\(n,_) -> mkBuiltinIdDefOcc n IdOcc_Kind)
clGam2IdDefOccGam :: ClGam -> IdDefOccGam
clGam2IdDefOccGam = gamMap (\(n,_) -> mkBuiltinIdDefOcc n IdOcc_Class)
data IdIsDef
= IdIsDef { idIsDefLev :: NmLev }
| IdIsNotDef
| IdIsInWrongModule IdOcc
deriving (Show)
idIsDef :: IdIsDef -> Bool
idIsDef (IdIsDef _) = True
idIsDef _ = False
instance PP IdIsDef where
pp (IdIsDef _) = pp "Def'd"
pp IdIsNotDef = pp "Undef'd"
pp (IdIsInWrongModule o) = "Wrong" >#< o
data IdUseOcc
= IdUseOcc
{ uoccOcc :: IdOcc
, uoccAsp :: IdAspect
, uoccRange :: Range
, uoccIsDef :: IdIsDef
}
deriving (Show)
instance PP IdUseOcc where
pp o = uoccOcc o >|< "/" >|< uoccIsDef o
type IdUseOccGam = Gam IdOcc IdUseOcc
type IdUseOccAsc = AssocL IdOcc [IdUseOcc]
splitIdUseOccGam' :: Bool -> Int -> IdUseOccGam -> (IdUseOccGam, IdUseOccAsc, IdUseOccAsc, IdUseOccGam)
splitIdUseOccGam' delayHere level g
= (assocDupLToGam o,h,i,assocDupLToGam e)
where -- minLev = minimum levels
-- maxLev = maximum levels
(o,h,i,e)
= foldr
(\x@(k,occs) (o,h,i,e)
-> case partition (idIsDef . uoccIsDef) occs of
(occ:_,[]) ->
{-
if defLev < minLev then (x:o, h, i, e)
else if defLev > maxLev then ( o, h,x:i, e)
else ( o,x:h, i, e)
-}
case compare defLev level of
LT -> (x:o, h, i, e)
EQ | delayHere -> (x:o, h, i, e)
| otherwise -> ( o,x:h, i, e)
GT -> ( o, h,x:i, e)
where defLev = idIsDefLev $ uoccIsDef $ occ
(_,(_:_)) -> ( o, h, i,x:e)
)
([],[],[],[])
(gamToAssocDupL g)
splitIdUseOccGam :: Int -> IdUseOccGam -> (IdUseOccGam, IdUseOccAsc, IdUseOccAsc, IdUseOccGam)
splitIdUseOccGam level g = splitIdUseOccGam' False level g
{-
= (assocDupLToGam o,h,i,assocDupLToGam e)
where (o,h,i,e)
= foldr
(\x@(k,occs) (o,h,i,e)
-> case partition (idIsDef . uoccIsDef) occs of
(occ:_,[]) -> case compare (idIsDefLev $ uoccIsDef $ occ) level of
LT -> (x:o, h, i, e)
EQ -> ( o,x:h, i, e)
GT -> ( o, h,x:i, e)
(_,(_:_)) -> ( o, h, i,x:e)
)
([],[],[],[])
(gamToAssocDupL g)
-}
mkDefOccGam'' :: NmLev -> Range -> (x -> IdOcc -> IdAspect) -> AssocL x IdOcc -> IdDefOccGam
mkDefOccGam'' l r mka os
= assocLToGamWithDups [ (o,mkIdDefOcc o (mka x o) l r) | (x,o) <- os ]
mkDefOccGam' :: NmLev -> Range -> (IdOcc -> IdAspect) -> [IdOcc] -> IdDefOccGam
mkDefOccGam' l r mka os
= mkDefOccGam'' l r (\_ -> mka) (zip (repeat undefined) os)
{-# INLINE mkDefOccGam' #-}
mkDefOccGam :: NmLev -> Range -> IdAspect -> [IdOcc] -> IdDefOccGam
mkDefOccGam l r a os
= mkDefOccGam' l r (const a) os
{-# INLINE mkDefOccGam #-}
varL2IdDefOccGam :: IdOccKind -> IdAspect -> NmLev -> Range -> [HsName] -> IdDefOccGam
varL2IdDefOccGam k a l r ns
= mkDefOccGam l r a [ IdOcc n k | n <- ns ]
tvarL2IdDefOccGam :: NmLev -> Range -> [HsName] -> IdDefOccGam
tvarL2IdDefOccGam
= varL2IdDefOccGam IdOcc_Type IdAsp_Type_Var
varS2IdDefOccGam :: IdOccKind -> IdAspect -> NmLev -> Range -> HsNameS -> IdDefOccGam
varS2IdDefOccGam k a l r ns
= varL2IdDefOccGam k a l r (Set.toList ns)
tvarS2IdDefOccGam :: NmLev -> Range -> HsNameS -> IdDefOccGam
tvarS2IdDefOccGam
= varS2IdDefOccGam IdOcc_Type IdAsp_Type_Var
kvarL2IdDefOccGam :: NmLev -> Range -> [HsName] -> IdDefOccGam
kvarL2IdDefOccGam
= varL2IdDefOccGam IdOcc_Kind IdAsp_Kind_Var
kvarS2IdDefOccGam :: NmLev -> Range -> HsNameS -> IdDefOccGam
kvarS2IdDefOccGam
= varS2IdDefOccGam IdOcc_Kind IdAsp_Kind_Var
-- | Get the names used by the literals
-- Note: don't change the order in returned lists, only append new values, as position is assumed to be fixed
litNames :: EHCOpts -> Literal -> Bool -> Int -> [([HsName],IdOccKind,IdAspect)]
litNames opts lit isPat sign
= case lit of
Literal_String r s -> mk' (if isPat then IdAsp_Val_Con else IdAsp_Val_Var) [hsnDataListAltCons,hsnDataListAltNil]
++ (if ehcOptOverloadedStrings opts then mk [hsnDataStringFromString] else [])
Literal_Int _ _ _
| sign < 0 -> mk [hsnFromInteger,hsnNegate]
| otherwise -> mk [hsnFromInteger]
Literal_Float _ _
| sign < 0 -> mk [hsnMkRatio,hsnFromRational,hsnNegate]
| otherwise -> mk [hsnMkRatio,hsnFromRational]
_ -> []
where mk' a ns = [(ns,IdOcc_Val,a)]
mk = mk' IdAsp_Val_Var
mkUseOccGam :: EHCOpts -> IdDefOccGam -> [HsName] -> IdOccKind -> IdAspect -> Range -> (HsName,[HsName],IdUseOccGam,[Err])
mkUseOccGam opts idGam names kind asp rng = mkUseOccGam' opts idGam [(names,kind,asp)] rng
-- | Variation which uses default aspects for IdOccKind
mkUseOccGamDfltAsp :: EHCOpts -> IdDefOccGam -> [(HsName,IdOccKind)] -> Range -> (HsName,[HsName],IdUseOccGam,[Err])
mkUseOccGamDfltAsp opts idGam nmKs rng = mkUseOccGam' opts idGam [ ([n], k, fromMaybe IdAsp_Any $ mbUseAspOfIdOccKind k) | (n,k) <- nmKs ] rng
mkUseOccGam' :: EHCOpts -> IdDefOccGam -> [([HsName],IdOccKind,IdAspect)] -> Range -> (HsName,[HsName],IdUseOccGam,[Err])
mkUseOccGam' _ _ [] _
= (hsnUnknown,[],emptyGam,[])
mkUseOccGam' opts idGam names rng
= (if null ns then hsnUnknown else n, ns, gamUnions g, concat e)
where (ns@(~(n:_)),g,e) = unzip3 [ mkUse idGam n kind asp rng | (ns,kind,asp) <- names, n <- ns ]
mkUse idGam name kind asp rng
= (nmOfDef,idUseOccGam,errs)
where idOccUse = IdOcc name kind
mbDef = -- (\v -> tr "XX" (idOccUse >#< ">>>>>" >#< v) v) $
case gamLookup idOccUse idGam of
Nothing | hsnIsInPrelude name
-> if ehcOptUseAssumePrelude opts
then Just (emptyIdDefOcc {doccOcc = idOccUse})
else gamLookup (idOccUse {ioccNm = hsnQualified $ ioccNm idOccUse}) idGam
md -> md
nmOfDef = case mbDef of
Just d -> ioccNm $ doccOcc d
_ -> name
occOfDef = idOccUse {ioccNm = nmOfDef}
idUseOccGam = gamSingleton occOfDef (IdUseOcc occOfDef asp rng (doccForUse mbDef))
errs = case mbDef of
Just d | Set.size (doccNmAlts d) > 1
-> [rngLift rng Err_AmbiguousNameRef "name" k name (Set.toList $ doccNmAlts d)]
where k = (show $ ioccKind $ doccOcc d) ++ " (" ++ (showPP $ pp $ doccAsp d) ++ ")"
_ -> []
type IdDpdMp = Map.Map IdOcc [IdOcc]
emptyIdDpdMp :: IdDpdMp
emptyIdDpdMp = Map.empty
idDpdMpList :: IdOcc -> [IdOcc] -> IdDpdMp
idDpdMpList f t = Map.singleton f t
idDpdMpSingleton :: IdOcc -> IdOcc -> IdDpdMp
idDpdMpSingleton f t = idDpdMpList f [t]
idDpdMpUnions :: [IdDpdMp] -> IdDpdMp
idDpdMpUnions = Map.unionsWith (++)
idDpdMpUnion :: IdDpdMp -> IdDpdMp -> IdDpdMp
idDpdMpUnion = Map.unionWith (++)
idToOccL2DpdMp :: [IdOcc] -> AssocL IdOcc x -> IdDpdMp
idToOccL2DpdMp fs l
= if null ts then Map.empty else idDpdMpUnions [ idDpdMpList f ts | f <- fs ]
where ts = assocLKeys l
idToOccGam2DpdMp :: [IdOcc] -> Gam IdOcc x -> IdDpdMp
idToOccGam2DpdMp fs l
= idToOccL2DpdMp fs (gamToAssocL l)
-- | Dpd mp where 'g' dpds on 'ts'
idFrOccGam2DpdMp :: Gam IdOcc x -> [IdOcc] -> IdDpdMp
idFrOccGam2DpdMp g ts
= if null ts then Map.empty else idDpdMpUnions [ idDpdMpList f ts | (f,_) <- gamToAssocL g ]
idDpdMp2SccOrder' :: IdDefOccGam -> IdDpdMp -> ([[IdOcc]],IdDpdMp)
idDpdMp2SccOrder' gam mp
= (dgSCCToList gr, dpmp)
where dflt = idDpdMpUnions [ idDpdMpSingleton o o | o <- gamKeys gam ] `Map.difference` mp
dpmp = idDpdMpUnions [mp,dflt]
gr = mkDpdGrFromEdgesMp dpmp
idDpdMp2SccOrder :: IdDefOccGam -> IdDpdMp -> [[IdOcc]]
idDpdMp2SccOrder gam mp = fst $ idDpdMp2SccOrder' gam mp
mkIdDefEH :: IdDefOcc -> [EH.Decl]
mkIdDefEH def
= case doccAsp def of
IdAsp_Val_Pat decl
-> [decl]
IdAsp_Val_Sig decl
-> [decl]
IdAsp_Val_Fun lhs rhs _
-> [decl]
where (h,t) = hdAndTl lhs
decl = rngLift (doccRange def) EH.Decl_Val h (foldr (rngLift (doccRange def) EH.Expr_Lam) rhs t)
IdAsp_Type_Def decl
-> [decl]
IdAsp_Type_Sig decl
-> [decl]
IdAsp_Val_Foreign decl
-> [decl]
IdAsp_Class_Def decl declInst
-> [decl,declInst]
IdAsp_Inst_Def decl _
-> [decl]
IdAsp_Dflt_Def decl ignore | not ignore
-> [decl]
IdAsp_Val_Fusion decl
-> [decl]
IdAsp_Fusion_Conv decl
-> [decl]
_ -> []
mergeFunDefL :: Range -> [IdDefOcc] -> ([IdDefOcc],[Err])
mergeFunDefL _ ds
= case ds of
[_] -> (ds,[])
(od : _ : _) | iaspIsFun (doccAsp od)
-> ([d],e)
where (IdAsp_Val_Fun (patf:pats1) _ uniq) = doccAsp od
xSz = length pats1
xNmL = [ mkHNm ("x" ++ show i) | i <- [1..xSz] ]
xPatL = map (rngLift r EH.PatExpr_Var) xNmL
b = EH.mkCase'
r (appRngProdOpt r $ map (rngLift r EH.Expr_Var) $ xNmL)
(Just $ Set.fromList $ map (iaspUniq . doccAsp) ds)
Set.empty
(length xNmL > 1)
$ zipWith (EH.mkAlt r)
[ appRngProdOpt r $ tail $ iaspPatL $ doccAsp d | d <- ds ]
[ iaspBody $ doccAsp $ d | d <- ds ]
d = mkIdDefOcc (doccOcc od) (IdAsp_Val_Fun (patf:xPatL) b uniq) 0 r
e | length patLens > 1 = [rngLift r Err_FunPatternLengths (ioccNm $ doccOcc od)]
| otherwise = []
where patLens = Set.toList $ Set.fromList [ length $ iaspPatL $ doccAsp d | d <- ds ]
r = rangeUnions [ doccRange d | d <- ds ]
_ -> ([],[])
splitOff :: EHCOpts -> [IdDefOcc] -> [[IdDefOcc]]
splitOff opts
= foldr (\df dfs -> zipWith (++) (s df) dfs) (repeat [])
where s d = case doccAsp d of
(IdAsp_Inst_Def _ _)
| not (ehcOptIsUnderDev UnderDev_NameAnalysis opts)
-> [[],[d]]
_ -> [[d],[]]
idOcc2Defs :: IdDefOccGam -> IdOcc -> [IdDefOcc]
idOcc2Defs idDefOccGam occ = maybe [] id $ gamLookupDup occ idDefOccGam
mkIdOccEH :: Range -> [IdDefOcc] -> ([EH.Decl],[Err])
mkIdOccEH r defs
= case defs of
(_:_)
-> (concatMap mkIdDefEH (otherDefs ++ funDef),errL)
where (funDefs,otherDefs) = partition (iaspIsFun . doccAsp) defs
(funDef,errL) = mergeFunDefL r funDefs
_ -> ([],[])
idDefOccs2Decls :: Range -> [[IdDefOcc]] -> ([[EH.Decl]],[Err])
idDefOccs2Decls r docss
= ([concat ds], concat es)
where (ds,es) = unzip $ map (mkIdOccEH r) $ docss
mkIdOccSccEH :: EHCOpts -> Range -> Bool -> IdDefOccGam -> Maybe [[IdOcc]] -> (EH.Expr -> EH.Expr,[[EH.Decl]],[Err])
mkIdOccSccEH opts r isStrict g moss
= (m . mkLet (concat sds), d ++ sds, e ++ ses)
where (m,d,e) = foldr mkl (id,[],[]) doss
mkl dos (mke,d,e)
= ((\e -> foldr mkLet e dss) . mke,dss ++ d, es ++ e)
where (dss,es) = idDefOccs2Decls r dos
mkLet ds = EH.mkLet' isStrict r (Just ds)
(sds,ses) = idDefOccs2Decls r $ concat $ spls
(doss:spls:_)
= collapse
[ collapse [ splitOff opts $ idOcc2Defs g $ l | l <- ll ]
| ll <- maybe [gamKeys g] id moss
]
collapse :: [[a]] -> [[a]]
collapse = foldr (zipWith (:)) (repeat [])
type PatchEhNmInInstance = HsName -> HsName
idDupCheckInfo :: AssocL IdOccKind (AssocL String (IdAspect -> Bool))
idDupCheckInfo
= [ ( IdOcc_Val
, [ ( "type signature" , iaspIsValSig )
, ( "value" , (\a -> iaspIsValVar a
|| iaspIsFun a
|| iaspIsValFld a
|| iaspIsValForeign a
) )
, ( "operator fixity" , iaspIsValFix )
, ( "data constructor" , iaspIsValCon )
]
)
, ( IdOcc_Type
, [ ( "type variable" , iaspIsTypeVar )
, ( "type" , iaspIsTypeDef )
, ( "kind signature" , iaspIsTypeSig )
]
)
, ( IdOcc_Class
, [ ( "class" , iaspIsClassDef )
]
)
]
idDefOccGamCheckDupNames :: IdDefOccGam -> [Err]
idDefOccGamCheckDupNames g
= case dups of
[] -> []
es -> map mk es
where mk (info,ds@((_,Just ((r,_):_)):_)) = rngLift r Err_NamesDupIntrod info ds
where dups
= Map.toList
$ Map.unionsWith (++)
$ [ Map.singleton info [(n,Just [(doccRange d, Just $ pp $ doccAsp d) | d <- defs])]
| (IdOcc {ioccKind=k, ioccNm=n},ds) <- gamToAssocDupL g
, check <- maybeToList $ lookup k idDupCheckInfo
, (info,defs) <- filter (\(_,x) -> length x > 1)
$ assocLMapElt (\c -> filter (\d -> c (doccAsp d)) $ collapse ds) check
]
-- Functions and data fields are allowed to have duplicate entries, so they are collapsed into 1.
-- For data fields under the provision that the type to which they belong is the same, but the constructor not (another weird language complexity check)
collapse ds
= take 1 funs
++ (map head $ filter (\l -> length l > 0) $ map concat flds1PerCon)
++ (concat $ concat fldsManyPerCon)
++ others2
where (funs,others1) = partition (iaspIsFun . doccAsp) ds
(flds,others2) = partition (iaspIsValFld . doccAsp) others1
fldsGrouped = map (groupOn (iaspConNm . doccAsp)) $ groupOn (iaspDataNm . doccAsp) flds
(flds1PerCon,fldsManyPerCon) = unzip $ map (partition (\l -> length l == 1)) $ fldsGrouped
ppInstNm :: Bool -> Maybe HsName -> PP_Doc
ppInstNm useimplicitly maybeinstancename
= maybe empty (\n -> " " >|< n >#< (if useimplicitly then "<:" else "::")) maybeinstancename
data OpChain leaf
= OpChain_Op leaf PP_Doc Fixity Int Range (OpChain leaf) (OpChain leaf)
| OpChain_Leaf leaf
opChainReArrange :: OpChain e -> (OpChain e,[Err])
opChainReArrange opChain
= case opChain of
OpChain_Op op1 pp1 f1 p1 pos1 l1 r1
-> case opChainReArrange r1 of
(OpChain_Op op2 pp2 f2 p2 pos2 l2 r2,rerr)
| p1 > p2 -> (lvariant,lerr)
| p1 < p2 -> (rvariant,rerr)
| p1 == p2 -> case (f1,f2,lvariant,rvariant) of
(Fixity_Infixr,Fixity_Infixr,_,r) -> (r,rerr)
(Fixity_Infixl,Fixity_Infixl,l,_) -> (l,lerr)
(Fixity_Infix ,_ ,l,_) -> (l,[rngLift pos2 Err_Fixity pp1 pp2] ++ lerr)
where (lrearr,lerr) = opChainReArrange (OpChain_Op op1 pp1 f1 p1 pos1 l1 l2)
lvariant = OpChain_Op op2 pp2 f2 p2 pos2 lrearr r2
rvariant = OpChain_Op op1 pp1 f1 p1 pos1 l1 (OpChain_Op op2 pp2 f2 p2 pos2 l2 r2)
(r1l@(OpChain_Leaf _),rerr) -> (OpChain_Op op1 pp1 f1 p1 pos1 l1 r1l,rerr)
_ -> (opChain,[])
unOpChain :: AppLike a boundmeta => OpChain a -> a
unOpChain opChain
= un opChain
where un ch
= case ch of
OpChain_Op op _ _ _ rng l r
-> appRngParApp rng [op,un l,un r]
OpChain_Leaf leaf
-> leaf
ehSection :: AppLike eh bound
=> UID -> Range
-> RngLiftArg (HsName -> eh)
-> RngLiftArg (HsName -> ehp)
-> RngLiftArg (ehp -> eh -> eh)
-> Maybe eh -> eh -> Maybe eh
-> eh
ehSection uniq range semvar sempatvar semlam left op right
= case (left,right) of
-- (Just l ,Just r ) -> appRngParApp range [op,l,r]
(Nothing,Just r ) -> rngLift range semlam np (appRngParApp range [op,ne,r])
(Just l ,Nothing) -> appRngParApp range [op,l]
(Nothing,Nothing) -> op
where n = mkHNmHidden $ mkHNm ("x_" ++ show uniq)
ne = rngLift range semvar n
np = rngLift range sempatvar n
ehTupleConstructor
:: AppLike eh bound
=> Range -> Int -> RngLiftArg (HsName -> eh) -> RngLiftArg (HsName -> ehp) -> RngLiftArg (ehp -> eh -> eh)
-> ([ehp] -> eh -> eh) -> RngLiftArg (r -> eh) -> RngLiftArg (r -> Maybe HsName -> eh -> r) -> RngLiftArg r
-> eh
ehTupleConstructor range arity semvar sempatvar semlam
semtop semrecd semrecdext semrecdempty
= foldr (rngLift range semlam) recd ps
where ns = take arity hsnLclSupply
ps = map (rngLift range sempatvar) ns
recd = mkt (map (rngLift range semvar) ns)
mkt ns = semtop ps
$ rngLift range semrecd
$ foldl (\r e -> rngLift range semrecdext r Nothing e)
(rngLift range semrecdempty)
ns
ehTyExprArg :: EH.TyExpr -> EH.TyExpr
ehTyExprArg = snd . panicJust "HS.ToEH.ehTyExprArg" . appMbApp1 . fst . appUnTop
ehPlainDataField :: Range -> EH.TyExpr -> EH.DataField
ehPlainDataField r
= rngLift r EH.DataField_Field Nothing
ehExpLitInt :: Range -> Int -> String -> Int -> [HsName] -> (EH.Expr,Maybe SrcConst)
ehExpLitInt r b s sign litrefnames
| sign < 0 = mk (\e -> ehExpVarApp r (litrefnames !! 1) [e], negate)
| otherwise = mk (id , id )
where i = intDenot2Integer b s
mk (neg,negconst)
= (neg $ ehExpVarApp r (litrefnames !! 0) [rngLift r EH.Expr_IIConst i], Just $ SrcConst_Int $ negconst i)
ehExpLitFloat :: Range -> String -> Int -> [HsName] -> (EH.Expr,Maybe SrcConst)
ehExpLitFloat r s sign litrefnames
| sign < 0 = mk (\e -> ehExpVarApp r (litrefnames !! 2) [e], \(n,d) -> (negate n, d))
| otherwise = mk (id , id )
where nd@(n,d) = floatDenot2NomDenom s
mk (neg,negconst)
= ( neg $ ehExpVarApp r (litrefnames !! 1)
$ [rngLift r EH.Expr_Parens $ ehExpVarApp r (litrefnames !! 0) [rngLift r EH.Expr_IIConst n,rngLift r EH.Expr_IIConst d]]
, Just $ uncurry SrcConst_Ratio $ negconst nd
)
ehExpLitString :: EHCOpts -> Range -> String -> [HsName] -> (EH.Expr,Maybe SrcConst)
ehExpLitString opts r str litrefnames
| ehcOptOverloadedStrings opts = (ehExpVarApp r (litrefnames !! 2) [s], Nothing)
| otherwise = (s , Nothing)
where s = rngLift r EH.Expr_SConst str
ehExpApp' :: (EH.Expr -> a -> EH.Expr) -> Range -> EH.Expr -> [a] -> EH.Expr
ehExpApp' app r f as
= rngLift r EH.Expr_AppTop
$ foldl app (ehExpUnTop f) as
ehExpConApp :: Range -> HsName -> [EH.Expr] -> EH.Expr
ehExpConApp r n as
= appRngParApp r (rngLift r EH.Expr_Con n : as)
ehExpVarApp :: Range -> HsName -> [EH.Expr] -> EH.Expr
ehExpVarApp r n as
= appRngParApp r (rngLift r EH.Expr_Var n : as)
ehExpUnTop :: EH.Expr -> EH.Expr
ehExpUnTop (EH.Expr_AppTop _ e) = e
ehExpUnTop e = e
ehExpProd :: Range -> [EH.Expr] -> EH.Expr
ehExpProd r as
= ehExpConApp r (hsnProd a) as
where a = length as
-- original with mono restriction
ehGenerator :: Range -> EH.PatExpr -> (EH.Expr -> EH.Expr) -> EH.Expr -> EH.Expr -> EH.Expr
ehGenerator r p mkRes fail e
= EH.mkLet r
(Just
[ {- -} rngLift r EH.Decl_TySig ok ([mono] `appArr` appTopApp1 mono mono)
,
rngLift r EH.Decl_Val
(rngLift r EH.PatExpr_Var ok)
(rngLift r EH.Expr_Lam
(rngLift r EH.PatExpr_Var x)
(EH.mkCase r
(rngLift r EH.Expr_Var x)
[(p,e),(rngLift r EH.PatExpr_Var hsnWild,fail)]
) )
{-
, rngLift r EH.Decl_TySig res mono
, rngLift r EH.Decl_Val
(rngLift r EH.PatExpr_Var res)
(mkRes (rngLift r EH.Expr_Var ok))
-}
])
(mkRes (rngLift r EH.Expr_Var ok))
-- (rngLift r EH.Expr_Var res)
where ok = mkHNmHidden "ok"
res = mkHNmHidden "ok_app"
x = mkHNmHidden "x"
mono = rngLift r EH.TyExpr_Mono
ehRowRecExprUpd :: Range -> nm -> (EH.RecExpr -> nm -> EH.Expr -> EH.RecExpr) -> EH.Expr -> EH.Expr -> EH.Expr
ehRowRecExprUpd rng nm mk updE recE
= case recE of
EH.Expr_Rec _ r
-> mkUpd r
_ -> mkUpd (r2e recE)
where r2e = rngLift rng EH.RecExpr_Expr
mkUpd r = rngLift rng EH.Expr_Rec (mk r nm updE)
ehRowRecPatExprUpd :: Range -> nm -> (EH.RecPatExpr -> nm -> EH.PatExpr -> EH.RecPatExpr) -> EH.PatExpr -> EH.PatExpr -> EH.PatExpr
ehRowRecPatExprUpd rng nm mk updE recE
= case recE of
EH.PatExpr_Rec _ r
-> mkUpd r
_ -> mkUpd (r2e recE)
where r2e = rngLift rng EH.RecPatExpr_Expr
mkUpd r = rngLift rng EH.PatExpr_Rec (mk r nm updE)
ehRowRowTyExprUpd :: Range -> nm -> (EH.RowTyExpr -> nm -> EH.TyExpr -> EH.RowTyExpr) -> EH.TyExpr -> EH.TyExpr -> EH.TyExpr
ehRowRowTyExprUpd rng nm mk updE recE
= case recE of
EH.TyExpr_Row _ r
-> mkUpd r
EH.TyExpr_Var _ v
-> mkUpd (rngLift rng EH.RowTyExpr_Var v)
_ -> mkUpd (rngLift rng EH.RowTyExpr_Empty)
where mkUpd r = rngLift rng EH.TyExpr_Row (mk r nm updE)
-- | enforce monomorphism
ehMkEnforceMono :: Range -> Bool -> EH.Expr -> EH.Expr
ehMkEnforceMono r True e = rngLift r EH.Expr_TypeAs False (rngLift r EH.TyExpr_Mono) e
ehMkEnforceMono _ _ e = e
ehPatConApp r n as
= rngLift r EH.PatExpr_AppTop
$ foldl (rngLift r EH.PatExpr_App) (rngLift r EH.PatExpr_Con n) as
ehPatProd :: Range -> [EH.PatExpr] -> EH.PatExpr
ehPatProd r as
= ehPatConApp r (hsnProd a) as
where a = length as
deriving instance Typeable Syn_AGItf
data TypeConFixedMeaning
= TyConIsOther
| TyConIsPrArrow
| TyConIsEqTilde
deriving Eq
extrTopInstanceNm :: [HsName] -> (Maybe HsName,[HsName])
extrTopInstanceNm nms
= case nms of
(n:t) -> (Just n,t)
_ -> (Nothing,[])
-- AGItf -------------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
gUniq : UID
idGam : IdDefOccGam
isTopMod : Bool
modEntToOrig : ModEntRngMp
modInScope : ModEntDomMp
moduleNm : HsName
opts : EHCOpts
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.AGItf
errSq : ErrSq
fileHeaderPragmas : Set.Set Pragma.Pragma
gathFixityGam : FixityGam
gathIdGam : IdDefOccGam
mainValExists : Bool
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
alternatives:
alternative AGItf:
child module : Module
visit 0:
local tr : _
local patchEhNmInInstance : _
local nmLev : _
local ppExtra : _
local isMainMod : _
-}
-- cata
sem_AGItf :: AGItf ->
T_AGItf
sem_AGItf (AGItf_AGItf _module) =
(sem_AGItf_AGItf (sem_Module _module))
-- semantic domain
type T_AGItf = FixityGam ->
UID ->
IdDefOccGam ->
Bool ->
ModEntRngMp ->
ModEntDomMp ->
HsName ->
EHCOpts ->
([HsName]) ->
( (EH.AGItf),ErrSq,(Set.Set Pragma.Pragma),FixityGam,IdDefOccGam,Bool,PP_Doc,(PP_Doc -> PP_Doc),TrPP)
data Inh_AGItf = Inh_AGItf {fixityGam_Inh_AGItf :: !(FixityGam),gUniq_Inh_AGItf :: !(UID),idGam_Inh_AGItf :: !(IdDefOccGam),isTopMod_Inh_AGItf :: !(Bool),modEntToOrig_Inh_AGItf :: !(ModEntRngMp),modInScope_Inh_AGItf :: !(ModEntDomMp),moduleNm_Inh_AGItf :: !(HsName),opts_Inh_AGItf :: !(EHCOpts),topInstanceNmL_Inh_AGItf :: !(([HsName]))}
data Syn_AGItf = Syn_AGItf {eh_Syn_AGItf :: !((EH.AGItf)),errSq_Syn_AGItf :: !(ErrSq),fileHeaderPragmas_Syn_AGItf :: !((Set.Set Pragma.Pragma)),gathFixityGam_Syn_AGItf :: !(FixityGam),gathIdGam_Syn_AGItf :: !(IdDefOccGam),mainValExists_Syn_AGItf :: !(Bool),pp_Syn_AGItf :: !(PP_Doc),ppWrap_Syn_AGItf :: !((PP_Doc -> PP_Doc)),trpp_Syn_AGItf :: !(TrPP)}
wrap_AGItf :: T_AGItf ->
Inh_AGItf ->
Syn_AGItf
wrap_AGItf sem (Inh_AGItf _lhsIfixityGam _lhsIgUniq _lhsIidGam _lhsIisTopMod _lhsImodEntToOrig _lhsImodInScope _lhsImoduleNm _lhsIopts _lhsItopInstanceNmL) =
(let ( _lhsOeh,_lhsOerrSq,_lhsOfileHeaderPragmas,_lhsOgathFixityGam,_lhsOgathIdGam,_lhsOmainValExists,_lhsOpp,_lhsOppWrap,_lhsOtrpp) = sem _lhsIfixityGam _lhsIgUniq _lhsIidGam _lhsIisTopMod _lhsImodEntToOrig _lhsImodInScope _lhsImoduleNm _lhsIopts _lhsItopInstanceNmL
in (Syn_AGItf _lhsOeh _lhsOerrSq _lhsOfileHeaderPragmas _lhsOgathFixityGam _lhsOgathIdGam _lhsOmainValExists _lhsOpp _lhsOppWrap _lhsOtrpp))
sem_AGItf_AGItf :: T_Module ->
T_AGItf
sem_AGItf_AGItf module_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisTopMod
_lhsImodEntToOrig
_lhsImodInScope
_lhsImoduleNm
_lhsIopts
_lhsItopInstanceNmL ->
(let _lhsOpp :: PP_Doc
_lhsOeh :: (EH.AGItf)
_lhsOerrSq :: ErrSq
_lhsOfileHeaderPragmas :: (Set.Set Pragma.Pragma)
_lhsOgathFixityGam :: FixityGam
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOgathIdGam :: IdDefOccGam
_lhsOmainValExists :: Bool
_moduleOfixityGam :: FixityGam
_moduleOgUniq :: UID
_moduleOidGam :: IdDefOccGam
_moduleOisMainMod :: Bool
_moduleOisTopMod :: Bool
_moduleOmodEntToOrig :: ModEntRngMp
_moduleOmodInScope :: ModEntDomMp
_moduleOmoduleNm :: HsName
_moduleOnmLev :: NmLev
_moduleOopts :: EHCOpts
_moduleOpatchEhNmInInstance :: PatchEhNmInInstance
_moduleOtopInstanceNmL :: ([HsName])
_moduleOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_moduleIeh :: (EH.Expr)
_moduleIerrSq :: ErrSq
_moduleIfileHeaderPragmas :: (Set.Set Pragma.Pragma)
_moduleIgUniq :: UID
_moduleIgathFixityGam :: FixityGam
_moduleIgathIdGam :: IdDefOccGam
_moduleIidUseOccGam :: IdUseOccGam
_moduleImainValExists :: Bool
_moduleIpp :: PP_Doc
_moduleIppWrap :: (PP_Doc -> PP_Doc)
_moduleItopInstanceNmL :: ([HsName])
_moduleItrpp :: TrPP
_moduleIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 7, column 9)
_tr =
trPP (`Set.member` ehcOptTraceOn _lhsIopts)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1252, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 13, column 9)
_nmLev =
nmLevModule
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 14, column 17)
_lhsOpp =
_ppExtra >-< _moduleIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 15, column 17)
_ppExtra =
empty
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 5, column 9)
_lhsOeh =
EH.AGItf_AGItf _moduleIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 259, column 9)
_isMainMod =
_moduleImainValExists
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_moduleIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 2, column 43)
_lhsOfileHeaderPragmas =
_moduleIfileHeaderPragmas
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_moduleIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_moduleIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_moduleItrpp
-- copy rule (up)
_lhsOgathIdGam =
_moduleIgathIdGam
-- copy rule (up)
_lhsOmainValExists =
_moduleImainValExists
-- copy rule (down)
_moduleOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_moduleOgUniq =
_lhsIgUniq
-- copy rule (down)
_moduleOidGam =
_lhsIidGam
-- copy rule (from local)
_moduleOisMainMod =
_isMainMod
-- copy rule (down)
_moduleOisTopMod =
_lhsIisTopMod
-- copy rule (down)
_moduleOmodEntToOrig =
_lhsImodEntToOrig
-- copy rule (down)
_moduleOmodInScope =
_lhsImodInScope
-- copy rule (down)
_moduleOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_moduleOnmLev =
_nmLev
-- copy rule (down)
_moduleOopts =
_lhsIopts
-- copy rule (from local)
_moduleOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_moduleOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (from local)
_moduleOtr =
_tr
( _moduleIeh,_moduleIerrSq,_moduleIfileHeaderPragmas,_moduleIgUniq,_moduleIgathFixityGam,_moduleIgathIdGam,_moduleIidUseOccGam,_moduleImainValExists,_moduleIpp,_moduleIppWrap,_moduleItopInstanceNmL,_moduleItrpp,_moduleIundefOccGam) =
module_ _moduleOfixityGam _moduleOgUniq _moduleOidGam _moduleOisMainMod _moduleOisTopMod _moduleOmodEntToOrig _moduleOmodInScope _moduleOmoduleNm _moduleOnmLev _moduleOopts _moduleOpatchEhNmInInstance _moduleOtopInstanceNmL _moduleOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOfileHeaderPragmas,_lhsOgathFixityGam,_lhsOgathIdGam,_lhsOmainValExists,_lhsOpp,_lhsOppWrap,_lhsOtrpp)))
-- Alternative -------------------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.CaseAlt]
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Alternative:
child range : {Range}
child pattern : Pattern
child righthandside : RightHandSide
visit 0:
local nmLev : _
local errDupIntro : _
local errSq : _
local pp : _
alternative Empty:
child range : {Range}
-}
-- cata
sem_Alternative :: Alternative ->
T_Alternative
sem_Alternative (Alternative_Alternative _range _pattern _righthandside) =
(sem_Alternative_Alternative _range (sem_Pattern _pattern) (sem_RightHandSide _righthandside))
sem_Alternative (Alternative_Empty _range) =
(sem_Alternative_Empty _range)
-- semantic domain
type T_Alternative = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.CaseAlt]),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Alternative_Alternative :: Range ->
T_Pattern ->
T_RightHandSide ->
T_Alternative
sem_Alternative_Alternative range_ pattern_ righthandside_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _righthandsideOidGam :: IdDefOccGam
_righthandsideOsepPP :: PP_Doc
_lhsOeh :: ([EH.CaseAlt])
_righthandsideOmustBeMono :: Bool
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_patternOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_righthandsideOcaseId :: UID
_righthandsideOfixityGam :: FixityGam
_righthandsideOgUniq :: UID
_righthandsideOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_righthandsideOmoduleNm :: HsName
_righthandsideOnmLev :: NmLev
_righthandsideOopts :: EHCOpts
_righthandsideOpatchEhNmInInstance :: PatchEhNmInInstance
_righthandsideOpragmas :: (Set.Set Pragma.Pragma)
_righthandsideOtopInstanceNmL :: ([HsName])
_righthandsideOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternIeh :: (EH.PatExpr)
_patternIerrSq :: ErrSq
_patternIgUniq :: UID
_patternIidDefOccGam :: IdDefOccGam
_patternIidOccDefs :: ([IdOcc])
_patternIidUseOccGam :: IdUseOccGam
_patternIisVar :: Bool
_patternImbTopRefname :: (Maybe HsName)
_patternIpp :: PP_Doc
_patternIppWrap :: (PP_Doc -> PP_Doc)
_patternItopInstanceNmL :: ([HsName])
_patternItrpp :: TrPP
_patternIundefOccGam :: IdUseOccGam
_righthandsideIeh :: (EH.Expr)
_righthandsideIerrSq :: ErrSq
_righthandsideIgUniq :: UID
_righthandsideIidUseOccGam :: IdUseOccGam
_righthandsideIpp :: PP_Doc
_righthandsideIppWrap :: (PP_Doc -> PP_Doc)
_righthandsideItopInstanceNmL :: ([HsName])
_righthandsideItrpp :: TrPP
_righthandsideIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 465, column 9)
_righthandsideOidGam =
gamUnion _patternIidDefOccGam _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 73, column 9)
_nmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 121, column 9)
_errDupIntro =
idDefOccGamCheckDupNames _patternIidDefOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 94, column 9)
_errSq =
Seq.unions [Seq.fromList _errDupIntro, _patternIerrSq, _righthandsideIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 275, column 9)
_pp =
_patternIpp >#< _righthandsideIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 276, column 9)
_righthandsideOsepPP =
pp "->"
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 626, column 9)
_lhsOeh =
[EH.mkAlt range_ _patternIeh _righthandsideIeh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 289, column 9)
_righthandsideOmustBeMono =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_patternIidUseOccGam `gamAddGam` _righthandsideIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_patternIppWrap . _righthandsideIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_patternItrpp >< _righthandsideItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_patternIundefOccGam `gamUnion` _righthandsideIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_righthandsideIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_righthandsideItopInstanceNmL
-- copy rule (down)
_patternOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_patternOgUniq =
_lhsIgUniq
-- copy rule (down)
_patternOidGam =
_lhsIidGam
-- copy rule (down)
_patternOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_patternOnmLev =
_nmLev
-- copy rule (down)
_patternOopts =
_lhsIopts
-- copy rule (down)
_patternOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_patternOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_patternOtr =
_lhsItr
-- copy rule (down)
_righthandsideOcaseId =
_lhsIcaseId
-- copy rule (down)
_righthandsideOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_righthandsideOgUniq =
_patternIgUniq
-- copy rule (down)
_righthandsideOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_righthandsideOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_righthandsideOnmLev =
_nmLev
-- copy rule (down)
_righthandsideOopts =
_lhsIopts
-- copy rule (down)
_righthandsideOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_righthandsideOpragmas =
_lhsIpragmas
-- copy rule (chain)
_righthandsideOtopInstanceNmL =
_patternItopInstanceNmL
-- copy rule (down)
_righthandsideOtr =
_lhsItr
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternItrpp,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL _patternOtr
( _righthandsideIeh,_righthandsideIerrSq,_righthandsideIgUniq,_righthandsideIidUseOccGam,_righthandsideIpp,_righthandsideIppWrap,_righthandsideItopInstanceNmL,_righthandsideItrpp,_righthandsideIundefOccGam) =
righthandside_ _righthandsideOcaseId _righthandsideOfixityGam _righthandsideOgUniq _righthandsideOgenerDerivMp _righthandsideOidGam _righthandsideOmoduleNm _righthandsideOmustBeMono _righthandsideOnmLev _righthandsideOopts _righthandsideOpatchEhNmInInstance _righthandsideOpragmas _righthandsideOsepPP _righthandsideOtopInstanceNmL _righthandsideOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Alternative_Empty :: Range ->
T_Alternative
sem_Alternative_Empty range_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([EH.CaseAlt])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 628, column 9)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Alternatives ------------------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.CaseAlt]
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : Alternative
child tl : Alternatives
alternative Nil:
-}
-- cata
sem_Alternatives :: Alternatives ->
T_Alternatives
sem_Alternatives list =
(Prelude.foldr sem_Alternatives_Cons sem_Alternatives_Nil (Prelude.map sem_Alternative list))
-- semantic domain
type T_Alternatives = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.CaseAlt]),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Alternatives_Cons :: T_Alternative ->
T_Alternatives ->
T_Alternatives
sem_Alternatives_Cons hd_ tl_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([EH.CaseAlt])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOcaseId :: UID
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOpragmas :: (Set.Set Pragma.Pragma)
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOcaseId :: UID
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOpragmas :: (Set.Set Pragma.Pragma)
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIeh :: ([EH.CaseAlt])
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.CaseAlt])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 620, column 28)
_lhsOeh =
_hdIeh ++ _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOcaseId =
_lhsIcaseId
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOpragmas =
_lhsIpragmas
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOcaseId =
_lhsIcaseId
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_tlOpragmas =
_lhsIpragmas
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOcaseId _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOcaseId _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Alternatives_Nil :: T_Alternatives
sem_Alternatives_Nil =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([EH.CaseAlt])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 620, column 28)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Body --------------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isMainMod : Bool
isTopMod : Bool
modEntToOrig : ModEntRngMp
modInScope : ModEntDomMp
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.Expr
errSq : ErrSq
extraModImpL : [ModImp]
gathFixityGam : FixityGam
gathIdGam : IdDefOccGam
idUseOccGam : IdUseOccGam
mainValExists : Bool
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Body:
child range : {Range}
child importdeclarations : ImportDeclarations
child declarations : Declarations
visit 0:
local trpp : _
local nameDeclCxt : _
local idDefOccGamMain : _
local idGam : _
local mainrefname : _
local mainrefnames : _
local idUseOccGamMain : _
local errIdUse : _
local idUseHereOccL : _
local undefOccGamMain : _
local idDpdMp : _
local mainValExists : _
local sccOrder : _
local sccOrderDpdMp : _
local mkSccLet : _
local errReorder : _
local modAsMp : _
local refmainname : _
local idOccDefMain : _
local extraModImpL : _
local errDupIntro : _
local ppExtra : _
local ehMainDecl : _
local ehMainSig : _
local caseId : _
local pragmas : _
-}
-- cata
sem_Body :: Body ->
T_Body
sem_Body (Body_Body _range _importdeclarations _declarations) =
(sem_Body_Body _range (sem_ImportDeclarations _importdeclarations) (sem_Declarations _declarations))
-- semantic domain
type T_Body = FixityGam ->
UID ->
IdDefOccGam ->
Bool ->
Bool ->
ModEntRngMp ->
ModEntDomMp ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (EH.Expr),ErrSq,([ModImp]),UID,FixityGam,IdDefOccGam,IdUseOccGam,Bool,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Body_Body :: Range ->
T_ImportDeclarations ->
T_Declarations ->
T_Body
sem_Body_Body range_ importdeclarations_ declarations_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImodEntToOrig
_lhsImodInScope
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _declarationsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_lhsOundefOccGam :: IdUseOccGam
_lhsOerrSq :: ErrSq
_lhsOpp :: PP_Doc
_declarationsOfixityGam :: FixityGam
_lhsOeh :: (EH.Expr)
_lhsOgathIdGam :: IdDefOccGam
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOextraModImpL :: ([ModImp])
_lhsOgUniq :: UID
_lhsOmainValExists :: Bool
_lhsOtopInstanceNmL :: ([HsName])
_importdeclarationsOfixityGam :: FixityGam
_importdeclarationsOgUniq :: UID
_importdeclarationsOidGam :: IdDefOccGam
_importdeclarationsOisMainMod :: Bool
_importdeclarationsOisTopMod :: Bool
_importdeclarationsOmoduleNm :: HsName
_importdeclarationsOnmLev :: NmLev
_importdeclarationsOopts :: EHCOpts
_importdeclarationsOpatchEhNmInInstance :: PatchEhNmInInstance
_importdeclarationsOtopInstanceNmL :: ([HsName])
_importdeclarationsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_declarationsOcaseId :: UID
_declarationsOgUniq :: UID
_declarationsOidGam :: IdDefOccGam
_declarationsOmoduleNm :: HsName
_declarationsOnameDeclCxt :: NameDeclCxt
_declarationsOnmLev :: NmLev
_declarationsOopts :: EHCOpts
_declarationsOpatchEhNmInInstance :: PatchEhNmInInstance
_declarationsOpragmas :: (Set.Set Pragma.Pragma)
_declarationsOtopInstanceNmL :: ([HsName])
_declarationsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_importdeclarationsIerrSq :: ErrSq
_importdeclarationsIgUniq :: UID
_importdeclarationsIgathFixityGam :: FixityGam
_importdeclarationsIidUseOccGam :: IdUseOccGam
_importdeclarationsImodAsMp :: (Map.Map HsName HsName)
_importdeclarationsIpp :: PP_Doc
_importdeclarationsIppWrap :: (PP_Doc -> PP_Doc)
_importdeclarationsItopInstanceNmL :: ([HsName])
_importdeclarationsItrpp :: TrPP
_importdeclarationsIundefOccGam :: IdUseOccGam
_declarationsIeh :: ([EH.Decl])
_declarationsIerrSq :: ErrSq
_declarationsIgUniq :: UID
_declarationsIgathFixityGam :: FixityGam
_declarationsIgathPragmas :: (Set.Set Pragma.Pragma)
_declarationsIidDefOccGam :: IdDefOccGam
_declarationsIidDpdMp :: IdDpdMp
_declarationsIidInClassTySigDefOccGam :: IdDefOccGam
_declarationsIidInInstanceValDefOccGam :: IdDefOccGam
_declarationsIidOccDefs :: ([IdOcc])
_declarationsIidUseOccGam :: IdUseOccGam
_declarationsIneedsError :: Bool
_declarationsIpp :: PP_Doc
_declarationsIppWrap :: (PP_Doc -> PP_Doc)
_declarationsItopInstanceNmL :: ([HsName])
_declarationsItrpp :: TrPP
_declarationsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 11, column 9)
_trpp =
(_lhsItr TraceOn_HsDpd $ [pp "Body: sccOrderDpdMp"] ++ [ fr >|< ":" >#< vlist to | (fr,to) <- Map.toList _sccOrderDpdMp ])
>< (_lhsItr TraceOn_HsScc $ [pp "Body: sccOrder"] ++ map (ppBracketsCommas) _sccOrder)
>< _importdeclarationsItrpp
>< _declarationsItrpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDeclCxt.ag"(line 25, column 9)
_nameDeclCxt =
NameDeclCxt_Plain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 5, column 9)
_declarationsOgenerDerivMp =
let nm | ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts = id
| otherwise = hsnSetLevQual _lhsInmLev _lhsImoduleNm
in Map.unionsWith (++)
[ Map.singleton clNm' [( nm fldNm,nm dfltNm)]
| (Pragma.Pragma_Derivable clNm fldNm dfltNm) <- Set.toList _pragmas
, let clNm' = nm clNm
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 317, column 9)
_idDefOccGamMain =
gamSingleton _idOccDefMain (mkIdDefOcc _idOccDefMain (IdAsp_Val_Pat _ehMainDecl) _lhsInmLev range_)
`gamUnion` gamSingleton _idOccDefMain (mkIdDefOcc _idOccDefMain IdAsp_Val_Var _lhsInmLev range_)
`gamUnion` gamSingleton _idOccDefMain (mkIdDefOcc _idOccDefMain (IdAsp_Val_Sig _ehMainSig) _lhsInmLev range_)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 366, column 9)
_idGam =
let
lkn :: (IdOcc -> Bool) -> HsName -> Maybe (HsName,[ModEnt])
lkn isq n = case Map.lookup n
_lhsImodInScope of
Just es | not (null es')
-> Just (n,es')
where es' = [ e | e <- es, isq (mentIdOcc e) ]
_ -> Nothing
lks :: Bool -> IdOcc -> [(HsName,[ModEnt])]
lks allowRename o
= ns1 ++ catMaybes ns2
where (mq,n) = hsnSplitQualify (ioccNm o)
(ns1,isq) = case mq of
Just q -> ( qres
, (\o' -> maybe False ( `elem` qquals ) (hsnQualifier (ioccNm o'))
)
)
where (qres,qquals)
= maybe ([],[q])
(\x@(_,es) -> ( [x]
, q : extra es
) )
(lkn (const True) (hsnPrefixQual (as q) n))
Nothing -> ( [], const True )
ns2 = [lkn isq n]
extra | allowRename = \es -> catMaybes $ map (hsnQualifier . ioccNm . mentIdOcc) es
| otherwise = const []
as :: HsName -> HsName
as n = Map.findWithDefault n n _modAsMp
mkg sel g
= foldr idDefOccGamUnion emptyGam
[
gamSingleton (o {ioccNm = n}) (d {doccNmAlts = Set.fromList ns})
| (o,d) <- gamToAssocL g
, (n,es) <- sel o
, let ns = [ ioccNm eo | e <- es, let eo = mentIdOcc e, ioccKind eo == ioccKind o ]
]
gnew = mkg (lks False)
_lhsIidGam
in
mkg (lks False) _declarationsIidDefOccGam `idDefOccGamUnion` gnew
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 738, column 29)
(_mainrefname,_mainrefnames,_idUseOccGamMain,_errIdUse) =
mkUseOccGam _lhsIopts _idGam
( [hsnMain]
++ [hsnIO]
++ [hsnEhcRunMain]
++ (if _declarationsIneedsError then [hsnError] else [])
)
IdOcc_Val IdAsp_Val_Var range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1010, column 29)
(_,_idUseHereOccL,_,_undefOccGamMain) =
splitIdUseOccGam _lhsInmLev _idUseOccGamMain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1015, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDefMain] ((IdOcc _mainrefname IdOcc_Val,undefined) : _idUseHereOccL)
`idDpdMpUnion`
idFrOccGam2DpdMp _idDefOccGamMain [_idOccDefMain]
`idDpdMpUnion`
_declarationsIidDpdMp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1020, column 9)
_lhsOundefOccGam =
let g = if _lhsIisMainMod then _undefOccGamMain else emptyGam
in gamUnions [g,_declarationsIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1040, column 9)
_mainValExists =
case gamLookupDup (IdOcc _refmainname IdOcc_Val) _declarationsIidDefOccGam of
Nothing -> False
Just occs -> chk iaspIsValVar
where chk f = not $ null $ filter (f . doccAsp) occs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1069, column 29)
(_sccOrder,_sccOrderDpdMp) =
idDpdMp2SccOrder' (_idDefOccGamMain `gamUnion` _declarationsIidDefOccGam) _idDpdMp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1200, column 29)
(_mkSccLet,_,_errReorder) =
let g = if _lhsIisMainMod then _idDefOccGamMain else emptyGam
in mkIdOccSccEH _lhsIopts range_ False (g `gamUnion` _declarationsIidDefOccGam) (Just _sccOrder)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1240, column 9)
_modAsMp =
_importdeclarationsImodAsMp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 8, column 9)
_refmainname =
hsnSetLevQual _lhsInmLev _lhsImoduleNm hsnMain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 186, column 9)
_idOccDefMain =
IdOcc hsnMain IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 278, column 9)
_extraModImpL =
if ehcOptOverloadedStrings _lhsIopts
then [ModImp True hsnModDataString hsnModDataString False [ModEntSpec (hsnQualified hsnDataStringFromString) range_ Nothing] range_]
else []
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 97, column 9)
_errDupIntro =
idDefOccGamCheckDupNames _declarationsIidDefOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 9, column 9)
_lhsOerrSq =
Seq.firstNotEmpty [Seq.fromList _errDupIntro, Seq.fromList _errIdUse,Seq.fromList _errReorder, _declarationsIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 7, column 9)
_lhsOpp =
_importdeclarationsIpp >-<
_declarationsIpp >-< _ppExtra
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 10, column 9)
_ppExtra =
empty
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 22, column 9)
_declarationsOfixityGam =
_declarationsIgathFixityGam `gamUnion` _lhsIfixityGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 51, column 9)
_lhsOeh =
_mkSccLet (if _lhsIisMainMod then rngLift range_ EH.Expr_Var hsnMain
else rngLift range_ EH.Expr_IConst 0
)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 57, column 9)
_ehMainDecl =
rngLift range_ EH.Decl_Val
(rngLift range_ EH.PatExpr_Var hsnMain)
(appRngParApp range_ [rngLift range_ EH.Expr_Var (_mainrefnames !! 2),rngLift range_ EH.Expr_Var _mainrefname])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 57, column 9)
_ehMainSig =
rngLift range_ EH.Decl_TySig
hsnMain
(appRngParApp range_ [rngLift range_ EH.TyExpr_Con (_mainrefnames !! 1),rngLift range_ EH.TyExpr_Wild])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 882, column 9)
_caseId =
uidStart
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 100, column 9)
_lhsOgathIdGam =
_declarationsIidDefOccGam
`gamUnion`
assocLToGam [ (o {ioccNm = hsnSetQual _lhsImoduleNm (ioccNm o)},d)
| (o,d) <- gamToAssocL _lhsIidGam
, n <- Map.findWithDefault [] o _lhsImodEntToOrig
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 320, column 9)
_pragmas =
_declarationsIgathPragmas `Set.union` _lhsIpragmas
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_importdeclarationsIgathFixityGam `gamAddGam` _declarationsIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_importdeclarationsIidUseOccGam `gamAddGam` _declarationsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_importdeclarationsIppWrap . _declarationsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_trpp
-- copy rule (from local)
_lhsOextraModImpL =
_extraModImpL
-- copy rule (up)
_lhsOgUniq =
_declarationsIgUniq
-- copy rule (from local)
_lhsOmainValExists =
_mainValExists
-- copy rule (up)
_lhsOtopInstanceNmL =
_declarationsItopInstanceNmL
-- copy rule (down)
_importdeclarationsOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_importdeclarationsOgUniq =
_lhsIgUniq
-- copy rule (from local)
_importdeclarationsOidGam =
_idGam
-- copy rule (down)
_importdeclarationsOisMainMod =
_lhsIisMainMod
-- copy rule (down)
_importdeclarationsOisTopMod =
_lhsIisTopMod
-- copy rule (down)
_importdeclarationsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_importdeclarationsOnmLev =
_lhsInmLev
-- copy rule (down)
_importdeclarationsOopts =
_lhsIopts
-- copy rule (down)
_importdeclarationsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_importdeclarationsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_importdeclarationsOtr =
_lhsItr
-- copy rule (from local)
_declarationsOcaseId =
_caseId
-- copy rule (chain)
_declarationsOgUniq =
_importdeclarationsIgUniq
-- copy rule (from local)
_declarationsOidGam =
_idGam
-- copy rule (down)
_declarationsOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_declarationsOnameDeclCxt =
_nameDeclCxt
-- copy rule (down)
_declarationsOnmLev =
_lhsInmLev
-- copy rule (down)
_declarationsOopts =
_lhsIopts
-- copy rule (down)
_declarationsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (from local)
_declarationsOpragmas =
_pragmas
-- copy rule (chain)
_declarationsOtopInstanceNmL =
_importdeclarationsItopInstanceNmL
-- copy rule (down)
_declarationsOtr =
_lhsItr
( _importdeclarationsIerrSq,_importdeclarationsIgUniq,_importdeclarationsIgathFixityGam,_importdeclarationsIidUseOccGam,_importdeclarationsImodAsMp,_importdeclarationsIpp,_importdeclarationsIppWrap,_importdeclarationsItopInstanceNmL,_importdeclarationsItrpp,_importdeclarationsIundefOccGam) =
importdeclarations_ _importdeclarationsOfixityGam _importdeclarationsOgUniq _importdeclarationsOidGam _importdeclarationsOisMainMod _importdeclarationsOisTopMod _importdeclarationsOmoduleNm _importdeclarationsOnmLev _importdeclarationsOopts _importdeclarationsOpatchEhNmInInstance _importdeclarationsOtopInstanceNmL _importdeclarationsOtr
( _declarationsIeh,_declarationsIerrSq,_declarationsIgUniq,_declarationsIgathFixityGam,_declarationsIgathPragmas,_declarationsIidDefOccGam,_declarationsIidDpdMp,_declarationsIidInClassTySigDefOccGam,_declarationsIidInInstanceValDefOccGam,_declarationsIidOccDefs,_declarationsIidUseOccGam,_declarationsIneedsError,_declarationsIpp,_declarationsIppWrap,_declarationsItopInstanceNmL,_declarationsItrpp,_declarationsIundefOccGam) =
declarations_ _declarationsOcaseId _declarationsOfixityGam _declarationsOgUniq _declarationsOgenerDerivMp _declarationsOidGam _declarationsOmoduleNm _declarationsOnameDeclCxt _declarationsOnmLev _declarationsOopts _declarationsOpatchEhNmInInstance _declarationsOpragmas _declarationsOtopInstanceNmL _declarationsOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOextraModImpL,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathIdGam,_lhsOidUseOccGam,_lhsOmainValExists,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Constructor -------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
conAndFldrefnames : AssocL Name Names
conrefnames : Names
eh : EH.DataConstr
errSq : ErrSq
freeTvarS : HsNameS
hasFlds : Bool
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Constructor:
child range : {Range}
child constructor : {Name}
child types : Types
visit 0:
local conrefname : _
local nmLev : _
local pp : _
local isAsPred : _
local doGenVarWild : _
alternative Infix:
child range : {Range}
child leftType : Type
child constructorOperator : {Name}
child rightType : Type
visit 0:
local conrefname : _
local nmLev : _
local pp : _
local isAsPred : _
local doGenVarWild : _
alternative Record:
child range : {Range}
child constructor : {Name}
child fieldDeclarations : FieldDeclarations
visit 0:
local conrefname : _
local conAndFldrefnames : _
local pp : _
alternative Contexted:
child range : {Range}
child context : ContextItems
child constructor : Constructor
visit 0:
local pp : _
alternative GADTFunction:
child range : {Range}
child constructor : {Name}
child type : Type
visit 0:
local conrefname : _
local nmLev : _
local pp : _
local ehArgs : _
local ehRes : _
local isAsPred : _
local doGenVarWild : _
-}
-- cata
sem_Constructor :: Constructor ->
T_Constructor
sem_Constructor (Constructor_Constructor _range _constructor _types) =
(sem_Constructor_Constructor _range _constructor (sem_Types _types))
sem_Constructor (Constructor_Infix _range _leftType _constructorOperator _rightType) =
(sem_Constructor_Infix _range (sem_Type _leftType) _constructorOperator (sem_Type _rightType))
sem_Constructor (Constructor_Record _range _constructor _fieldDeclarations) =
(sem_Constructor_Record _range _constructor (sem_FieldDeclarations _fieldDeclarations))
sem_Constructor (Constructor_Contexted _range _context _constructor) =
(sem_Constructor_Contexted _range (sem_ContextItems _context) (sem_Constructor _constructor))
sem_Constructor (Constructor_GADTFunction _range _constructor _type) =
(sem_Constructor_GADTFunction _range _constructor (sem_Type _type))
-- semantic domain
type T_Constructor = FixityGam ->
UID ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (AssocL Name Names),Names,(EH.DataConstr),ErrSq,HsNameS,UID,Bool,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Constructor_Constructor :: Range ->
Name ->
T_Types ->
T_Constructor
sem_Constructor_Constructor range_ constructor_ types_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconrefnames :: Names
_lhsOeh :: (EH.DataConstr)
_lhsOconAndFldrefnames :: (AssocL Name Names)
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOhasFlds :: Bool
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typesOfixityGam :: FixityGam
_typesOgUniq :: UID
_typesOidGam :: IdDefOccGam
_typesOisAsPred :: Bool
_typesOnmLev :: NmLev
_typesOopts :: EHCOpts
_typesOpatchEhNmInInstance :: PatchEhNmInInstance
_typesOtopInstanceNmL :: ([HsName])
_typesOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typesIeh :: ([EH.TyExpr])
_typesIerrSq :: ErrSq
_typesIfreeTvarS :: HsNameS
_typesIgUniq :: UID
_typesIidUseOccGam :: IdUseOccGam
_typesIpp :: PP_Doc
_typesIppL :: ([PP_Doc])
_typesIppWrap :: (PP_Doc -> PP_Doc)
_typesItopInstanceNmL :: ([HsName])
_typesItrpp :: TrPP
_typesIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 64, column 9)
_conrefname =
hsnSetLevQual _lhsInmLev _lhsImoduleNm constructor_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 71, column 9)
_lhsOconrefnames =
[_conrefname]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 38, column 9)
_nmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 178, column 9)
_pp =
constructor_ >#< ppSpaces _typesIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 308, column 9)
_lhsOeh =
rngLift range_ EH.DataConstr_Constr _conrefname
Nothing
(map (ehPlainDataField emptyRange) _typesIeh)
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 185, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 238, column 9)
_doGenVarWild =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 79, column 45)
_lhsOconAndFldrefnames =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_typesIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_typesIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 248, column 35)
_lhsOhasFlds =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_typesIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_typesIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_typesItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_typesIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_typesIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_typesItopInstanceNmL
-- copy rule (down)
_typesOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_typesOgUniq =
_lhsIgUniq
-- copy rule (down)
_typesOidGam =
_lhsIidGam
-- copy rule (from local)
_typesOisAsPred =
_isAsPred
-- copy rule (from local)
_typesOnmLev =
_nmLev
-- copy rule (down)
_typesOopts =
_lhsIopts
-- copy rule (down)
_typesOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_typesOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_typesOtr =
_lhsItr
( _typesIeh,_typesIerrSq,_typesIfreeTvarS,_typesIgUniq,_typesIidUseOccGam,_typesIpp,_typesIppL,_typesIppWrap,_typesItopInstanceNmL,_typesItrpp,_typesIundefOccGam) =
types_ _typesOfixityGam _typesOgUniq _typesOidGam _typesOisAsPred _typesOnmLev _typesOopts _typesOpatchEhNmInInstance _typesOtopInstanceNmL _typesOtr
in ( _lhsOconAndFldrefnames,_lhsOconrefnames,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOhasFlds,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Constructor_Infix :: Range ->
T_Type ->
Name ->
T_Type ->
T_Constructor
sem_Constructor_Infix range_ leftType_ constructorOperator_ rightType_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconrefnames :: Names
_lhsOeh :: (EH.DataConstr)
_lhsOconAndFldrefnames :: (AssocL Name Names)
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOhasFlds :: Bool
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_leftTypeOdoGenVarWild :: Bool
_leftTypeOfixityGam :: FixityGam
_leftTypeOgUniq :: UID
_leftTypeOidGam :: IdDefOccGam
_leftTypeOisAsPred :: Bool
_leftTypeOnmLev :: NmLev
_leftTypeOopts :: EHCOpts
_leftTypeOpatchEhNmInInstance :: PatchEhNmInInstance
_leftTypeOtopInstanceNmL :: ([HsName])
_leftTypeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_rightTypeOdoGenVarWild :: Bool
_rightTypeOfixityGam :: FixityGam
_rightTypeOgUniq :: UID
_rightTypeOidGam :: IdDefOccGam
_rightTypeOisAsPred :: Bool
_rightTypeOnmLev :: NmLev
_rightTypeOopts :: EHCOpts
_rightTypeOpatchEhNmInInstance :: PatchEhNmInInstance
_rightTypeOtopInstanceNmL :: ([HsName])
_rightTypeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_leftTypeIconNm :: Name
_leftTypeIeh :: (EH.TyExpr)
_leftTypeIehMbAsPr :: (Maybe EH.PrExpr)
_leftTypeIehMbAsPrL :: ([Maybe EH.PrExpr])
_leftTypeIehMbAsTyPr :: (Maybe EH.TyExpr)
_leftTypeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_leftTypeIerrSq :: ErrSq
_leftTypeIfreeTvarS :: HsNameS
_leftTypeIgUniq :: UID
_leftTypeIidUseOccGam :: IdUseOccGam
_leftTypeImbRefConNm :: (Maybe Name)
_leftTypeIopChain :: (OpChain EH.TyExpr)
_leftTypeIoperatorName :: MaybeName
_leftTypeIpp :: PP_Doc
_leftTypeIppWrap :: (PP_Doc -> PP_Doc)
_leftTypeItopInstanceNmL :: ([HsName])
_leftTypeItrpp :: TrPP
_leftTypeItyConIs :: TypeConFixedMeaning
_leftTypeIundefOccGam :: IdUseOccGam
_rightTypeIconNm :: Name
_rightTypeIeh :: (EH.TyExpr)
_rightTypeIehMbAsPr :: (Maybe EH.PrExpr)
_rightTypeIehMbAsPrL :: ([Maybe EH.PrExpr])
_rightTypeIehMbAsTyPr :: (Maybe EH.TyExpr)
_rightTypeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_rightTypeIerrSq :: ErrSq
_rightTypeIfreeTvarS :: HsNameS
_rightTypeIgUniq :: UID
_rightTypeIidUseOccGam :: IdUseOccGam
_rightTypeImbRefConNm :: (Maybe Name)
_rightTypeIopChain :: (OpChain EH.TyExpr)
_rightTypeIoperatorName :: MaybeName
_rightTypeIpp :: PP_Doc
_rightTypeIppWrap :: (PP_Doc -> PP_Doc)
_rightTypeItopInstanceNmL :: ([HsName])
_rightTypeItrpp :: TrPP
_rightTypeItyConIs :: TypeConFixedMeaning
_rightTypeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 66, column 9)
_conrefname =
hsnSetLevQual _lhsInmLev _lhsImoduleNm constructorOperator_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 73, column 9)
_lhsOconrefnames =
[_conrefname]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 38, column 9)
_nmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 180, column 9)
_pp =
_leftTypeIpp >#< constructorOperator_ >#< _rightTypeIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 320, column 9)
_lhsOeh =
rngLift range_ EH.DataConstr_Constr _conrefname
(let fgi = fixityGamLookup _conrefname _lhsIfixityGam
in Just (fgiPrio fgi, fgiFixity fgi)
)
(map (ehPlainDataField emptyRange) [_leftTypeIeh,_rightTypeIeh])
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 185, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 238, column 9)
_doGenVarWild =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 79, column 45)
_lhsOconAndFldrefnames =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_leftTypeIerrSq `Seq.union` _rightTypeIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_leftTypeIfreeTvarS `Set.union` _rightTypeIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 248, column 35)
_lhsOhasFlds =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_leftTypeIidUseOccGam `gamAddGam` _rightTypeIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_leftTypeIppWrap . _rightTypeIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_leftTypeItrpp >< _rightTypeItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_leftTypeIundefOccGam `gamUnion` _rightTypeIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_rightTypeIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_rightTypeItopInstanceNmL
-- copy rule (from local)
_leftTypeOdoGenVarWild =
_doGenVarWild
-- copy rule (down)
_leftTypeOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_leftTypeOgUniq =
_lhsIgUniq
-- copy rule (down)
_leftTypeOidGam =
_lhsIidGam
-- copy rule (from local)
_leftTypeOisAsPred =
_isAsPred
-- copy rule (from local)
_leftTypeOnmLev =
_nmLev
-- copy rule (down)
_leftTypeOopts =
_lhsIopts
-- copy rule (down)
_leftTypeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_leftTypeOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_leftTypeOtr =
_lhsItr
-- copy rule (from local)
_rightTypeOdoGenVarWild =
_doGenVarWild
-- copy rule (down)
_rightTypeOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_rightTypeOgUniq =
_leftTypeIgUniq
-- copy rule (down)
_rightTypeOidGam =
_lhsIidGam
-- copy rule (from local)
_rightTypeOisAsPred =
_isAsPred
-- copy rule (from local)
_rightTypeOnmLev =
_nmLev
-- copy rule (down)
_rightTypeOopts =
_lhsIopts
-- copy rule (down)
_rightTypeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_rightTypeOtopInstanceNmL =
_leftTypeItopInstanceNmL
-- copy rule (down)
_rightTypeOtr =
_lhsItr
( _leftTypeIconNm,_leftTypeIeh,_leftTypeIehMbAsPr,_leftTypeIehMbAsPrL,_leftTypeIehMbAsTyPr,_leftTypeIehMbAsTyPrL,_leftTypeIerrSq,_leftTypeIfreeTvarS,_leftTypeIgUniq,_leftTypeIidUseOccGam,_leftTypeImbRefConNm,_leftTypeIopChain,_leftTypeIoperatorName,_leftTypeIpp,_leftTypeIppWrap,_leftTypeItopInstanceNmL,_leftTypeItrpp,_leftTypeItyConIs,_leftTypeIundefOccGam) =
leftType_ _leftTypeOdoGenVarWild _leftTypeOfixityGam _leftTypeOgUniq _leftTypeOidGam _leftTypeOisAsPred _leftTypeOnmLev _leftTypeOopts _leftTypeOpatchEhNmInInstance _leftTypeOtopInstanceNmL _leftTypeOtr
( _rightTypeIconNm,_rightTypeIeh,_rightTypeIehMbAsPr,_rightTypeIehMbAsPrL,_rightTypeIehMbAsTyPr,_rightTypeIehMbAsTyPrL,_rightTypeIerrSq,_rightTypeIfreeTvarS,_rightTypeIgUniq,_rightTypeIidUseOccGam,_rightTypeImbRefConNm,_rightTypeIopChain,_rightTypeIoperatorName,_rightTypeIpp,_rightTypeIppWrap,_rightTypeItopInstanceNmL,_rightTypeItrpp,_rightTypeItyConIs,_rightTypeIundefOccGam) =
rightType_ _rightTypeOdoGenVarWild _rightTypeOfixityGam _rightTypeOgUniq _rightTypeOidGam _rightTypeOisAsPred _rightTypeOnmLev _rightTypeOopts _rightTypeOpatchEhNmInInstance _rightTypeOtopInstanceNmL _rightTypeOtr
in ( _lhsOconAndFldrefnames,_lhsOconrefnames,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOhasFlds,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Constructor_Record :: Range ->
Name ->
T_FieldDeclarations ->
T_Constructor
sem_Constructor_Record range_ constructor_ fieldDeclarations_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconrefnames :: Names
_lhsOeh :: (EH.DataConstr)
_lhsOhasFlds :: Bool
_lhsOconAndFldrefnames :: (AssocL Name Names)
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_fieldDeclarationsOfixityGam :: FixityGam
_fieldDeclarationsOgUniq :: UID
_fieldDeclarationsOidGam :: IdDefOccGam
_fieldDeclarationsOmoduleNm :: HsName
_fieldDeclarationsOnmLev :: NmLev
_fieldDeclarationsOopts :: EHCOpts
_fieldDeclarationsOpatchEhNmInInstance :: PatchEhNmInInstance
_fieldDeclarationsOtopInstanceNmL :: ([HsName])
_fieldDeclarationsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_fieldDeclarationsIeh :: ([EH.DataField])
_fieldDeclarationsIerrSq :: ErrSq
_fieldDeclarationsIfldrefnames :: Names
_fieldDeclarationsIfreeTvarS :: HsNameS
_fieldDeclarationsIgUniq :: UID
_fieldDeclarationsIidUseOccGam :: IdUseOccGam
_fieldDeclarationsIpp :: PP_Doc
_fieldDeclarationsIppL :: ([PP_Doc])
_fieldDeclarationsIppWrap :: (PP_Doc -> PP_Doc)
_fieldDeclarationsItopInstanceNmL :: ([HsName])
_fieldDeclarationsItrpp :: TrPP
_fieldDeclarationsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 64, column 9)
_conrefname =
hsnSetLevQual _lhsInmLev _lhsImoduleNm constructor_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 76, column 9)
_lhsOconrefnames =
[_conrefname]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 87, column 9)
_conAndFldrefnames =
[(_conrefname,_fieldDeclarationsIfldrefnames)]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 182, column 9)
_pp =
constructor_ >#< ppCurlysCommas' _fieldDeclarationsIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 328, column 9)
_lhsOeh =
rngLift range_ EH.DataConstr_Constr _conrefname
Nothing
_fieldDeclarationsIeh
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 252, column 9)
_lhsOhasFlds =
True
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 79, column 45)
_lhsOconAndFldrefnames =
_conAndFldrefnames
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_fieldDeclarationsIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_fieldDeclarationsIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_fieldDeclarationsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_fieldDeclarationsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_fieldDeclarationsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_fieldDeclarationsIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_fieldDeclarationsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_fieldDeclarationsItopInstanceNmL
-- copy rule (down)
_fieldDeclarationsOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_fieldDeclarationsOgUniq =
_lhsIgUniq
-- copy rule (down)
_fieldDeclarationsOidGam =
_lhsIidGam
-- copy rule (down)
_fieldDeclarationsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_fieldDeclarationsOnmLev =
_lhsInmLev
-- copy rule (down)
_fieldDeclarationsOopts =
_lhsIopts
-- copy rule (down)
_fieldDeclarationsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_fieldDeclarationsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_fieldDeclarationsOtr =
_lhsItr
( _fieldDeclarationsIeh,_fieldDeclarationsIerrSq,_fieldDeclarationsIfldrefnames,_fieldDeclarationsIfreeTvarS,_fieldDeclarationsIgUniq,_fieldDeclarationsIidUseOccGam,_fieldDeclarationsIpp,_fieldDeclarationsIppL,_fieldDeclarationsIppWrap,_fieldDeclarationsItopInstanceNmL,_fieldDeclarationsItrpp,_fieldDeclarationsIundefOccGam) =
fieldDeclarations_ _fieldDeclarationsOfixityGam _fieldDeclarationsOgUniq _fieldDeclarationsOidGam _fieldDeclarationsOmoduleNm _fieldDeclarationsOnmLev _fieldDeclarationsOopts _fieldDeclarationsOpatchEhNmInInstance _fieldDeclarationsOtopInstanceNmL _fieldDeclarationsOtr
in ( _lhsOconAndFldrefnames,_lhsOconrefnames,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOhasFlds,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Constructor_Contexted :: Range ->
T_ContextItems ->
T_Constructor ->
T_Constructor
sem_Constructor_Contexted range_ context_ constructor_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: (EH.DataConstr)
_lhsOconAndFldrefnames :: (AssocL Name Names)
_lhsOconrefnames :: Names
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOhasFlds :: Bool
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_contextOfixityGam :: FixityGam
_contextOgUniq :: UID
_contextOidGam :: IdDefOccGam
_contextOnmLev :: NmLev
_contextOopts :: EHCOpts
_contextOpatchEhNmInInstance :: PatchEhNmInInstance
_contextOtopInstanceNmL :: ([HsName])
_contextOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_constructorOfixityGam :: FixityGam
_constructorOgUniq :: UID
_constructorOidGam :: IdDefOccGam
_constructorOmoduleNm :: HsName
_constructorOnmLev :: NmLev
_constructorOopts :: EHCOpts
_constructorOpatchEhNmInInstance :: PatchEhNmInInstance
_constructorOtopInstanceNmL :: ([HsName])
_constructorOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_contextIeh :: ([EH.PrExpr])
_contextIehTy :: ([EH.TyExpr])
_contextIerrSq :: ErrSq
_contextIfreeTvarS :: HsNameS
_contextIgUniq :: UID
_contextIidUseOccGam :: IdUseOccGam
_contextIpp :: PP_Doc
_contextIppWrap :: (PP_Doc -> PP_Doc)
_contextItopInstanceNmL :: ([HsName])
_contextItrpp :: TrPP
_contextIundefOccGam :: IdUseOccGam
_constructorIconAndFldrefnames :: (AssocL Name Names)
_constructorIconrefnames :: Names
_constructorIeh :: (EH.DataConstr)
_constructorIerrSq :: ErrSq
_constructorIfreeTvarS :: HsNameS
_constructorIgUniq :: UID
_constructorIhasFlds :: Bool
_constructorIidUseOccGam :: IdUseOccGam
_constructorIpp :: PP_Doc
_constructorIppWrap :: (PP_Doc -> PP_Doc)
_constructorItopInstanceNmL :: ([HsName])
_constructorItrpp :: TrPP
_constructorIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 184, column 17)
_pp =
_contextIpp >#< "=>" >#< _constructorIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 333, column 17)
_lhsOeh =
_constructorIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 79, column 45)
_lhsOconAndFldrefnames =
_constructorIconAndFldrefnames
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 60, column 39)
_lhsOconrefnames =
_constructorIconrefnames
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_contextIerrSq `Seq.union` _constructorIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_contextIfreeTvarS `Set.union` _constructorIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 248, column 35)
_lhsOhasFlds =
_constructorIhasFlds
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_contextIidUseOccGam `gamAddGam` _constructorIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_contextIppWrap . _constructorIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_contextItrpp >< _constructorItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_contextIundefOccGam `gamUnion` _constructorIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_constructorIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_constructorItopInstanceNmL
-- copy rule (down)
_contextOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_contextOgUniq =
_lhsIgUniq
-- copy rule (down)
_contextOidGam =
_lhsIidGam
-- copy rule (down)
_contextOnmLev =
_lhsInmLev
-- copy rule (down)
_contextOopts =
_lhsIopts
-- copy rule (down)
_contextOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_contextOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_contextOtr =
_lhsItr
-- copy rule (down)
_constructorOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_constructorOgUniq =
_contextIgUniq
-- copy rule (down)
_constructorOidGam =
_lhsIidGam
-- copy rule (down)
_constructorOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_constructorOnmLev =
_lhsInmLev
-- copy rule (down)
_constructorOopts =
_lhsIopts
-- copy rule (down)
_constructorOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_constructorOtopInstanceNmL =
_contextItopInstanceNmL
-- copy rule (down)
_constructorOtr =
_lhsItr
( _contextIeh,_contextIehTy,_contextIerrSq,_contextIfreeTvarS,_contextIgUniq,_contextIidUseOccGam,_contextIpp,_contextIppWrap,_contextItopInstanceNmL,_contextItrpp,_contextIundefOccGam) =
context_ _contextOfixityGam _contextOgUniq _contextOidGam _contextOnmLev _contextOopts _contextOpatchEhNmInInstance _contextOtopInstanceNmL _contextOtr
( _constructorIconAndFldrefnames,_constructorIconrefnames,_constructorIeh,_constructorIerrSq,_constructorIfreeTvarS,_constructorIgUniq,_constructorIhasFlds,_constructorIidUseOccGam,_constructorIpp,_constructorIppWrap,_constructorItopInstanceNmL,_constructorItrpp,_constructorIundefOccGam) =
constructor_ _constructorOfixityGam _constructorOgUniq _constructorOidGam _constructorOmoduleNm _constructorOnmLev _constructorOopts _constructorOpatchEhNmInInstance _constructorOtopInstanceNmL _constructorOtr
in ( _lhsOconAndFldrefnames,_lhsOconrefnames,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOhasFlds,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Constructor_GADTFunction :: Range ->
Name ->
T_Type ->
T_Constructor
sem_Constructor_GADTFunction range_ constructor_ type_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconrefnames :: Names
_lhsOeh :: (EH.DataConstr)
_lhsOconAndFldrefnames :: (AssocL Name Names)
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOhasFlds :: Bool
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 64, column 9)
_conrefname =
hsnSetLevQual _lhsInmLev _lhsImoduleNm constructor_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 71, column 9)
_lhsOconrefnames =
[_conrefname]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 38, column 9)
_nmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 186, column 17)
_pp =
constructor_ >#< "::" >#< _typeIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 313, column 41)
(_ehArgs,_ehRes) =
appUnArr _typeIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 315, column 9)
_lhsOeh =
rngLift range_ EH.DataConstr_Constr _conrefname
Nothing
(map (ehPlainDataField emptyRange) _ehArgs)
(Just _ehRes)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 185, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 238, column 9)
_doGenVarWild =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 79, column 45)
_lhsOconAndFldrefnames =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_typeIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_typeIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 248, column 35)
_lhsOhasFlds =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_typeIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_typeIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_typeItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_typeIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_typeIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_typeItopInstanceNmL
-- copy rule (from local)
_typeOdoGenVarWild =
_doGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_typeOgUniq =
_lhsIgUniq
-- copy rule (down)
_typeOidGam =
_lhsIidGam
-- copy rule (from local)
_typeOisAsPred =
_isAsPred
-- copy rule (from local)
_typeOnmLev =
_nmLev
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (down)
_typeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_typeOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
in ( _lhsOconAndFldrefnames,_lhsOconrefnames,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOhasFlds,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Constructors ------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
conAndFldrefnames : AssocL Name Names
conrefnames : Names
eh : [EH.DataConstr]
errSq : ErrSq
freeTvarS : HsNameS
hasFlds : Bool
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : Constructor
child tl : Constructors
alternative Nil:
-}
-- cata
sem_Constructors :: Constructors ->
T_Constructors
sem_Constructors list =
(Prelude.foldr sem_Constructors_Cons sem_Constructors_Nil (Prelude.map sem_Constructor list))
-- semantic domain
type T_Constructors = FixityGam ->
UID ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (AssocL Name Names),Names,([EH.DataConstr]),ErrSq,HsNameS,UID,Bool,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Constructors_Cons :: T_Constructor ->
T_Constructors ->
T_Constructors
sem_Constructors_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconAndFldrefnames :: (AssocL Name Names)
_lhsOconrefnames :: Names
_lhsOeh :: ([EH.DataConstr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOhasFlds :: Bool
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIconAndFldrefnames :: (AssocL Name Names)
_hdIconrefnames :: Names
_hdIeh :: (EH.DataConstr)
_hdIerrSq :: ErrSq
_hdIfreeTvarS :: HsNameS
_hdIgUniq :: UID
_hdIhasFlds :: Bool
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIconAndFldrefnames :: (AssocL Name Names)
_tlIconrefnames :: Names
_tlIeh :: ([EH.DataConstr])
_tlIerrSq :: ErrSq
_tlIfreeTvarS :: HsNameS
_tlIgUniq :: UID
_tlIhasFlds :: Bool
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 79, column 45)
_lhsOconAndFldrefnames =
_hdIconAndFldrefnames ++ _tlIconAndFldrefnames
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 60, column 39)
_lhsOconrefnames =
_hdIconrefnames ++ _tlIconrefnames
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 296, column 28)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_hdIfreeTvarS `Set.union` _tlIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 248, column 35)
_lhsOhasFlds =
_hdIhasFlds || _tlIhasFlds
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIconAndFldrefnames,_hdIconrefnames,_hdIeh,_hdIerrSq,_hdIfreeTvarS,_hdIgUniq,_hdIhasFlds,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL _hdOtr
( _tlIconAndFldrefnames,_tlIconrefnames,_tlIeh,_tlIerrSq,_tlIfreeTvarS,_tlIgUniq,_tlIhasFlds,_tlIidUseOccGam,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL _tlOtr
in ( _lhsOconAndFldrefnames,_lhsOconrefnames,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOhasFlds,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Constructors_Nil :: T_Constructors
sem_Constructors_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconAndFldrefnames :: (AssocL Name Names)
_lhsOconrefnames :: Names
_lhsOeh :: ([EH.DataConstr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOhasFlds :: Bool
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 79, column 45)
_lhsOconAndFldrefnames =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 60, column 39)
_lhsOconrefnames =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 296, column 28)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 248, column 35)
_lhsOhasFlds =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOconAndFldrefnames,_lhsOconrefnames,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOhasFlds,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- ContextItem -------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.PrExpr
ehTy : EH.TyExpr
errSq : ErrSq
freeTvarS : HsNameS
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Class:
child range : {Range}
child name : {Name}
child types : Types
visit 0:
local refname : _
local idUseOccGam : _
local errIdUse : _
local errSq : _
local pp : _
local eh : _
local ehTy : _
local isAsPred : _
alternative Forall:
child range : {Range}
child typevariables : {Names}
child context : ContextItem
visit 0:
local idDefOccGamInside : _
local idGam : _
local nmLev : _
local pp : _
local eh : _
local ehTy : _
alternative Arrow:
child range : {Range}
child argument : ContextItem
child result : ContextItem
visit 0:
local pp : _
local eh : _
local ehTy : _
alternative Implicits:
child range : {Range}
visit 0:
local pp : _
local eh : _
local ehTy : _
alternative NoImplicits:
child range : {Range}
visit 0:
local pp : _
local eh : _
local ehTy : _
alternative RowLacksLabel:
child range : {Range}
child rowvariable : {Name}
child name : {Name}
visit 0:
local pp : _
local eh : _
local ehTy : _
alternative Equal:
child range : {Range}
child type1 : Type
child type2 : Type
visit 0:
local pp : _
local eh : _
local ehTy : _
local isAsPred : _
local doGenVarWild : _
-}
-- cata
sem_ContextItem :: ContextItem ->
T_ContextItem
sem_ContextItem (ContextItem_Class _range _name _types) =
(sem_ContextItem_Class _range _name (sem_Types _types))
sem_ContextItem (ContextItem_Forall _range _typevariables _context) =
(sem_ContextItem_Forall _range _typevariables (sem_ContextItem _context))
sem_ContextItem (ContextItem_Arrow _range _argument _result) =
(sem_ContextItem_Arrow _range (sem_ContextItem _argument) (sem_ContextItem _result))
sem_ContextItem (ContextItem_Implicits _range) =
(sem_ContextItem_Implicits _range)
sem_ContextItem (ContextItem_NoImplicits _range) =
(sem_ContextItem_NoImplicits _range)
sem_ContextItem (ContextItem_RowLacksLabel _range _rowvariable _name) =
(sem_ContextItem_RowLacksLabel _range _rowvariable _name)
sem_ContextItem (ContextItem_Equal _range _type1 _type2) =
(sem_ContextItem_Equal _range (sem_Type _type1) (sem_Type _type2))
-- semantic domain
type T_ContextItem = FixityGam ->
UID ->
IdDefOccGam ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (EH.PrExpr),(EH.TyExpr),ErrSq,HsNameS,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_ContextItem_Class :: Range ->
Name ->
T_Types ->
T_ContextItem
sem_ContextItem_Class range_ name_ types_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.PrExpr)
_lhsOehTy :: (EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typesOfixityGam :: FixityGam
_typesOgUniq :: UID
_typesOidGam :: IdDefOccGam
_typesOisAsPred :: Bool
_typesOnmLev :: NmLev
_typesOopts :: EHCOpts
_typesOpatchEhNmInInstance :: PatchEhNmInInstance
_typesOtopInstanceNmL :: ([HsName])
_typesOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typesIeh :: ([EH.TyExpr])
_typesIerrSq :: ErrSq
_typesIfreeTvarS :: HsNameS
_typesIgUniq :: UID
_typesIidUseOccGam :: IdUseOccGam
_typesIpp :: PP_Doc
_typesIppL :: ([PP_Doc])
_typesIppWrap :: (PP_Doc -> PP_Doc)
_typesItopInstanceNmL :: ([HsName])
_typesItrpp :: TrPP
_typesIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 696, column 29)
(_refname,_,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [name_] IdOcc_Class IdAsp_Class_Class range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 698, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_typesIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 126, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUse, _typesIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 162, column 9)
_pp =
name_ >#< ppSpaces _typesIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 276, column 9)
_eh =
rngLift range_ EH.PrExpr_Class _refname _typesIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 290, column 9)
_ehTy =
rngLift range_ EH.TyExpr_Pred _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 204, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_typesIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_typesIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_typesItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_typesIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehTy =
_ehTy
-- copy rule (up)
_lhsOgUniq =
_typesIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_typesItopInstanceNmL
-- copy rule (down)
_typesOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_typesOgUniq =
_lhsIgUniq
-- copy rule (down)
_typesOidGam =
_lhsIidGam
-- copy rule (from local)
_typesOisAsPred =
_isAsPred
-- copy rule (down)
_typesOnmLev =
_lhsInmLev
-- copy rule (down)
_typesOopts =
_lhsIopts
-- copy rule (down)
_typesOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_typesOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_typesOtr =
_lhsItr
( _typesIeh,_typesIerrSq,_typesIfreeTvarS,_typesIgUniq,_typesIidUseOccGam,_typesIpp,_typesIppL,_typesIppWrap,_typesItopInstanceNmL,_typesItrpp,_typesIundefOccGam) =
types_ _typesOfixityGam _typesOgUniq _typesOidGam _typesOisAsPred _typesOnmLev _typesOopts _typesOpatchEhNmInInstance _typesOtopInstanceNmL _typesOtr
in ( _lhsOeh,_lhsOehTy,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_ContextItem_Forall :: Range ->
Names ->
T_ContextItem ->
T_ContextItem
sem_ContextItem_Forall range_ typevariables_ context_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOfreeTvarS :: HsNameS
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.PrExpr)
_lhsOehTy :: (EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_contextOfixityGam :: FixityGam
_contextOgUniq :: UID
_contextOidGam :: IdDefOccGam
_contextOnmLev :: NmLev
_contextOopts :: EHCOpts
_contextOpatchEhNmInInstance :: PatchEhNmInInstance
_contextOtopInstanceNmL :: ([HsName])
_contextOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_contextIeh :: (EH.PrExpr)
_contextIehTy :: (EH.TyExpr)
_contextIerrSq :: ErrSq
_contextIfreeTvarS :: HsNameS
_contextIgUniq :: UID
_contextIidUseOccGam :: IdUseOccGam
_contextIpp :: PP_Doc
_contextIppWrap :: (PP_Doc -> PP_Doc)
_contextItopInstanceNmL :: ([HsName])
_contextItrpp :: TrPP
_contextIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 324, column 9)
_idDefOccGamInside =
tvarL2IdDefOccGam _lhsInmLev range_ typevariables_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 489, column 9)
_idGam =
gamUnion _idDefOccGamInside _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 46, column 9)
_nmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 172, column 9)
_pp =
"forall" >#< ppSpaces typevariables_ >#< "." >#< _contextIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 284, column 9)
_eh =
foldr (rngLift range_ EH.PrExpr_Forall) _contextIeh typevariables_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 290, column 9)
_ehTy =
rngLift range_ EH.TyExpr_Pred _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 139, column 9)
_lhsOfreeTvarS =
_contextIfreeTvarS `Set.difference` Set.fromList typevariables_
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_contextIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_contextIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_contextIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_contextItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_contextIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehTy =
_ehTy
-- copy rule (up)
_lhsOgUniq =
_contextIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_contextItopInstanceNmL
-- copy rule (down)
_contextOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_contextOgUniq =
_lhsIgUniq
-- copy rule (from local)
_contextOidGam =
_idGam
-- copy rule (from local)
_contextOnmLev =
_nmLev
-- copy rule (down)
_contextOopts =
_lhsIopts
-- copy rule (down)
_contextOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_contextOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_contextOtr =
_lhsItr
( _contextIeh,_contextIehTy,_contextIerrSq,_contextIfreeTvarS,_contextIgUniq,_contextIidUseOccGam,_contextIpp,_contextIppWrap,_contextItopInstanceNmL,_contextItrpp,_contextIundefOccGam) =
context_ _contextOfixityGam _contextOgUniq _contextOidGam _contextOnmLev _contextOopts _contextOpatchEhNmInInstance _contextOtopInstanceNmL _contextOtr
in ( _lhsOeh,_lhsOehTy,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_ContextItem_Arrow :: Range ->
T_ContextItem ->
T_ContextItem ->
T_ContextItem
sem_ContextItem_Arrow range_ argument_ result_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.PrExpr)
_lhsOehTy :: (EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_argumentOfixityGam :: FixityGam
_argumentOgUniq :: UID
_argumentOidGam :: IdDefOccGam
_argumentOnmLev :: NmLev
_argumentOopts :: EHCOpts
_argumentOpatchEhNmInInstance :: PatchEhNmInInstance
_argumentOtopInstanceNmL :: ([HsName])
_argumentOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_resultOfixityGam :: FixityGam
_resultOgUniq :: UID
_resultOidGam :: IdDefOccGam
_resultOnmLev :: NmLev
_resultOopts :: EHCOpts
_resultOpatchEhNmInInstance :: PatchEhNmInInstance
_resultOtopInstanceNmL :: ([HsName])
_resultOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_argumentIeh :: (EH.PrExpr)
_argumentIehTy :: (EH.TyExpr)
_argumentIerrSq :: ErrSq
_argumentIfreeTvarS :: HsNameS
_argumentIgUniq :: UID
_argumentIidUseOccGam :: IdUseOccGam
_argumentIpp :: PP_Doc
_argumentIppWrap :: (PP_Doc -> PP_Doc)
_argumentItopInstanceNmL :: ([HsName])
_argumentItrpp :: TrPP
_argumentIundefOccGam :: IdUseOccGam
_resultIeh :: (EH.PrExpr)
_resultIehTy :: (EH.TyExpr)
_resultIerrSq :: ErrSq
_resultIfreeTvarS :: HsNameS
_resultIgUniq :: UID
_resultIidUseOccGam :: IdUseOccGam
_resultIpp :: PP_Doc
_resultIppWrap :: (PP_Doc -> PP_Doc)
_resultItopInstanceNmL :: ([HsName])
_resultItrpp :: TrPP
_resultIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 170, column 9)
_pp =
_argumentIpp >#< "->" >#< _resultIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 282, column 9)
_eh =
rngLift range_ EH.PrExpr_Arrow _argumentIeh _resultIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 290, column 9)
_ehTy =
rngLift range_ EH.TyExpr_Pred _eh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_argumentIerrSq `Seq.union` _resultIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_argumentIfreeTvarS `Set.union` _resultIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_argumentIidUseOccGam `gamAddGam` _resultIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_argumentIppWrap . _resultIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_argumentItrpp >< _resultItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_argumentIundefOccGam `gamUnion` _resultIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehTy =
_ehTy
-- copy rule (up)
_lhsOgUniq =
_resultIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_resultItopInstanceNmL
-- copy rule (down)
_argumentOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_argumentOgUniq =
_lhsIgUniq
-- copy rule (down)
_argumentOidGam =
_lhsIidGam
-- copy rule (down)
_argumentOnmLev =
_lhsInmLev
-- copy rule (down)
_argumentOopts =
_lhsIopts
-- copy rule (down)
_argumentOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_argumentOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_argumentOtr =
_lhsItr
-- copy rule (down)
_resultOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_resultOgUniq =
_argumentIgUniq
-- copy rule (down)
_resultOidGam =
_lhsIidGam
-- copy rule (down)
_resultOnmLev =
_lhsInmLev
-- copy rule (down)
_resultOopts =
_lhsIopts
-- copy rule (down)
_resultOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_resultOtopInstanceNmL =
_argumentItopInstanceNmL
-- copy rule (down)
_resultOtr =
_lhsItr
( _argumentIeh,_argumentIehTy,_argumentIerrSq,_argumentIfreeTvarS,_argumentIgUniq,_argumentIidUseOccGam,_argumentIpp,_argumentIppWrap,_argumentItopInstanceNmL,_argumentItrpp,_argumentIundefOccGam) =
argument_ _argumentOfixityGam _argumentOgUniq _argumentOidGam _argumentOnmLev _argumentOopts _argumentOpatchEhNmInInstance _argumentOtopInstanceNmL _argumentOtr
( _resultIeh,_resultIehTy,_resultIerrSq,_resultIfreeTvarS,_resultIgUniq,_resultIidUseOccGam,_resultIpp,_resultIppWrap,_resultItopInstanceNmL,_resultItrpp,_resultIundefOccGam) =
result_ _resultOfixityGam _resultOgUniq _resultOidGam _resultOnmLev _resultOopts _resultOpatchEhNmInInstance _resultOtopInstanceNmL _resultOtr
in ( _lhsOeh,_lhsOehTy,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_ContextItem_Implicits :: Range ->
T_ContextItem
sem_ContextItem_Implicits range_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.PrExpr)
_lhsOehTy :: (EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 164, column 9)
_pp =
pp "..."
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 278, column 9)
_eh =
undefined
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 292, column 9)
_ehTy =
rngLift range_ EH.TyExpr_Impls
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehTy =
_ehTy
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOehTy,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_ContextItem_NoImplicits :: Range ->
T_ContextItem
sem_ContextItem_NoImplicits range_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.PrExpr)
_lhsOehTy :: (EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 166, column 9)
_pp =
empty
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 278, column 9)
_eh =
undefined
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 294, column 9)
_ehTy =
rngLift range_ EH.TyExpr_NoImpls
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehTy =
_ehTy
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOehTy,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_ContextItem_RowLacksLabel :: Range ->
Name ->
Name ->
T_ContextItem
sem_ContextItem_RowLacksLabel range_ rowvariable_ name_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOfreeTvarS :: HsNameS
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.PrExpr)
_lhsOehTy :: (EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 168, column 9)
_pp =
name_ >|< "\\" >|< rowvariable_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 280, column 9)
_eh =
rngLift range_ EH.PrExpr_Lacks (rngLift range_ EH.RowTyExpr_Var rowvariable_) name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 290, column 9)
_ehTy =
rngLift range_ EH.TyExpr_Pred _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 141, column 9)
_lhsOfreeTvarS =
Set.singleton rowvariable_
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehTy =
_ehTy
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOehTy,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_ContextItem_Equal :: Range ->
T_Type ->
T_Type ->
T_ContextItem
sem_ContextItem_Equal range_ type1_ type2_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.PrExpr)
_lhsOehTy :: (EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_type1OdoGenVarWild :: Bool
_type1OfixityGam :: FixityGam
_type1OgUniq :: UID
_type1OidGam :: IdDefOccGam
_type1OisAsPred :: Bool
_type1OnmLev :: NmLev
_type1Oopts :: EHCOpts
_type1OpatchEhNmInInstance :: PatchEhNmInInstance
_type1OtopInstanceNmL :: ([HsName])
_type1Otr :: (TraceOn -> [PP_Doc] -> TrPP)
_type2OdoGenVarWild :: Bool
_type2OfixityGam :: FixityGam
_type2OgUniq :: UID
_type2OidGam :: IdDefOccGam
_type2OisAsPred :: Bool
_type2OnmLev :: NmLev
_type2Oopts :: EHCOpts
_type2OpatchEhNmInInstance :: PatchEhNmInInstance
_type2OtopInstanceNmL :: ([HsName])
_type2Otr :: (TraceOn -> [PP_Doc] -> TrPP)
_type1IconNm :: Name
_type1Ieh :: (EH.TyExpr)
_type1IehMbAsPr :: (Maybe EH.PrExpr)
_type1IehMbAsPrL :: ([Maybe EH.PrExpr])
_type1IehMbAsTyPr :: (Maybe EH.TyExpr)
_type1IehMbAsTyPrL :: ([Maybe EH.TyExpr])
_type1IerrSq :: ErrSq
_type1IfreeTvarS :: HsNameS
_type1IgUniq :: UID
_type1IidUseOccGam :: IdUseOccGam
_type1ImbRefConNm :: (Maybe Name)
_type1IopChain :: (OpChain EH.TyExpr)
_type1IoperatorName :: MaybeName
_type1Ipp :: PP_Doc
_type1IppWrap :: (PP_Doc -> PP_Doc)
_type1ItopInstanceNmL :: ([HsName])
_type1Itrpp :: TrPP
_type1ItyConIs :: TypeConFixedMeaning
_type1IundefOccGam :: IdUseOccGam
_type2IconNm :: Name
_type2Ieh :: (EH.TyExpr)
_type2IehMbAsPr :: (Maybe EH.PrExpr)
_type2IehMbAsPrL :: ([Maybe EH.PrExpr])
_type2IehMbAsTyPr :: (Maybe EH.TyExpr)
_type2IehMbAsTyPrL :: ([Maybe EH.TyExpr])
_type2IerrSq :: ErrSq
_type2IfreeTvarS :: HsNameS
_type2IgUniq :: UID
_type2IidUseOccGam :: IdUseOccGam
_type2ImbRefConNm :: (Maybe Name)
_type2IopChain :: (OpChain EH.TyExpr)
_type2IoperatorName :: MaybeName
_type2Ipp :: PP_Doc
_type2IppWrap :: (PP_Doc -> PP_Doc)
_type2ItopInstanceNmL :: ([HsName])
_type2Itrpp :: TrPP
_type2ItyConIs :: TypeConFixedMeaning
_type2IundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 174, column 9)
_pp =
_type1Ipp >#< hsnEqTilde >#< _type2Ipp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 286, column 9)
_eh =
rngLift range_ EH.PrExpr_Eq _type1Ieh _type2Ieh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 290, column 9)
_ehTy =
rngLift range_ EH.TyExpr_Pred _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 204, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 246, column 9)
_doGenVarWild =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_type1IerrSq `Seq.union` _type2IerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_type1IfreeTvarS `Set.union` _type2IfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_type1IidUseOccGam `gamAddGam` _type2IidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_type1IppWrap . _type2IppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_type1Itrpp >< _type2Itrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_type1IundefOccGam `gamUnion` _type2IundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehTy =
_ehTy
-- copy rule (up)
_lhsOgUniq =
_type2IgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_type2ItopInstanceNmL
-- copy rule (from local)
_type1OdoGenVarWild =
_doGenVarWild
-- copy rule (down)
_type1OfixityGam =
_lhsIfixityGam
-- copy rule (down)
_type1OgUniq =
_lhsIgUniq
-- copy rule (down)
_type1OidGam =
_lhsIidGam
-- copy rule (from local)
_type1OisAsPred =
_isAsPred
-- copy rule (down)
_type1OnmLev =
_lhsInmLev
-- copy rule (down)
_type1Oopts =
_lhsIopts
-- copy rule (down)
_type1OpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_type1OtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_type1Otr =
_lhsItr
-- copy rule (from local)
_type2OdoGenVarWild =
_doGenVarWild
-- copy rule (down)
_type2OfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_type2OgUniq =
_type1IgUniq
-- copy rule (down)
_type2OidGam =
_lhsIidGam
-- copy rule (from local)
_type2OisAsPred =
_isAsPred
-- copy rule (down)
_type2OnmLev =
_lhsInmLev
-- copy rule (down)
_type2Oopts =
_lhsIopts
-- copy rule (down)
_type2OpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_type2OtopInstanceNmL =
_type1ItopInstanceNmL
-- copy rule (down)
_type2Otr =
_lhsItr
( _type1IconNm,_type1Ieh,_type1IehMbAsPr,_type1IehMbAsPrL,_type1IehMbAsTyPr,_type1IehMbAsTyPrL,_type1IerrSq,_type1IfreeTvarS,_type1IgUniq,_type1IidUseOccGam,_type1ImbRefConNm,_type1IopChain,_type1IoperatorName,_type1Ipp,_type1IppWrap,_type1ItopInstanceNmL,_type1Itrpp,_type1ItyConIs,_type1IundefOccGam) =
type1_ _type1OdoGenVarWild _type1OfixityGam _type1OgUniq _type1OidGam _type1OisAsPred _type1OnmLev _type1Oopts _type1OpatchEhNmInInstance _type1OtopInstanceNmL _type1Otr
( _type2IconNm,_type2Ieh,_type2IehMbAsPr,_type2IehMbAsPrL,_type2IehMbAsTyPr,_type2IehMbAsTyPrL,_type2IerrSq,_type2IfreeTvarS,_type2IgUniq,_type2IidUseOccGam,_type2ImbRefConNm,_type2IopChain,_type2IoperatorName,_type2Ipp,_type2IppWrap,_type2ItopInstanceNmL,_type2Itrpp,_type2ItyConIs,_type2IundefOccGam) =
type2_ _type2OdoGenVarWild _type2OfixityGam _type2OgUniq _type2OidGam _type2OisAsPred _type2OnmLev _type2Oopts _type2OpatchEhNmInInstance _type2OtopInstanceNmL _type2Otr
in ( _lhsOeh,_lhsOehTy,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- ContextItems ------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.PrExpr]
ehTy : [EH.TyExpr]
errSq : ErrSq
freeTvarS : HsNameS
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : ContextItem
child tl : ContextItems
alternative Nil:
-}
-- cata
sem_ContextItems :: ContextItems ->
T_ContextItems
sem_ContextItems list =
(Prelude.foldr sem_ContextItems_Cons sem_ContextItems_Nil (Prelude.map sem_ContextItem list))
-- semantic domain
type T_ContextItems = FixityGam ->
UID ->
IdDefOccGam ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.PrExpr]),([EH.TyExpr]),ErrSq,HsNameS,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_ContextItems_Cons :: T_ContextItem ->
T_ContextItems ->
T_ContextItems
sem_ContextItems_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([EH.PrExpr])
_lhsOehTy :: ([EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIeh :: (EH.PrExpr)
_hdIehTy :: (EH.TyExpr)
_hdIerrSq :: ErrSq
_hdIfreeTvarS :: HsNameS
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.PrExpr])
_tlIehTy :: ([EH.TyExpr])
_tlIerrSq :: ErrSq
_tlIfreeTvarS :: HsNameS
_tlIgUniq :: UID
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 270, column 28)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 270, column 62)
_lhsOehTy =
_hdIehTy : _tlIehTy
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_hdIfreeTvarS `Set.union` _tlIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIeh,_hdIehTy,_hdIerrSq,_hdIfreeTvarS,_hdIgUniq,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOidGam _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIehTy,_tlIerrSq,_tlIfreeTvarS,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOehTy,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_ContextItems_Nil :: T_ContextItems
sem_ContextItems_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([EH.PrExpr])
_lhsOehTy :: ([EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 270, column 28)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 270, column 62)
_lhsOehTy =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOehTy,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- ContextedExpression -----------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : (EH.Expr,EH.PrExpr)
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Contexted:
child range : {Range}
child expression : Expression
child context : ContextItem
visit 0:
local pp : _
-}
-- cata
sem_ContextedExpression :: ContextedExpression ->
T_ContextedExpression
sem_ContextedExpression (ContextedExpression_Contexted _range _expression _context) =
(sem_ContextedExpression_Contexted _range (sem_Expression _expression) (sem_ContextItem _context))
-- semantic domain
type T_ContextedExpression = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ((EH.Expr,EH.PrExpr)),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_ContextedExpression_Contexted :: Range ->
T_Expression ->
T_ContextItem ->
T_ContextedExpression
sem_ContextedExpression_Contexted range_ expression_ context_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ((EH.Expr,EH.PrExpr))
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOidGam :: IdDefOccGam
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_contextOfixityGam :: FixityGam
_contextOgUniq :: UID
_contextOidGam :: IdDefOccGam
_contextOnmLev :: NmLev
_contextOopts :: EHCOpts
_contextOpatchEhNmInInstance :: PatchEhNmInInstance
_contextOtopInstanceNmL :: ([HsName])
_contextOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
_contextIeh :: (EH.PrExpr)
_contextIehTy :: (EH.TyExpr)
_contextIerrSq :: ErrSq
_contextIfreeTvarS :: HsNameS
_contextIgUniq :: UID
_contextIidUseOccGam :: IdUseOccGam
_contextIpp :: PP_Doc
_contextIppWrap :: (PP_Doc -> PP_Doc)
_contextItopInstanceNmL :: ([HsName])
_contextItrpp :: TrPP
_contextIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 259, column 9)
_pp =
_expressionIpp >#< "<:" >#< _contextIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 551, column 9)
_lhsOeh =
(_expressionIeh,_contextIeh)
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_expressionIerrSq `Seq.union` _contextIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_expressionIidUseOccGam `gamAddGam` _contextIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_expressionIppWrap . _contextIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_expressionItrpp >< _contextItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_expressionIundefOccGam `gamUnion` _contextIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_contextIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_contextItopInstanceNmL
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_expressionOgUniq =
_lhsIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOidGam =
_lhsIidGam
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_expressionOnmLev =
_lhsInmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (down)
_expressionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
-- copy rule (down)
_contextOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_contextOgUniq =
_expressionIgUniq
-- copy rule (down)
_contextOidGam =
_lhsIidGam
-- copy rule (down)
_contextOnmLev =
_lhsInmLev
-- copy rule (down)
_contextOopts =
_lhsIopts
-- copy rule (down)
_contextOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_contextOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_contextOtr =
_lhsItr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
( _contextIeh,_contextIehTy,_contextIerrSq,_contextIfreeTvarS,_contextIgUniq,_contextIidUseOccGam,_contextIpp,_contextIppWrap,_contextItopInstanceNmL,_contextItrpp,_contextIundefOccGam) =
context_ _contextOfixityGam _contextOgUniq _contextOidGam _contextOnmLev _contextOopts _contextOpatchEhNmInInstance _contextOtopInstanceNmL _contextOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- ContextedExpressions ----------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [(EH.Expr,EH.PrExpr)]
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppL : [PP_Doc]
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : ContextedExpression
child tl : ContextedExpressions
alternative Nil:
-}
-- cata
sem_ContextedExpressions :: ContextedExpressions ->
T_ContextedExpressions
sem_ContextedExpressions list =
(Prelude.foldr sem_ContextedExpressions_Cons sem_ContextedExpressions_Nil (Prelude.map sem_ContextedExpression list))
-- semantic domain
type T_ContextedExpressions = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([(EH.Expr,EH.PrExpr)]),ErrSq,UID,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_ContextedExpressions_Cons :: T_ContextedExpression ->
T_ContextedExpressions ->
T_ContextedExpressions
sem_ContextedExpressions_Cons hd_ tl_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([(EH.Expr,EH.PrExpr)])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOcaseId :: UID
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOpragmas :: (Set.Set Pragma.Pragma)
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOcaseId :: UID
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOpragmas :: (Set.Set Pragma.Pragma)
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIeh :: ((EH.Expr,EH.PrExpr))
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([(EH.Expr,EH.PrExpr)])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppL :: ([PP_Doc])
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 511, column 9)
_lhsOppL =
_hdIpp : _tlIppL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 545, column 36)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOcaseId =
_lhsIcaseId
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOpragmas =
_lhsIpragmas
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOcaseId =
_lhsIcaseId
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_tlOpragmas =
_lhsIpragmas
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOcaseId _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOcaseId _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_ContextedExpressions_Nil :: T_ContextedExpressions
sem_ContextedExpressions_Nil =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([(EH.Expr,EH.PrExpr)])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 513, column 9)
_lhsOppL =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 545, column 36)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- ContextedPattern --------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : (EH.PatExpr,EH.PrExpr)
errSq : ErrSq
freeTvarS : HsNameS
idDefOccGam : IdDefOccGam
idOccDefs : [IdOcc]
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Contexted:
child range : {Range}
child pattern : Pattern
child context : ContextItem
visit 0:
local pp : _
-}
-- cata
sem_ContextedPattern :: ContextedPattern ->
T_ContextedPattern
sem_ContextedPattern (ContextedPattern_Contexted _range _pattern _context) =
(sem_ContextedPattern_Contexted _range (sem_Pattern _pattern) (sem_ContextItem _context))
-- semantic domain
type T_ContextedPattern = FixityGam ->
UID ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ((EH.PatExpr,EH.PrExpr)),ErrSq,HsNameS,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_ContextedPattern_Contexted :: Range ->
T_Pattern ->
T_ContextItem ->
T_ContextedPattern
sem_ContextedPattern_Contexted range_ pattern_ context_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ((EH.PatExpr,EH.PrExpr))
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_patternOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_contextOfixityGam :: FixityGam
_contextOgUniq :: UID
_contextOidGam :: IdDefOccGam
_contextOnmLev :: NmLev
_contextOopts :: EHCOpts
_contextOpatchEhNmInInstance :: PatchEhNmInInstance
_contextOtopInstanceNmL :: ([HsName])
_contextOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternIeh :: (EH.PatExpr)
_patternIerrSq :: ErrSq
_patternIgUniq :: UID
_patternIidDefOccGam :: IdDefOccGam
_patternIidOccDefs :: ([IdOcc])
_patternIidUseOccGam :: IdUseOccGam
_patternIisVar :: Bool
_patternImbTopRefname :: (Maybe HsName)
_patternIpp :: PP_Doc
_patternIppWrap :: (PP_Doc -> PP_Doc)
_patternItopInstanceNmL :: ([HsName])
_patternItrpp :: TrPP
_patternIundefOccGam :: IdUseOccGam
_contextIeh :: (EH.PrExpr)
_contextIehTy :: (EH.TyExpr)
_contextIerrSq :: ErrSq
_contextIfreeTvarS :: HsNameS
_contextIgUniq :: UID
_contextIidUseOccGam :: IdUseOccGam
_contextIpp :: PP_Doc
_contextIppWrap :: (PP_Doc -> PP_Doc)
_contextItopInstanceNmL :: ([HsName])
_contextItrpp :: TrPP
_contextIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 372, column 9)
_pp =
_patternIpp >#< "<:" >#< _contextIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 853, column 9)
_lhsOeh =
(_patternIeh,_contextIeh)
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_patternIerrSq `Seq.union` _contextIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_contextIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_patternIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_patternIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_patternIidUseOccGam `gamAddGam` _contextIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_patternIppWrap . _contextIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_patternItrpp >< _contextItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_patternIundefOccGam `gamUnion` _contextIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_contextIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_contextItopInstanceNmL
-- copy rule (down)
_patternOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_patternOgUniq =
_lhsIgUniq
-- copy rule (down)
_patternOidGam =
_lhsIidGam
-- copy rule (down)
_patternOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_patternOnmLev =
_lhsInmLev
-- copy rule (down)
_patternOopts =
_lhsIopts
-- copy rule (down)
_patternOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_patternOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_patternOtr =
_lhsItr
-- copy rule (down)
_contextOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_contextOgUniq =
_patternIgUniq
-- copy rule (down)
_contextOidGam =
_lhsIidGam
-- copy rule (down)
_contextOnmLev =
_lhsInmLev
-- copy rule (down)
_contextOopts =
_lhsIopts
-- copy rule (down)
_contextOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_contextOtopInstanceNmL =
_patternItopInstanceNmL
-- copy rule (down)
_contextOtr =
_lhsItr
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternItrpp,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL _patternOtr
( _contextIeh,_contextIehTy,_contextIerrSq,_contextIfreeTvarS,_contextIgUniq,_contextIidUseOccGam,_contextIpp,_contextIppWrap,_contextItopInstanceNmL,_contextItrpp,_contextIundefOccGam) =
context_ _contextOfixityGam _contextOgUniq _contextOidGam _contextOnmLev _contextOopts _contextOpatchEhNmInInstance _contextOtopInstanceNmL _contextOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- ContextedPatterns -------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [(EH.PatExpr,EH.PrExpr)]
errSq : ErrSq
freeTvarS : HsNameS
idDefOccGam : IdDefOccGam
idOccDefs : [IdOcc]
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppL : [PP_Doc]
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : ContextedPattern
child tl : ContextedPatterns
alternative Nil:
-}
-- cata
sem_ContextedPatterns :: ContextedPatterns ->
T_ContextedPatterns
sem_ContextedPatterns list =
(Prelude.foldr sem_ContextedPatterns_Cons sem_ContextedPatterns_Nil (Prelude.map sem_ContextedPattern list))
-- semantic domain
type T_ContextedPatterns = FixityGam ->
UID ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([(EH.PatExpr,EH.PrExpr)]),ErrSq,HsNameS,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_ContextedPatterns_Cons :: T_ContextedPattern ->
T_ContextedPatterns ->
T_ContextedPatterns
sem_ContextedPatterns_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([(EH.PatExpr,EH.PrExpr)])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIeh :: ((EH.PatExpr,EH.PrExpr))
_hdIerrSq :: ErrSq
_hdIfreeTvarS :: HsNameS
_hdIgUniq :: UID
_hdIidDefOccGam :: IdDefOccGam
_hdIidOccDefs :: ([IdOcc])
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([(EH.PatExpr,EH.PrExpr)])
_tlIerrSq :: ErrSq
_tlIfreeTvarS :: HsNameS
_tlIgUniq :: UID
_tlIidDefOccGam :: IdDefOccGam
_tlIidOccDefs :: ([IdOcc])
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppL :: ([PP_Doc])
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 517, column 9)
_lhsOppL =
_hdIpp : _tlIppL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 847, column 33)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_hdIfreeTvarS `Set.union` _tlIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_hdIidDefOccGam `gamAddGam` _tlIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_hdIidOccDefs ++ _tlIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIeh,_hdIerrSq,_hdIfreeTvarS,_hdIgUniq,_hdIidDefOccGam,_hdIidOccDefs,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIerrSq,_tlIfreeTvarS,_tlIgUniq,_tlIidDefOccGam,_tlIidOccDefs,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_ContextedPatterns_Nil :: T_ContextedPatterns
sem_ContextedPatterns_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([(EH.PatExpr,EH.PrExpr)])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 519, column 9)
_lhsOppL =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 847, column 33)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Declaration -------------------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nameDeclCxt : NameDeclCxt
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.Decl]
errSq : ErrSq
gathFixityGam : FixityGam
gathPragmas : Set.Set Pragma.Pragma
idDefOccGam : IdDefOccGam
idDpdMp : IdDpdMp
idInClassTySigDefOccGam : IdDefOccGam
idInInstanceValDefOccGam : IdDefOccGam
idOccDefs : [IdOcc]
idUseOccGam : IdUseOccGam
needsError : Bool
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative FunctionBindings:
child range : {Range}
child bindings : FunctionBindings
visit 0:
local idInInstanceValDefOccGam : _
local idOccDefs : _
local isAsPred : _
local doGenVarWild : _
alternative PatternBinding:
child range : {Range}
child pattern : Pattern
child righthandside : RightHandSide
visit 0:
local trpp : _
local idDefOccGamPat : _
local idDefOccGam : _
local idInInstanceValDefOccGam : _
local idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idDpdMp : _
local idOccDef : _
local idOccDefsPat : _
local idOccDefs : _
local pp : _
local eh : _
local caseId : _
local isAsPred : _
local doGenVarWild : _
local lUniq : {UID}
alternative TypeSignature:
child range : {Range}
child names : {Names}
child type : Type
visit 0:
local idDefOccGam : _
local idDefOccGamType : _
local idInClassTySigDefOccGam : _
local idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idDpdMp : _
local patchEhNmInInstance : _
local refnames : _
local idOccDefs : _
local nmLev : _
local pp : _
local mkEHSig : _
local isAsPred : _
local doGenVarWild : _
alternative Fixity:
child range : {Range}
child fixity : {Fixity}
child priority : {Maybe Int}
child operators : {Names}
visit 0:
local idDefOccGam : _
local patchEhNmInInstance : _
local oprefnames : _
local pp : _
local isAsPred : _
local doGenVarWild : _
alternative FusionDeclaration:
child range : {Range}
child fusename : {Name}
visit 0:
local idDefOccGam : _
local reffusename : _
local idUseOccGamFusion : _
local errIdUse : _
local idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idDpdMp : _
local patchEhNmInInstance : _
local idOccDef : _
local idOccDefs : _
local errSq : _
local pp : _
local eh : _
local isAsPred : _
local doGenVarWild : _
local lUniq : {UID}
alternative FusionConversion:
child range : {Range}
child absname : {Name}
child conname : {Name}
visit 0:
local idDefOccGam : _
local refnames : _
local idUseOccGamFusion : _
local errIdUse : _
local idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idDpdMp : _
local patchEhNmInInstance : _
local idOccDef : _
local idOccDefs : _
local errSq : _
local pp : _
local eh : _
local isAsPred : _
local doGenVarWild : _
local lUniq : {UID}
alternative Empty:
child range : {Range}
visit 0:
local patchEhNmInInstance : _
local pp : _
local isAsPred : _
local doGenVarWild : _
alternative Data:
child range : {Range}
child context : ContextItems
child typelefthandside : TypeLeftHandSide
child constructors : Constructors
child derivings : Derivings
visit 0:
local trpp : _
local idDefOccGamType : _
local idDefOccGamType2 : _
local idDefOccGamConstrs : _
local idDefOccGamGener : _
local idDefOccGam : _
local idDefOccGamInside : _
local idGam : _
local idUseOccGamVal : _
local errIdUseVal : _
local idUseOccGamClass : _
local errIdUseClass : _
local idUseOccGamGener : _
local errIdUseGener : _
local idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idUseOccGenerGam : _
local idUseHereGenerOccL : _
local undefGenerOccGam : _
local idDpdMp : _
local patchEhNmInInstance : _
local typerefname : _
local idOccDef : _
local idOccDefsCon : _
local idOccDefsFld : _
local generMaxRemArity : _
local idOccDefsGener : _
local generArities : _
local idOccDefs : _
local nmLev : _
local errDupIntro : _
local locErrs : _
local errSq : _
local pp : _
local eh : _
local mkEhGener : _
local isAsPred : _
local doGenVarWild : _
alternative Newtype:
child range : {Range}
child context : ContextItems
child typelefthandside : TypeLeftHandSide
child constructors : Constructor
child derivings : Derivings
visit 0:
local idDefOccGamType : _
local idDefOccGamType2 : _
local idDefOccGamConstrs : _
local idDefOccGamGener : _
local idDefOccGam : _
local idDefOccGamInside : _
local idGam : _
local idUseOccGamVal : _
local errIdUseVal : _
local idUseOccGamClass : _
local errIdUseClass : _
local idUseOccGamGener : _
local errIdUseGener : _
local idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idUseOccGenerGam : _
local idUseHereGenerOccL : _
local undefGenerOccGam : _
local idDpdMp : _
local patchEhNmInInstance : _
local typerefname : _
local idOccDef : _
local idOccDefsCon : _
local idOccDefsFld : _
local generMaxRemArity : _
local idOccDefsGener : _
local generArities : _
local idOccDefs : _
local nmLev : _
local errNewtype : _
local errDupIntro : _
local locErrs : _
local errSq : _
local pp : _
local eh : _
local mkEhGener : _
local isAsPred : _
local doGenVarWild : _
alternative GADT:
child range : {Range}
child context : ContextItems
child typelefthandside : TypeLeftHandSide
child constructors : Constructors
child derivings : Derivings
visit 0:
local idDefOccGamType : _
local idDefOccGamType2 : _
local idDefOccGamConstrs : _
local idDefOccGamGener : _
local idDefOccGam : _
local idDefOccGamInside : _
local idGam : _
local idUseOccGamVal : _
local errIdUseVal : _
local idUseOccGamClass : _
local errIdUseClass : _
local idUseOccGamGener : _
local errIdUseGener : _
local idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idUseOccGenerGam : _
local idUseHereGenerOccL : _
local undefGenerOccGam : _
local idDpdMp : _
local patchEhNmInInstance : _
local typerefname : _
local idOccDef : _
local idOccDefsCon : _
local idOccDefsFld : _
local generMaxRemArity : _
local idOccDefsGener : _
local generArities : _
local idOccDefs : _
local nmLev : _
local errDupIntro : _
local locErrs : _
local errSq : _
local pp : _
local eh : _
local mkEhGener : _
local isAsPred : _
local doGenVarWild : _
alternative KindSignature:
child range : {Range}
child names : {Names}
child kind : Kind
visit 0:
local idDefOccGam : _
local idDefOccGamKind : _
local idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idDpdMp : _
local patchEhNmInInstance : _
local refnames : _
local idOccDefs : _
local nmLev : _
local pp : _
local mkEHSig : _
local isAsPred : _
local doGenVarWild : _
alternative ForeignImport:
child range : {Range}
child callconvention : {FFIWay}
child safety : {Maybe String}
child importname : {Maybe String}
child name : {Name}
child type : Type
visit 0:
local idDefOccGamType : _
local idDefOccGam : _
local idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idDpdMp : _
local patchEhNmInInstance : _
local refname : _
local idOccDef : _
local idOccDefs : _
local errFFIWay : _
local errSq : _
local pp : _
local eh : _
local isAsPred : _
local doGenVarWild : _
local nmForParse : _
local ent : _
local entErrs : _
alternative ForeignExport:
child range : {Range}
child callconvention : {FFIWay}
child exportname : {Maybe String}
child name : {Name}
child type : Type
visit 0:
local idDefOccGamType : _
local idDefOccGam : _
local refname : _
local idUseOccGamExport : _
local errIdUse : _
local idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idDpdMp : _
local patchEhNmInInstance : _
local exportrefname : _
local idOccDef : _
local idOccDefs : _
local errFFIWay : _
local errSq : _
local pp : _
local nmForParse : _
local ent : _
local entErrs : _
local eh : _
local isAsPred : _
local doGenVarWild : _
alternative Class:
child range : {Range}
child context : ContextItems
child typelefthandside : TypeLeftHandSide
child dependencies : FunctionalDependencies
child where : MaybeDeclarations
visit 0:
local trpp : _
local nameDeclCxt : _
local generderivnames : _
local idDefOccGamType : _
local idDefOccGamSigAsVar : _
local idDefOccGam : _
local idDefOccGamInside : _
local idGam : _
local idDefOccGamInstForClass : _
local generderivrefnames : _
local idUseOccGamGenerDeriv : _
local errIdUseGenerDeriv : _
local idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idDpdMp : _
local ehReorderedDecls : _
local errReorder : _
local patchEhNmInInstance : _
local instancerefname : _
local classrefname : _
local idOccDef : _
local idOccDefVal : _
local idOccDefsSig : _
local idOccDefs : _
local instancename : _
local nmLev : _
local errDupIntro : _
local errSq : _
local pp : _
local eh : _
local ehInst : _
local isAsPred : _
local doGenVarWild : _
local mbPrevInstancename : _
local lUniq : {UID}
alternative Instance:
child range : {Range}
child instVariant : {InstVariant}
child maybeinstancename : {MaybeName}
child useimplicitly : {Bool}
child context : ContextItems
child type : Type
child where : MaybeDeclarations
visit 0:
local trpp : _
local nameDeclCxt : _
local generRequiresReprTypes : _
local idDefOccGamType : _
local idDefOccGamValAsVar : _
local idDefOccGam : _
local idGam : _
local classrefname : _
local idUseOccGamInst : _
local errIdUse : _
local idUseOccGamGenerRepr : _
local idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idUseHereGenerReprOccL : _
local idDpdMp : _
local ehReorderedDecls : _
local errReorder : _
local instancerefname : _
local idOccDef : _
local idOccDefVal : _
local idOccDefs : _
local instancename : _
local nmLev : _
local errSq : _
local pp : _
local eh : _
local isAsPred : _
local doGenVarWild : _
local mbPrevInstancename : _
local lUniq : {UID}
alternative InstanceUseImplicitly:
child range : {Range}
child expression : Expression
child type : Type
visit 0:
local trpp : _
local idDefOccGam : _
local classrefname : _
local idUseOccGamInst : _
local errIdUse : _
local idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idDpdMp : _
local patchEhNmInInstance : _
local instancerefname : _
local idOccDef : _
local idOccDefVal : _
local idOccDefs : _
local instancename : _
local nmLev : _
local errSq : _
local pp : _
local eh : _
local isAsPred : _
local doGenVarWild : _
local mbPrevInstancename : _
local lUniq : {UID}
alternative Default:
child range : {Range}
child name : {MaybeName}
child types : Types
visit 0:
local idDefOccGam : _
local classrefname : _
local classrefnames : _
local idUseOccGamDflt : _
local errIdUse : _
local idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idDpdMp : _
local patchEhNmInInstance : _
local idOccDef : _
local idOccDefs : _
local defaultname : _
local nmLev : _
local errSq : _
local pp : _
local ignoredecl : _
local eh : _
local isAsPred : _
local doGenVarWild : _
local lUniq : {UID}
alternative Type:
child range : {Range}
child typelefthandside : TypeLeftHandSide
child type : Type
visit 0:
local idDefOccGamType : _
local idDefOccGam : _
local idDefOccGamInside : _
local idGam : _
local idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idDpdMp : _
local patchEhNmInInstance : _
local typerefname : _
local idOccDef : _
local idOccDefs : _
local nmLev : _
local errDupIntro : _
local errSq : _
local pp : _
local eh : _
local isAsPred : _
local doGenVarWild : _
alternative Pragma:
child range : {Range}
child pragma : Pragma
visit 0:
local patchEhNmInInstance : _
local pp : _
local eh : _
local isAsPred : _
local doGenVarWild : _
alternative Module:
child range : {Range}
child name : {MaybeName}
child exports : MaybeExports
visit 0:
local patchEhNmInInstance : _
local eh : _
local isAsPred : _
local doGenVarWild : _
local isMainMod : _
local isTopMod : _
-}
-- cata
sem_Declaration :: Declaration ->
T_Declaration
sem_Declaration (Declaration_FunctionBindings _range _bindings) =
(sem_Declaration_FunctionBindings _range (sem_FunctionBindings _bindings))
sem_Declaration (Declaration_PatternBinding _range _pattern _righthandside) =
(sem_Declaration_PatternBinding _range (sem_Pattern _pattern) (sem_RightHandSide _righthandside))
sem_Declaration (Declaration_TypeSignature _range _names _type) =
(sem_Declaration_TypeSignature _range _names (sem_Type _type))
sem_Declaration (Declaration_Fixity _range _fixity _priority _operators) =
(sem_Declaration_Fixity _range _fixity _priority _operators)
sem_Declaration (Declaration_FusionDeclaration _range _fusename) =
(sem_Declaration_FusionDeclaration _range _fusename)
sem_Declaration (Declaration_FusionConversion _range _absname _conname) =
(sem_Declaration_FusionConversion _range _absname _conname)
sem_Declaration (Declaration_Empty _range) =
(sem_Declaration_Empty _range)
sem_Declaration (Declaration_Data _range _context _typelefthandside _constructors _derivings) =
(sem_Declaration_Data _range (sem_ContextItems _context) (sem_TypeLeftHandSide _typelefthandside) (sem_Constructors _constructors) (sem_Derivings _derivings))
sem_Declaration (Declaration_Newtype _range _context _typelefthandside _constructors _derivings) =
(sem_Declaration_Newtype _range (sem_ContextItems _context) (sem_TypeLeftHandSide _typelefthandside) (sem_Constructor _constructors) (sem_Derivings _derivings))
sem_Declaration (Declaration_GADT _range _context _typelefthandside _constructors _derivings) =
(sem_Declaration_GADT _range (sem_ContextItems _context) (sem_TypeLeftHandSide _typelefthandside) (sem_Constructors _constructors) (sem_Derivings _derivings))
sem_Declaration (Declaration_KindSignature _range _names _kind) =
(sem_Declaration_KindSignature _range _names (sem_Kind _kind))
sem_Declaration (Declaration_ForeignImport _range _callconvention _safety _importname _name _type) =
(sem_Declaration_ForeignImport _range _callconvention _safety _importname _name (sem_Type _type))
sem_Declaration (Declaration_ForeignExport _range _callconvention _exportname _name _type) =
(sem_Declaration_ForeignExport _range _callconvention _exportname _name (sem_Type _type))
sem_Declaration (Declaration_Class _range _context _typelefthandside _dependencies _where) =
(sem_Declaration_Class _range (sem_ContextItems _context) (sem_TypeLeftHandSide _typelefthandside) (sem_FunctionalDependencies _dependencies) (sem_MaybeDeclarations _where))
sem_Declaration (Declaration_Instance _range _instVariant _maybeinstancename _useimplicitly _context _type _where) =
(sem_Declaration_Instance _range _instVariant _maybeinstancename _useimplicitly (sem_ContextItems _context) (sem_Type _type) (sem_MaybeDeclarations _where))
sem_Declaration (Declaration_InstanceUseImplicitly _range _expression _type) =
(sem_Declaration_InstanceUseImplicitly _range (sem_Expression _expression) (sem_Type _type))
sem_Declaration (Declaration_Default _range _name _types) =
(sem_Declaration_Default _range _name (sem_Types _types))
sem_Declaration (Declaration_Type _range _typelefthandside _type) =
(sem_Declaration_Type _range (sem_TypeLeftHandSide _typelefthandside) (sem_Type _type))
sem_Declaration (Declaration_Pragma _range _pragma) =
(sem_Declaration_Pragma _range (sem_Pragma _pragma))
sem_Declaration (Declaration_Module _range _name _exports) =
(sem_Declaration_Module _range _name (sem_MaybeExports _exports))
-- semantic domain
type T_Declaration = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NameDeclCxt ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.Decl]),ErrSq,UID,FixityGam,(Set.Set Pragma.Pragma),IdDefOccGam,IdDpdMp,IdDefOccGam,IdDefOccGam,([IdOcc]),IdUseOccGam,Bool,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Declaration_FunctionBindings :: Range ->
T_FunctionBindings ->
T_Declaration
sem_Declaration_FunctionBindings range_ bindings_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_bindingsOcaseId :: UID
_bindingsOfixityGam :: FixityGam
_bindingsOgUniq :: UID
_bindingsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_bindingsOidGam :: IdDefOccGam
_bindingsOmoduleNm :: HsName
_bindingsOnameDeclCxt :: NameDeclCxt
_bindingsOnmLev :: NmLev
_bindingsOopts :: EHCOpts
_bindingsOpatchEhNmInInstance :: PatchEhNmInInstance
_bindingsOpragmas :: (Set.Set Pragma.Pragma)
_bindingsOtopInstanceNmL :: ([HsName])
_bindingsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_bindingsIeh :: ([EH.Decl])
_bindingsIerrSq :: ErrSq
_bindingsIgUniq :: UID
_bindingsIidDefOccGam :: IdDefOccGam
_bindingsIidDpdMp :: IdDpdMp
_bindingsIidOccDefs :: ([IdOcc])
_bindingsIidUseOccGam :: IdUseOccGam
_bindingsIpp :: PP_Doc
_bindingsIppWrap :: (PP_Doc -> PP_Doc)
_bindingsItopInstanceNmL :: ([HsName])
_bindingsItrpp :: TrPP
_bindingsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 347, column 9)
_idInInstanceValDefOccGam =
mkDefOccGam' _lhsInmLev range_ (\o -> IdAsp_Val_Var) _idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 111, column 9)
_idOccDefs =
_bindingsIidOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 76, column 9)
_lhsOeh =
_bindingsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 195, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 233, column 9)
_doGenVarWild =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_bindingsIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_bindingsIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_bindingsIidDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
_idInInstanceValDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_bindingsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_bindingsIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_bindingsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_bindingsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_bindingsIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_bindingsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_bindingsItopInstanceNmL
-- copy rule (down)
_bindingsOcaseId =
_lhsIcaseId
-- copy rule (down)
_bindingsOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_bindingsOgUniq =
_lhsIgUniq
-- copy rule (down)
_bindingsOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_bindingsOidGam =
_lhsIidGam
-- copy rule (down)
_bindingsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_bindingsOnameDeclCxt =
_lhsInameDeclCxt
-- copy rule (down)
_bindingsOnmLev =
_lhsInmLev
-- copy rule (down)
_bindingsOopts =
_lhsIopts
-- copy rule (down)
_bindingsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_bindingsOpragmas =
_lhsIpragmas
-- copy rule (down)
_bindingsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_bindingsOtr =
_lhsItr
( _bindingsIeh,_bindingsIerrSq,_bindingsIgUniq,_bindingsIidDefOccGam,_bindingsIidDpdMp,_bindingsIidOccDefs,_bindingsIidUseOccGam,_bindingsIpp,_bindingsIppWrap,_bindingsItopInstanceNmL,_bindingsItrpp,_bindingsIundefOccGam) =
bindings_ _bindingsOcaseId _bindingsOfixityGam _bindingsOgUniq _bindingsOgenerDerivMp _bindingsOidGam _bindingsOmoduleNm _bindingsOnameDeclCxt _bindingsOnmLev _bindingsOopts _bindingsOpatchEhNmInInstance _bindingsOpragmas _bindingsOtopInstanceNmL _bindingsOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Declaration_PatternBinding :: Range ->
T_Pattern ->
T_RightHandSide ->
T_Declaration
sem_Declaration_PatternBinding range_ pattern_ righthandside_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOundefOccGam :: IdUseOccGam
_righthandsideOpatchEhNmInInstance :: PatchEhNmInInstance
_righthandsideOsepPP :: PP_Doc
_lhsOeh :: ([EH.Decl])
_righthandsideOmustBeMono :: Bool
_patternOgUniq :: UID
_lUniq :: UID
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_patternOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_righthandsideOcaseId :: UID
_righthandsideOfixityGam :: FixityGam
_righthandsideOgUniq :: UID
_righthandsideOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_righthandsideOidGam :: IdDefOccGam
_righthandsideOmoduleNm :: HsName
_righthandsideOnmLev :: NmLev
_righthandsideOopts :: EHCOpts
_righthandsideOpragmas :: (Set.Set Pragma.Pragma)
_righthandsideOtopInstanceNmL :: ([HsName])
_righthandsideOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternIeh :: (EH.PatExpr)
_patternIerrSq :: ErrSq
_patternIgUniq :: UID
_patternIidDefOccGam :: IdDefOccGam
_patternIidOccDefs :: ([IdOcc])
_patternIidUseOccGam :: IdUseOccGam
_patternIisVar :: Bool
_patternImbTopRefname :: (Maybe HsName)
_patternIpp :: PP_Doc
_patternIppWrap :: (PP_Doc -> PP_Doc)
_patternItopInstanceNmL :: ([HsName])
_patternItrpp :: TrPP
_patternIundefOccGam :: IdUseOccGam
_righthandsideIeh :: (EH.Expr)
_righthandsideIerrSq :: ErrSq
_righthandsideIgUniq :: UID
_righthandsideIidUseOccGam :: IdUseOccGam
_righthandsideIpp :: PP_Doc
_righthandsideIppWrap :: (PP_Doc -> PP_Doc)
_righthandsideItopInstanceNmL :: ([HsName])
_righthandsideItrpp :: TrPP
_righthandsideIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 24, column 9)
_trpp =
(_lhsItr TraceOn_HsOcc $ [_idOccDef >#< " = PatternBinding"] ++ [ "idUseHereOccL=" >#< ppBracketsCommas _idUseHereOccL ])
>< _patternItrpp >< _righthandsideItrpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 193, column 9)
_idDefOccGamPat =
mkDefOccGam _lhsInmLev range_ (IdAsp_Val_Pat _eh) _idOccDefsPat
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 193, column 9)
_idDefOccGam =
_idDefOccGamPat `gamAddGam` _patternIidDefOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 347, column 9)
_idInInstanceValDefOccGam =
mkDefOccGam' _lhsInmLev range_ (\o -> IdAsp_Val_Var) _idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 860, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam' (_lhsInameDeclCxt == NameDeclCxt_Instance) _lhsInmLev
(gamUnions [_patternIidUseOccGam,_righthandsideIidUseOccGam])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 860, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
`idDpdMpUnion`
idToOccL2DpdMp [_idOccDef] (gamToAssocL _patternIidDefOccGam)
`idDpdMpUnion`
idFrOccGam2DpdMp _patternIidDefOccGam [_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 868, column 9)
_lhsOundefOccGam =
gamUnions [_undefOccGam,_righthandsideIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1260, column 9)
_righthandsideOpatchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 113, column 9)
_idOccDef =
IdOcc (maybe (mkHNm _lUniq) id _patternImbTopRefname) IdOcc_Pat
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 113, column 9)
_idOccDefsPat =
[_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 113, column 9)
_idOccDefs =
_patternIidOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 29, column 9)
_pp =
_patternIpp >#< _righthandsideIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 30, column 9)
_righthandsideOsepPP =
pp "="
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 78, column 9)
_eh =
rngLift range_ EH.Decl_Val _patternIeh _righthandsideIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 79, column 9)
_lhsOeh =
[_eh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 878, column 9)
_caseId =
_lUniq
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 195, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 233, column 9)
_doGenVarWild =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 281, column 9)
_righthandsideOmustBeMono =
not _patternIisVar
-- -- generated by the unique rule mechanism.
(_patternOgUniq,_lUniq) =
let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_patternIerrSq `Seq.union` _righthandsideIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
_idInInstanceValDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_patternIppWrap . _righthandsideIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_trpp
-- copy rule (up)
_lhsOgUniq =
_righthandsideIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_righthandsideItopInstanceNmL
-- copy rule (down)
_patternOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_patternOidGam =
_lhsIidGam
-- copy rule (down)
_patternOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_patternOnmLev =
_lhsInmLev
-- copy rule (down)
_patternOopts =
_lhsIopts
-- copy rule (down)
_patternOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_patternOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_patternOtr =
_lhsItr
-- copy rule (from local)
_righthandsideOcaseId =
_caseId
-- copy rule (down)
_righthandsideOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_righthandsideOgUniq =
_patternIgUniq
-- copy rule (down)
_righthandsideOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_righthandsideOidGam =
_lhsIidGam
-- copy rule (down)
_righthandsideOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_righthandsideOnmLev =
_lhsInmLev
-- copy rule (down)
_righthandsideOopts =
_lhsIopts
-- copy rule (down)
_righthandsideOpragmas =
_lhsIpragmas
-- copy rule (chain)
_righthandsideOtopInstanceNmL =
_patternItopInstanceNmL
-- copy rule (down)
_righthandsideOtr =
_lhsItr
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternItrpp,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL _patternOtr
( _righthandsideIeh,_righthandsideIerrSq,_righthandsideIgUniq,_righthandsideIidUseOccGam,_righthandsideIpp,_righthandsideIppWrap,_righthandsideItopInstanceNmL,_righthandsideItrpp,_righthandsideIundefOccGam) =
righthandside_ _righthandsideOcaseId _righthandsideOfixityGam _righthandsideOgUniq _righthandsideOgenerDerivMp _righthandsideOidGam _righthandsideOmoduleNm _righthandsideOmustBeMono _righthandsideOnmLev _righthandsideOopts _righthandsideOpatchEhNmInInstance _righthandsideOpragmas _righthandsideOsepPP _righthandsideOtopInstanceNmL _righthandsideOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Declaration_TypeSignature :: Range ->
Names ->
T_Type ->
T_Declaration
sem_Declaration_TypeSignature range_ names_ type_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _typeOidGam :: IdDefOccGam
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 187, column 9)
_idDefOccGam =
mkDefOccGam' _lhsInmLev range_ (\o -> IdAsp_Val_Sig (_mkEHSig (ioccNm o))) _idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 187, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _nmLev range_ _typeIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 344, column 9)
_idInClassTySigDefOccGam =
mkDefOccGam' _lhsInmLev range_ (\o -> IdAsp_Val_Var) _idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 439, column 9)
_typeOidGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 854, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam' (_lhsInameDeclCxt == NameDeclCxt_Class) _lhsInmLev
_typeIidUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 854, column 9)
_idDpdMp =
idToOccL2DpdMp (gamKeys _idDefOccGam) _idUseHereOccL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 858, column 9)
_lhsOundefOccGam =
gamUnions [_undefOccGam,_typeIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1263, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 14, column 9)
_refnames =
map (hsnSetLevQual _lhsInmLev _lhsImoduleNm) names_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 9)
_idOccDefs =
[ IdOcc n IdOcc_Val | n <- _refnames ]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 17, column 9)
_nmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 33, column 9)
_pp =
ppCommas' names_ >#< "::" >#< _typeIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 81, column 9)
_mkEHSig =
\n -> rngLift range_ EH.Decl_TySig n _typeIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 82, column 9)
_lhsOeh =
map _mkEHSig _refnames
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 195, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 233, column 9)
_doGenVarWild =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_typeIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
_idInClassTySigDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_typeIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_typeItrpp
-- copy rule (up)
_lhsOgUniq =
_typeIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_typeItopInstanceNmL
-- copy rule (from local)
_typeOdoGenVarWild =
_doGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_typeOgUniq =
_lhsIgUniq
-- copy rule (from local)
_typeOisAsPred =
_isAsPred
-- copy rule (from local)
_typeOnmLev =
_nmLev
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (from local)
_typeOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_typeOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Declaration_Fixity :: Range ->
Fixity ->
(Maybe Int) ->
Names ->
T_Declaration
sem_Declaration_Fixity range_ fixity_ priority_ operators_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOgathFixityGam :: FixityGam
_lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 191, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev range_ IdAsp_Val_Fix [ IdOcc n IdOcc_Val | n <- _oprefnames ]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1263, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 12, column 9)
_oprefnames =
map (hsnSetLevQual _lhsInmLev _lhsImoduleNm) operators_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 35, column 9)
_pp =
fixity_ >#< maybe empty pp priority_ >#< ppCommas' operators_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 16, column 9)
_lhsOgathFixityGam =
let p = maybe (fgiPrio defaultFixityGamInfo) id priority_
mk n = (n,FixityGamInfo p fixity_)
in assocLToGam $ map mk $ _oprefnames
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 84, column 9)
_lhsOeh =
[]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 195, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 233, column 9)
_doGenVarWild =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Declaration_FusionDeclaration :: Range ->
Name ->
T_Declaration
sem_Declaration_FusionDeclaration range_ fusename_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: ([EH.Decl])
_lhsOgUniq :: UID
_lUniq :: UID
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 266, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev range_ (IdAsp_Val_Fusion _eh) _idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 779, column 29)
(_reffusename,_,_idUseOccGamFusion,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [fusename_] IdOcc_Val IdAsp_Val_Var range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1003, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev _idUseOccGamFusion
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1003, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1006, column 9)
_lhsOundefOccGam =
_undefOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1263, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 161, column 9)
_idOccDef =
IdOcc (mkHNm _lUniq) IdOcc_Fusion
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 161, column 9)
_idOccDefs =
[_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 160, column 17)
_errSq =
Seq.fromList _errIdUse
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 71, column 9)
_pp =
"fuse" >#< fusename_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 99, column 9)
_eh =
rngLift range_ EH.Decl_FusionDecl _reffusename
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 103, column 9)
_lhsOeh =
[_eh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 195, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 233, column 9)
_doGenVarWild =
False
-- -- generated by the unique rule mechanism.
(_lhsOgUniq,_lUniq) =
let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Declaration_FusionConversion :: Range ->
Name ->
Name ->
T_Declaration
sem_Declaration_FusionConversion range_ absname_ conname_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: ([EH.Decl])
_lhsOgUniq :: UID
_lUniq :: UID
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 268, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev range_ (IdAsp_Fusion_Conv _eh) _idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 782, column 29)
(_,_refnames,_idUseOccGamFusion,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [conname_,absname_] IdOcc_Val IdAsp_Val_Var range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1003, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev _idUseOccGamFusion
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1003, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1006, column 9)
_lhsOundefOccGam =
_undefOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1263, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 161, column 9)
_idOccDef =
IdOcc (mkHNm _lUniq) IdOcc_Fusion
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 161, column 9)
_idOccDefs =
[_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 160, column 17)
_errSq =
Seq.fromList _errIdUse
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 73, column 9)
_pp =
"convert" >#< ppCommas [conname_, absname_]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 101, column 9)
_eh =
rngLift range_ EH.Decl_FusionConv (_refnames !! 0) (_refnames !! 1)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 103, column 9)
_lhsOeh =
[_eh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 195, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 233, column 9)
_doGenVarWild =
False
-- -- generated by the unique rule mechanism.
(_lhsOgUniq,_lUniq) =
let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Declaration_Empty :: Range ->
T_Declaration
sem_Declaration_Empty range_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1263, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 37, column 9)
_pp =
empty
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 86, column 9)
_lhsOeh =
[]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 195, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 233, column 9)
_doGenVarWild =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Declaration_Data :: Range ->
T_ContextItems ->
T_TypeLeftHandSide ->
T_Constructors ->
T_Derivings ->
T_Declaration
sem_Declaration_Data range_ context_ typelefthandside_ constructors_ derivings_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOneedsError :: Bool
_lhsOundefOccGam :: IdUseOccGam
_lhsOidUseOccGam :: IdUseOccGam
_derivingsOidOccDefsData :: ([IdOcc])
_lhsOeh :: ([EH.Decl])
_derivingsOehDataTyExpr :: (EH.TyExpr)
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_contextOfixityGam :: FixityGam
_contextOgUniq :: UID
_contextOidGam :: IdDefOccGam
_contextOnmLev :: NmLev
_contextOopts :: EHCOpts
_contextOpatchEhNmInInstance :: PatchEhNmInInstance
_contextOtopInstanceNmL :: ([HsName])
_contextOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typelefthandsideOfixityGam :: FixityGam
_typelefthandsideOgUniq :: UID
_typelefthandsideOidGam :: IdDefOccGam
_typelefthandsideOmoduleNm :: HsName
_typelefthandsideOnmLev :: NmLev
_typelefthandsideOopts :: EHCOpts
_typelefthandsideOpatchEhNmInInstance :: PatchEhNmInInstance
_typelefthandsideOtopInstanceNmL :: ([HsName])
_typelefthandsideOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_constructorsOfixityGam :: FixityGam
_constructorsOgUniq :: UID
_constructorsOidGam :: IdDefOccGam
_constructorsOmoduleNm :: HsName
_constructorsOnmLev :: NmLev
_constructorsOopts :: EHCOpts
_constructorsOpatchEhNmInInstance :: PatchEhNmInInstance
_constructorsOtopInstanceNmL :: ([HsName])
_constructorsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_derivingsOfixityGam :: FixityGam
_derivingsOgUniq :: UID
_derivingsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_derivingsOidGam :: IdDefOccGam
_derivingsOmoduleNm :: HsName
_derivingsOnameDeclCxt :: NameDeclCxt
_derivingsOnmLev :: NmLev
_derivingsOopts :: EHCOpts
_derivingsOpatchEhNmInInstance :: PatchEhNmInInstance
_derivingsOpragmas :: (Set.Set Pragma.Pragma)
_derivingsOtopInstanceNmL :: ([HsName])
_derivingsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_contextIeh :: ([EH.PrExpr])
_contextIehTy :: ([EH.TyExpr])
_contextIerrSq :: ErrSq
_contextIfreeTvarS :: HsNameS
_contextIgUniq :: UID
_contextIidUseOccGam :: IdUseOccGam
_contextIpp :: PP_Doc
_contextIppWrap :: (PP_Doc -> PP_Doc)
_contextItopInstanceNmL :: ([HsName])
_contextItrpp :: TrPP
_contextIundefOccGam :: IdUseOccGam
_typelefthandsideIeh :: ([EH.TyVar])
_typelefthandsideIerrSq :: ErrSq
_typelefthandsideIfreeTvarS :: HsNameS
_typelefthandsideIgUniq :: UID
_typelefthandsideIidDefOccGam :: IdDefOccGam
_typelefthandsideIidOccDefs :: ([IdOcc])
_typelefthandsideIidUseOccGam :: IdUseOccGam
_typelefthandsideIname :: Name
_typelefthandsideIpp :: PP_Doc
_typelefthandsideIppWrap :: (PP_Doc -> PP_Doc)
_typelefthandsideIrange :: Range
_typelefthandsideItopInstanceNmL :: ([HsName])
_typelefthandsideItrpp :: TrPP
_typelefthandsideItypevariables :: Names
_typelefthandsideIundefOccGam :: IdUseOccGam
_constructorsIconAndFldrefnames :: (AssocL Name Names)
_constructorsIconrefnames :: Names
_constructorsIeh :: ([EH.DataConstr])
_constructorsIerrSq :: ErrSq
_constructorsIfreeTvarS :: HsNameS
_constructorsIgUniq :: UID
_constructorsIhasFlds :: Bool
_constructorsIidUseOccGam :: IdUseOccGam
_constructorsIpp :: PP_Doc
_constructorsIppWrap :: (PP_Doc -> PP_Doc)
_constructorsItopInstanceNmL :: ([HsName])
_constructorsItrpp :: TrPP
_constructorsIundefOccGam :: IdUseOccGam
_derivingsIerrSq :: ErrSq
_derivingsIgUniq :: UID
_derivingsIgathFixityGam :: FixityGam
_derivingsIgathPragmas :: (Set.Set Pragma.Pragma)
_derivingsIhasGenericDeriving :: Bool
_derivingsIidDefOccGam :: IdDefOccGam
_derivingsIidDpdMp :: IdDpdMp
_derivingsIidInClassTySigDefOccGam :: IdDefOccGam
_derivingsIidInInstanceValDefOccGam :: IdDefOccGam
_derivingsIidOccDefs :: ([IdOcc])
_derivingsIidUseOccGam :: IdUseOccGam
_derivingsIneedsError :: Bool
_derivingsIpp :: PP_Doc
_derivingsIppL :: ([PP_Doc])
_derivingsIppWrap :: (PP_Doc -> PP_Doc)
_derivingsItopInstanceNmL :: ([HsName])
_derivingsItrpp :: TrPP
_derivingsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 43, column 9)
_trpp =
trppEmpty
>< (_lhsItr TraceOn_HsOcc $ [_idOccDef >#< "= Data"] ++ [ "idOccDefs=" >#< ppBracketsCommas _idOccDefs, "idOccDefsGener=" >#< ppBracketsCommas _idOccDefsGener ])
>< _contextItrpp
>< _typelefthandsideItrpp >< _constructorsItrpp
>< _derivingsItrpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 198, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _nmLev _typelefthandsideIrange _constructorsIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 198, column 9)
_idDefOccGamType2 =
tvarL2IdDefOccGam _nmLev _typelefthandsideIrange _typelefthandsideItypevariables
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 198, column 9)
_idDefOccGamConstrs =
mkDefOccGam _lhsInmLev _typelefthandsideIrange IdAsp_Val_Con _idOccDefsCon
`gamAddGam`
mkDefOccGam'' _lhsInmLev _typelefthandsideIrange (\c _ -> IdAsp_Val_Fld _typerefname c)
(concat [ [(c,IdOcc n IdOcc_Val), (c,IdOcc n IdOcc_Fld)] | (c,ns) <- _constructorsIconAndFldrefnames, n <- ns ]
)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 198, column 9)
_idDefOccGamGener =
gamUnions $ zipWith (\arity def -> mkDefOccGam _lhsInmLev _typelefthandsideIrange (IdAsp_Type_Def $ _mkEhGener arity) [def]) _generArities _idOccDefsGener
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 198, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev _typelefthandsideIrange (IdAsp_Type_Def _eh) [_idOccDef]
`gamAddGam` _idDefOccGamConstrs
`gamAddGam` _derivingsIidDefOccGam
`gamAddGam` _idDefOccGamGener
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 256, column 9)
_idDefOccGamInside =
tvarL2IdDefOccGam _nmLev _typelefthandsideIrange _typelefthandsideItypevariables
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 443, column 9)
_idGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 750, column 29)
(_,_,_idUseOccGamVal,_errIdUseVal) =
mkUseOccGam _lhsIopts _lhsIidGam [] IdOcc_Val IdAsp_Val_Var range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 763, column 29)
(_,_,_idUseOccGamClass,_errIdUseClass) =
mkUseOccGam _lhsIopts _lhsIidGam
(if (ehcOptGenGenerics _lhsIopts || _derivingsIhasGenericDeriving) && not (ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts)
then assocLKeys builtinGenerClassNmL
else [])
IdOcc_Class IdAsp_Class_Class range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 769, column 29)
(_,_,_idUseOccGamGener,_errIdUseGener) =
mkUseOccGamDfltAsp _lhsIopts _lhsIidGam
(if (ehcOptGenGenerics _lhsIopts || _derivingsIhasGenericDeriving) && ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts
then builtinGenerClassNmL ++ builtinGenerTypeNmL ++ concat [builtinGenerClassArityNmL a ++ builtinGenerTypeArityNmL a | a <- [0 .. _generMaxRemArity]]
else [])
range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 803, column 9)
_lhsOneedsError =
_constructorsIhasFlds
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 871, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev
(gamUnions
[ _constructorsIidUseOccGam
, _idUseOccGamVal
, _contextIidUseOccGam
, if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts then emptyGam else _idUseOccGamClass
, _typelefthandsideIidUseOccGam, _constructorsIidUseOccGam
]
)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 882, column 29)
(_idUseOccGenerGam,_idUseHereGenerOccL,_,_undefGenerOccGam) =
splitIdUseOccGam _lhsInmLev _idUseOccGamGener
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 871, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
`idDpdMpUnion`
idFrOccGam2DpdMp _idDefOccGamConstrs [_idOccDef]
`idDpdMpUnion`
_derivingsIidDpdMp
`idDpdMpUnion`
(if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts then emptyIdDpdMp else idFrOccGam2DpdMp _idDefOccGamGener [_idOccDef])
`idDpdMpUnion`
(if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts
then idToOccL2DpdMp _idOccDefsGener _idUseHereGenerOccL
`idDpdMpUnion`
idFrOccGam2DpdMp _idDefOccGamGener [_idOccDef]
else emptyIdDpdMp
)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 900, column 9)
_lhsOundefOccGam =
gamUnions
[ _undefOccGam
, _undefGenerOccGam
, _derivingsIundefOccGam
, _contextIundefOccGam
, _typelefthandsideIundefOccGam, _constructorsIundefOccGam
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 900, column 9)
_lhsOidUseOccGam =
gamUnions
[ _idUseOccGam
, _idUseOccGenerGam
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1050, column 9)
_derivingsOidOccDefsData =
(if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts then _idOccDefsGener else [])
++ [_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1263, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 18, column 9)
_typerefname =
hsnSetLevQual _lhsInmLev _lhsImoduleNm _typelefthandsideIname
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 119, column 9)
_idOccDef =
IdOcc _typerefname IdOcc_Type
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 119, column 9)
_idOccDefsCon =
[ IdOcc n IdOcc_Val | n <- _constructorsIconrefnames ]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 119, column 9)
_idOccDefsFld =
concat [ [IdOcc n IdOcc_Val, IdOcc n IdOcc_Fld] | (_,ns) <- _constructorsIconAndFldrefnames, n <- ns ]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 119, column 9)
_generMaxRemArity =
length _typelefthandsideItypevariables `min` 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 124, column 29)
(_idOccDefsGener,_generArities) =
if ehcOptGenGenerics _lhsIopts || _derivingsIhasGenericDeriving
then let arities = [0 .. _generMaxRemArity]
in ([IdOcc (hsnNm2GenerReprSyn a _typerefname) IdOcc_Type | a <- arities], arities)
else ([], [])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 119, column 9)
_idOccDefs =
[_idOccDef]
++ _idOccDefsCon
++ _idOccDefsFld
++ _idOccDefsGener
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 20, column 9)
_nmLev =
_lhsInmLev
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 117, column 9)
_errDupIntro =
idDefOccGamCheckDupNames _idDefOccGamType2
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 72, column 9)
_locErrs =
Seq.empty
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 77, column 9)
_errSq =
Seq.unions [ _locErrs
, _typelefthandsideIerrSq
, Seq.fromList _errDupIntro
, Seq.fromList _errIdUseVal
, _constructorsIerrSq
, _contextIerrSq
, _derivingsIerrSq
, Seq.fromList _errIdUseGener
, Seq.fromList _errIdUseClass
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 39, column 9)
_pp =
"data" >#< _typelefthandsideIpp
>#< "=" >#< _constructorsIpp
>-< ppParensCommas _derivingsIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 89, column 9)
_eh =
rngLift range_ EH.Decl_Data False _typerefname (map (rngLift range_ EH.TyVar_Var) _typelefthandsideItypevariables) _constructorsIeh
(if ehcOptGenGenerics _lhsIopts || _derivingsIhasGenericDeriving then Just _generMaxRemArity else Nothing)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 91, column 9)
_lhsOeh =
[_eh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 97, column 9)
_mkEhGener =
\arity -> rngLift range_ EH.Decl_GenerRep _generMaxRemArity arity _typerefname _constructorsIconrefnames _constructorsIconAndFldrefnames
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 165, column 9)
_derivingsOehDataTyExpr =
appTopApp (rngLift range_ EH.TyExpr_Con _typerefname : map (rngLift range_ EH.TyExpr_Var) _typelefthandsideItypevariables)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 195, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 233, column 9)
_doGenVarWild =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_derivingsIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
_derivingsIgathPragmas
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
_derivingsIidInClassTySigDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
_derivingsIidInInstanceValDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_contextIppWrap . _typelefthandsideIppWrap . _constructorsIppWrap . _derivingsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_trpp
-- copy rule (up)
_lhsOgUniq =
_derivingsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_derivingsItopInstanceNmL
-- copy rule (down)
_contextOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_contextOgUniq =
_lhsIgUniq
-- copy rule (from local)
_contextOidGam =
_idGam
-- copy rule (from local)
_contextOnmLev =
_nmLev
-- copy rule (down)
_contextOopts =
_lhsIopts
-- copy rule (from local)
_contextOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_contextOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_contextOtr =
_lhsItr
-- copy rule (down)
_typelefthandsideOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_typelefthandsideOgUniq =
_contextIgUniq
-- copy rule (from local)
_typelefthandsideOidGam =
_idGam
-- copy rule (down)
_typelefthandsideOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_typelefthandsideOnmLev =
_nmLev
-- copy rule (down)
_typelefthandsideOopts =
_lhsIopts
-- copy rule (from local)
_typelefthandsideOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (chain)
_typelefthandsideOtopInstanceNmL =
_contextItopInstanceNmL
-- copy rule (down)
_typelefthandsideOtr =
_lhsItr
-- copy rule (down)
_constructorsOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_constructorsOgUniq =
_typelefthandsideIgUniq
-- copy rule (from local)
_constructorsOidGam =
_idGam
-- copy rule (down)
_constructorsOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_constructorsOnmLev =
_nmLev
-- copy rule (down)
_constructorsOopts =
_lhsIopts
-- copy rule (from local)
_constructorsOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (chain)
_constructorsOtopInstanceNmL =
_typelefthandsideItopInstanceNmL
-- copy rule (down)
_constructorsOtr =
_lhsItr
-- copy rule (down)
_derivingsOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_derivingsOgUniq =
_constructorsIgUniq
-- copy rule (down)
_derivingsOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (from local)
_derivingsOidGam =
_idGam
-- copy rule (down)
_derivingsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_derivingsOnameDeclCxt =
_lhsInameDeclCxt
-- copy rule (from local)
_derivingsOnmLev =
_nmLev
-- copy rule (down)
_derivingsOopts =
_lhsIopts
-- copy rule (from local)
_derivingsOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_derivingsOpragmas =
_lhsIpragmas
-- copy rule (chain)
_derivingsOtopInstanceNmL =
_constructorsItopInstanceNmL
-- copy rule (down)
_derivingsOtr =
_lhsItr
( _contextIeh,_contextIehTy,_contextIerrSq,_contextIfreeTvarS,_contextIgUniq,_contextIidUseOccGam,_contextIpp,_contextIppWrap,_contextItopInstanceNmL,_contextItrpp,_contextIundefOccGam) =
context_ _contextOfixityGam _contextOgUniq _contextOidGam _contextOnmLev _contextOopts _contextOpatchEhNmInInstance _contextOtopInstanceNmL _contextOtr
( _typelefthandsideIeh,_typelefthandsideIerrSq,_typelefthandsideIfreeTvarS,_typelefthandsideIgUniq,_typelefthandsideIidDefOccGam,_typelefthandsideIidOccDefs,_typelefthandsideIidUseOccGam,_typelefthandsideIname,_typelefthandsideIpp,_typelefthandsideIppWrap,_typelefthandsideIrange,_typelefthandsideItopInstanceNmL,_typelefthandsideItrpp,_typelefthandsideItypevariables,_typelefthandsideIundefOccGam) =
typelefthandside_ _typelefthandsideOfixityGam _typelefthandsideOgUniq _typelefthandsideOidGam _typelefthandsideOmoduleNm _typelefthandsideOnmLev _typelefthandsideOopts _typelefthandsideOpatchEhNmInInstance _typelefthandsideOtopInstanceNmL _typelefthandsideOtr
( _constructorsIconAndFldrefnames,_constructorsIconrefnames,_constructorsIeh,_constructorsIerrSq,_constructorsIfreeTvarS,_constructorsIgUniq,_constructorsIhasFlds,_constructorsIidUseOccGam,_constructorsIpp,_constructorsIppWrap,_constructorsItopInstanceNmL,_constructorsItrpp,_constructorsIundefOccGam) =
constructors_ _constructorsOfixityGam _constructorsOgUniq _constructorsOidGam _constructorsOmoduleNm _constructorsOnmLev _constructorsOopts _constructorsOpatchEhNmInInstance _constructorsOtopInstanceNmL _constructorsOtr
( _derivingsIerrSq,_derivingsIgUniq,_derivingsIgathFixityGam,_derivingsIgathPragmas,_derivingsIhasGenericDeriving,_derivingsIidDefOccGam,_derivingsIidDpdMp,_derivingsIidInClassTySigDefOccGam,_derivingsIidInInstanceValDefOccGam,_derivingsIidOccDefs,_derivingsIidUseOccGam,_derivingsIneedsError,_derivingsIpp,_derivingsIppL,_derivingsIppWrap,_derivingsItopInstanceNmL,_derivingsItrpp,_derivingsIundefOccGam) =
derivings_ _derivingsOehDataTyExpr _derivingsOfixityGam _derivingsOgUniq _derivingsOgenerDerivMp _derivingsOidGam _derivingsOidOccDefsData _derivingsOmoduleNm _derivingsOnameDeclCxt _derivingsOnmLev _derivingsOopts _derivingsOpatchEhNmInInstance _derivingsOpragmas _derivingsOtopInstanceNmL _derivingsOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Declaration_Newtype :: Range ->
T_ContextItems ->
T_TypeLeftHandSide ->
T_Constructor ->
T_Derivings ->
T_Declaration
sem_Declaration_Newtype range_ context_ typelefthandside_ constructors_ derivings_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOundefOccGam :: IdUseOccGam
_lhsOidUseOccGam :: IdUseOccGam
_derivingsOidOccDefsData :: ([IdOcc])
_lhsOeh :: ([EH.Decl])
_derivingsOehDataTyExpr :: (EH.TyExpr)
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_contextOfixityGam :: FixityGam
_contextOgUniq :: UID
_contextOidGam :: IdDefOccGam
_contextOnmLev :: NmLev
_contextOopts :: EHCOpts
_contextOpatchEhNmInInstance :: PatchEhNmInInstance
_contextOtopInstanceNmL :: ([HsName])
_contextOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typelefthandsideOfixityGam :: FixityGam
_typelefthandsideOgUniq :: UID
_typelefthandsideOidGam :: IdDefOccGam
_typelefthandsideOmoduleNm :: HsName
_typelefthandsideOnmLev :: NmLev
_typelefthandsideOopts :: EHCOpts
_typelefthandsideOpatchEhNmInInstance :: PatchEhNmInInstance
_typelefthandsideOtopInstanceNmL :: ([HsName])
_typelefthandsideOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_constructorsOfixityGam :: FixityGam
_constructorsOgUniq :: UID
_constructorsOidGam :: IdDefOccGam
_constructorsOmoduleNm :: HsName
_constructorsOnmLev :: NmLev
_constructorsOopts :: EHCOpts
_constructorsOpatchEhNmInInstance :: PatchEhNmInInstance
_constructorsOtopInstanceNmL :: ([HsName])
_constructorsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_derivingsOfixityGam :: FixityGam
_derivingsOgUniq :: UID
_derivingsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_derivingsOidGam :: IdDefOccGam
_derivingsOmoduleNm :: HsName
_derivingsOnameDeclCxt :: NameDeclCxt
_derivingsOnmLev :: NmLev
_derivingsOopts :: EHCOpts
_derivingsOpatchEhNmInInstance :: PatchEhNmInInstance
_derivingsOpragmas :: (Set.Set Pragma.Pragma)
_derivingsOtopInstanceNmL :: ([HsName])
_derivingsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_contextIeh :: ([EH.PrExpr])
_contextIehTy :: ([EH.TyExpr])
_contextIerrSq :: ErrSq
_contextIfreeTvarS :: HsNameS
_contextIgUniq :: UID
_contextIidUseOccGam :: IdUseOccGam
_contextIpp :: PP_Doc
_contextIppWrap :: (PP_Doc -> PP_Doc)
_contextItopInstanceNmL :: ([HsName])
_contextItrpp :: TrPP
_contextIundefOccGam :: IdUseOccGam
_typelefthandsideIeh :: ([EH.TyVar])
_typelefthandsideIerrSq :: ErrSq
_typelefthandsideIfreeTvarS :: HsNameS
_typelefthandsideIgUniq :: UID
_typelefthandsideIidDefOccGam :: IdDefOccGam
_typelefthandsideIidOccDefs :: ([IdOcc])
_typelefthandsideIidUseOccGam :: IdUseOccGam
_typelefthandsideIname :: Name
_typelefthandsideIpp :: PP_Doc
_typelefthandsideIppWrap :: (PP_Doc -> PP_Doc)
_typelefthandsideIrange :: Range
_typelefthandsideItopInstanceNmL :: ([HsName])
_typelefthandsideItrpp :: TrPP
_typelefthandsideItypevariables :: Names
_typelefthandsideIundefOccGam :: IdUseOccGam
_constructorsIconAndFldrefnames :: (AssocL Name Names)
_constructorsIconrefnames :: Names
_constructorsIeh :: (EH.DataConstr)
_constructorsIerrSq :: ErrSq
_constructorsIfreeTvarS :: HsNameS
_constructorsIgUniq :: UID
_constructorsIhasFlds :: Bool
_constructorsIidUseOccGam :: IdUseOccGam
_constructorsIpp :: PP_Doc
_constructorsIppWrap :: (PP_Doc -> PP_Doc)
_constructorsItopInstanceNmL :: ([HsName])
_constructorsItrpp :: TrPP
_constructorsIundefOccGam :: IdUseOccGam
_derivingsIerrSq :: ErrSq
_derivingsIgUniq :: UID
_derivingsIgathFixityGam :: FixityGam
_derivingsIgathPragmas :: (Set.Set Pragma.Pragma)
_derivingsIhasGenericDeriving :: Bool
_derivingsIidDefOccGam :: IdDefOccGam
_derivingsIidDpdMp :: IdDpdMp
_derivingsIidInClassTySigDefOccGam :: IdDefOccGam
_derivingsIidInInstanceValDefOccGam :: IdDefOccGam
_derivingsIidOccDefs :: ([IdOcc])
_derivingsIidUseOccGam :: IdUseOccGam
_derivingsIneedsError :: Bool
_derivingsIpp :: PP_Doc
_derivingsIppL :: ([PP_Doc])
_derivingsIppWrap :: (PP_Doc -> PP_Doc)
_derivingsItopInstanceNmL :: ([HsName])
_derivingsItrpp :: TrPP
_derivingsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 198, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _nmLev _typelefthandsideIrange _constructorsIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 198, column 9)
_idDefOccGamType2 =
tvarL2IdDefOccGam _nmLev _typelefthandsideIrange _typelefthandsideItypevariables
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 198, column 9)
_idDefOccGamConstrs =
mkDefOccGam _lhsInmLev _typelefthandsideIrange IdAsp_Val_Con _idOccDefsCon
`gamAddGam`
mkDefOccGam'' _lhsInmLev _typelefthandsideIrange (\c _ -> IdAsp_Val_Fld _typerefname c)
(concat [ [(c,IdOcc n IdOcc_Val), (c,IdOcc n IdOcc_Fld)] | (c,ns) <- _constructorsIconAndFldrefnames, n <- ns ]
)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 198, column 9)
_idDefOccGamGener =
gamUnions $ zipWith (\arity def -> mkDefOccGam _lhsInmLev _typelefthandsideIrange (IdAsp_Type_Def $ _mkEhGener arity) [def]) _generArities _idOccDefsGener
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 198, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev _typelefthandsideIrange (IdAsp_Type_Def _eh) [_idOccDef]
`gamAddGam` _idDefOccGamConstrs
`gamAddGam` _derivingsIidDefOccGam
`gamAddGam` _idDefOccGamGener
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 256, column 9)
_idDefOccGamInside =
tvarL2IdDefOccGam _nmLev _typelefthandsideIrange _typelefthandsideItypevariables
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 443, column 9)
_idGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 753, column 29)
(_,_,_idUseOccGamVal,_errIdUseVal) =
mkUseOccGam _lhsIopts _lhsIidGam [hsnPrelId] IdOcc_Val IdAsp_Val_Var range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 763, column 29)
(_,_,_idUseOccGamClass,_errIdUseClass) =
mkUseOccGam _lhsIopts _lhsIidGam
(if (ehcOptGenGenerics _lhsIopts || _derivingsIhasGenericDeriving) && not (ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts)
then assocLKeys builtinGenerClassNmL
else [])
IdOcc_Class IdAsp_Class_Class range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 769, column 29)
(_,_,_idUseOccGamGener,_errIdUseGener) =
mkUseOccGamDfltAsp _lhsIopts _lhsIidGam
(if (ehcOptGenGenerics _lhsIopts || _derivingsIhasGenericDeriving) && ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts
then builtinGenerClassNmL ++ builtinGenerTypeNmL ++ concat [builtinGenerClassArityNmL a ++ builtinGenerTypeArityNmL a | a <- [0 .. _generMaxRemArity]]
else [])
range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 871, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev
(gamUnions
[ _constructorsIidUseOccGam
, _idUseOccGamVal
, _contextIidUseOccGam
, if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts then emptyGam else _idUseOccGamClass
, _typelefthandsideIidUseOccGam, _constructorsIidUseOccGam
]
)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 882, column 29)
(_idUseOccGenerGam,_idUseHereGenerOccL,_,_undefGenerOccGam) =
splitIdUseOccGam _lhsInmLev _idUseOccGamGener
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 871, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
`idDpdMpUnion`
idFrOccGam2DpdMp _idDefOccGamConstrs [_idOccDef]
`idDpdMpUnion`
_derivingsIidDpdMp
`idDpdMpUnion`
(if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts then emptyIdDpdMp else idFrOccGam2DpdMp _idDefOccGamGener [_idOccDef])
`idDpdMpUnion`
(if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts
then idToOccL2DpdMp _idOccDefsGener _idUseHereGenerOccL
`idDpdMpUnion`
idFrOccGam2DpdMp _idDefOccGamGener [_idOccDef]
else emptyIdDpdMp
)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 900, column 9)
_lhsOundefOccGam =
gamUnions
[ _undefOccGam
, _undefGenerOccGam
, _derivingsIundefOccGam
, _contextIundefOccGam
, _typelefthandsideIundefOccGam, _constructorsIundefOccGam
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 900, column 9)
_lhsOidUseOccGam =
gamUnions
[ _idUseOccGam
, _idUseOccGenerGam
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1050, column 9)
_derivingsOidOccDefsData =
(if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts then _idOccDefsGener else [])
++ [_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1263, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 18, column 9)
_typerefname =
hsnSetLevQual _lhsInmLev _lhsImoduleNm _typelefthandsideIname
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 119, column 9)
_idOccDef =
IdOcc _typerefname IdOcc_Type
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 119, column 9)
_idOccDefsCon =
[ IdOcc n IdOcc_Val | n <- _constructorsIconrefnames ]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 119, column 9)
_idOccDefsFld =
concat [ [IdOcc n IdOcc_Val, IdOcc n IdOcc_Fld] | (_,ns) <- _constructorsIconAndFldrefnames, n <- ns ]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 119, column 9)
_generMaxRemArity =
length _typelefthandsideItypevariables `min` 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 124, column 29)
(_idOccDefsGener,_generArities) =
if ehcOptGenGenerics _lhsIopts || _derivingsIhasGenericDeriving
then let arities = [0 .. _generMaxRemArity]
in ([IdOcc (hsnNm2GenerReprSyn a _typerefname) IdOcc_Type | a <- arities], arities)
else ([], [])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 119, column 9)
_idOccDefs =
[_idOccDef]
++ _idOccDefsCon
++ _idOccDefsFld
++ _idOccDefsGener
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 20, column 9)
_nmLev =
_lhsInmLev
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 30, column 9)
_errNewtype =
case _constructorsIeh of
EH.DataConstr_Constr _
_
_
[_]
_
-> []
_ -> [rngLift range_ Err_Newtype _typelefthandsideIname]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 117, column 9)
_errDupIntro =
idDefOccGamCheckDupNames _idDefOccGamType2
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 74, column 9)
_locErrs =
Seq.fromList _errNewtype
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 77, column 9)
_errSq =
Seq.unions [ _locErrs
, _typelefthandsideIerrSq
, Seq.fromList _errDupIntro
, Seq.fromList _errIdUseVal
, _constructorsIerrSq
, _contextIerrSq
, _derivingsIerrSq
, Seq.fromList _errIdUseGener
, Seq.fromList _errIdUseClass
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 43, column 9)
_pp =
"newtype" >#< _typelefthandsideIpp
>#< "=" >#< _constructorsIpp
>-< ppParensCommas _derivingsIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 93, column 9)
_eh =
rngLift range_ EH.Decl_Data True _typerefname (map (rngLift range_ EH.TyVar_Var) _typelefthandsideItypevariables) [_constructorsIeh]
(if ehcOptGenGenerics _lhsIopts || _derivingsIhasGenericDeriving then Just _generMaxRemArity else Nothing)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 95, column 9)
_lhsOeh =
[_eh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 97, column 9)
_mkEhGener =
\arity -> rngLift range_ EH.Decl_GenerRep _generMaxRemArity arity _typerefname _constructorsIconrefnames _constructorsIconAndFldrefnames
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 165, column 9)
_derivingsOehDataTyExpr =
appTopApp (rngLift range_ EH.TyExpr_Con _typerefname : map (rngLift range_ EH.TyExpr_Var) _typelefthandsideItypevariables)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 195, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 233, column 9)
_doGenVarWild =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_derivingsIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
_derivingsIgathPragmas
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
_derivingsIidInClassTySigDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
_derivingsIidInInstanceValDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
_derivingsIneedsError
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_contextIppWrap . _typelefthandsideIppWrap . _constructorsIppWrap . _derivingsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_contextItrpp >< _typelefthandsideItrpp >< _constructorsItrpp >< _derivingsItrpp
-- copy rule (up)
_lhsOgUniq =
_derivingsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_derivingsItopInstanceNmL
-- copy rule (down)
_contextOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_contextOgUniq =
_lhsIgUniq
-- copy rule (from local)
_contextOidGam =
_idGam
-- copy rule (from local)
_contextOnmLev =
_nmLev
-- copy rule (down)
_contextOopts =
_lhsIopts
-- copy rule (from local)
_contextOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_contextOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_contextOtr =
_lhsItr
-- copy rule (down)
_typelefthandsideOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_typelefthandsideOgUniq =
_contextIgUniq
-- copy rule (from local)
_typelefthandsideOidGam =
_idGam
-- copy rule (down)
_typelefthandsideOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_typelefthandsideOnmLev =
_nmLev
-- copy rule (down)
_typelefthandsideOopts =
_lhsIopts
-- copy rule (from local)
_typelefthandsideOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (chain)
_typelefthandsideOtopInstanceNmL =
_contextItopInstanceNmL
-- copy rule (down)
_typelefthandsideOtr =
_lhsItr
-- copy rule (down)
_constructorsOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_constructorsOgUniq =
_typelefthandsideIgUniq
-- copy rule (from local)
_constructorsOidGam =
_idGam
-- copy rule (down)
_constructorsOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_constructorsOnmLev =
_nmLev
-- copy rule (down)
_constructorsOopts =
_lhsIopts
-- copy rule (from local)
_constructorsOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (chain)
_constructorsOtopInstanceNmL =
_typelefthandsideItopInstanceNmL
-- copy rule (down)
_constructorsOtr =
_lhsItr
-- copy rule (down)
_derivingsOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_derivingsOgUniq =
_constructorsIgUniq
-- copy rule (down)
_derivingsOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (from local)
_derivingsOidGam =
_idGam
-- copy rule (down)
_derivingsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_derivingsOnameDeclCxt =
_lhsInameDeclCxt
-- copy rule (from local)
_derivingsOnmLev =
_nmLev
-- copy rule (down)
_derivingsOopts =
_lhsIopts
-- copy rule (from local)
_derivingsOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_derivingsOpragmas =
_lhsIpragmas
-- copy rule (chain)
_derivingsOtopInstanceNmL =
_constructorsItopInstanceNmL
-- copy rule (down)
_derivingsOtr =
_lhsItr
( _contextIeh,_contextIehTy,_contextIerrSq,_contextIfreeTvarS,_contextIgUniq,_contextIidUseOccGam,_contextIpp,_contextIppWrap,_contextItopInstanceNmL,_contextItrpp,_contextIundefOccGam) =
context_ _contextOfixityGam _contextOgUniq _contextOidGam _contextOnmLev _contextOopts _contextOpatchEhNmInInstance _contextOtopInstanceNmL _contextOtr
( _typelefthandsideIeh,_typelefthandsideIerrSq,_typelefthandsideIfreeTvarS,_typelefthandsideIgUniq,_typelefthandsideIidDefOccGam,_typelefthandsideIidOccDefs,_typelefthandsideIidUseOccGam,_typelefthandsideIname,_typelefthandsideIpp,_typelefthandsideIppWrap,_typelefthandsideIrange,_typelefthandsideItopInstanceNmL,_typelefthandsideItrpp,_typelefthandsideItypevariables,_typelefthandsideIundefOccGam) =
typelefthandside_ _typelefthandsideOfixityGam _typelefthandsideOgUniq _typelefthandsideOidGam _typelefthandsideOmoduleNm _typelefthandsideOnmLev _typelefthandsideOopts _typelefthandsideOpatchEhNmInInstance _typelefthandsideOtopInstanceNmL _typelefthandsideOtr
( _constructorsIconAndFldrefnames,_constructorsIconrefnames,_constructorsIeh,_constructorsIerrSq,_constructorsIfreeTvarS,_constructorsIgUniq,_constructorsIhasFlds,_constructorsIidUseOccGam,_constructorsIpp,_constructorsIppWrap,_constructorsItopInstanceNmL,_constructorsItrpp,_constructorsIundefOccGam) =
constructors_ _constructorsOfixityGam _constructorsOgUniq _constructorsOidGam _constructorsOmoduleNm _constructorsOnmLev _constructorsOopts _constructorsOpatchEhNmInInstance _constructorsOtopInstanceNmL _constructorsOtr
( _derivingsIerrSq,_derivingsIgUniq,_derivingsIgathFixityGam,_derivingsIgathPragmas,_derivingsIhasGenericDeriving,_derivingsIidDefOccGam,_derivingsIidDpdMp,_derivingsIidInClassTySigDefOccGam,_derivingsIidInInstanceValDefOccGam,_derivingsIidOccDefs,_derivingsIidUseOccGam,_derivingsIneedsError,_derivingsIpp,_derivingsIppL,_derivingsIppWrap,_derivingsItopInstanceNmL,_derivingsItrpp,_derivingsIundefOccGam) =
derivings_ _derivingsOehDataTyExpr _derivingsOfixityGam _derivingsOgUniq _derivingsOgenerDerivMp _derivingsOidGam _derivingsOidOccDefsData _derivingsOmoduleNm _derivingsOnameDeclCxt _derivingsOnmLev _derivingsOopts _derivingsOpatchEhNmInInstance _derivingsOpragmas _derivingsOtopInstanceNmL _derivingsOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Declaration_GADT :: Range ->
T_ContextItems ->
T_TypeLeftHandSide ->
T_Constructors ->
T_Derivings ->
T_Declaration
sem_Declaration_GADT range_ context_ typelefthandside_ constructors_ derivings_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOundefOccGam :: IdUseOccGam
_lhsOidUseOccGam :: IdUseOccGam
_derivingsOidOccDefsData :: ([IdOcc])
_lhsOeh :: ([EH.Decl])
_derivingsOehDataTyExpr :: (EH.TyExpr)
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_contextOfixityGam :: FixityGam
_contextOgUniq :: UID
_contextOidGam :: IdDefOccGam
_contextOnmLev :: NmLev
_contextOopts :: EHCOpts
_contextOpatchEhNmInInstance :: PatchEhNmInInstance
_contextOtopInstanceNmL :: ([HsName])
_contextOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typelefthandsideOfixityGam :: FixityGam
_typelefthandsideOgUniq :: UID
_typelefthandsideOidGam :: IdDefOccGam
_typelefthandsideOmoduleNm :: HsName
_typelefthandsideOnmLev :: NmLev
_typelefthandsideOopts :: EHCOpts
_typelefthandsideOpatchEhNmInInstance :: PatchEhNmInInstance
_typelefthandsideOtopInstanceNmL :: ([HsName])
_typelefthandsideOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_constructorsOfixityGam :: FixityGam
_constructorsOgUniq :: UID
_constructorsOidGam :: IdDefOccGam
_constructorsOmoduleNm :: HsName
_constructorsOnmLev :: NmLev
_constructorsOopts :: EHCOpts
_constructorsOpatchEhNmInInstance :: PatchEhNmInInstance
_constructorsOtopInstanceNmL :: ([HsName])
_constructorsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_derivingsOfixityGam :: FixityGam
_derivingsOgUniq :: UID
_derivingsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_derivingsOidGam :: IdDefOccGam
_derivingsOmoduleNm :: HsName
_derivingsOnameDeclCxt :: NameDeclCxt
_derivingsOnmLev :: NmLev
_derivingsOopts :: EHCOpts
_derivingsOpatchEhNmInInstance :: PatchEhNmInInstance
_derivingsOpragmas :: (Set.Set Pragma.Pragma)
_derivingsOtopInstanceNmL :: ([HsName])
_derivingsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_contextIeh :: ([EH.PrExpr])
_contextIehTy :: ([EH.TyExpr])
_contextIerrSq :: ErrSq
_contextIfreeTvarS :: HsNameS
_contextIgUniq :: UID
_contextIidUseOccGam :: IdUseOccGam
_contextIpp :: PP_Doc
_contextIppWrap :: (PP_Doc -> PP_Doc)
_contextItopInstanceNmL :: ([HsName])
_contextItrpp :: TrPP
_contextIundefOccGam :: IdUseOccGam
_typelefthandsideIeh :: ([EH.TyVar])
_typelefthandsideIerrSq :: ErrSq
_typelefthandsideIfreeTvarS :: HsNameS
_typelefthandsideIgUniq :: UID
_typelefthandsideIidDefOccGam :: IdDefOccGam
_typelefthandsideIidOccDefs :: ([IdOcc])
_typelefthandsideIidUseOccGam :: IdUseOccGam
_typelefthandsideIname :: Name
_typelefthandsideIpp :: PP_Doc
_typelefthandsideIppWrap :: (PP_Doc -> PP_Doc)
_typelefthandsideIrange :: Range
_typelefthandsideItopInstanceNmL :: ([HsName])
_typelefthandsideItrpp :: TrPP
_typelefthandsideItypevariables :: Names
_typelefthandsideIundefOccGam :: IdUseOccGam
_constructorsIconAndFldrefnames :: (AssocL Name Names)
_constructorsIconrefnames :: Names
_constructorsIeh :: ([EH.DataConstr])
_constructorsIerrSq :: ErrSq
_constructorsIfreeTvarS :: HsNameS
_constructorsIgUniq :: UID
_constructorsIhasFlds :: Bool
_constructorsIidUseOccGam :: IdUseOccGam
_constructorsIpp :: PP_Doc
_constructorsIppWrap :: (PP_Doc -> PP_Doc)
_constructorsItopInstanceNmL :: ([HsName])
_constructorsItrpp :: TrPP
_constructorsIundefOccGam :: IdUseOccGam
_derivingsIerrSq :: ErrSq
_derivingsIgUniq :: UID
_derivingsIgathFixityGam :: FixityGam
_derivingsIgathPragmas :: (Set.Set Pragma.Pragma)
_derivingsIhasGenericDeriving :: Bool
_derivingsIidDefOccGam :: IdDefOccGam
_derivingsIidDpdMp :: IdDpdMp
_derivingsIidInClassTySigDefOccGam :: IdDefOccGam
_derivingsIidInInstanceValDefOccGam :: IdDefOccGam
_derivingsIidOccDefs :: ([IdOcc])
_derivingsIidUseOccGam :: IdUseOccGam
_derivingsIneedsError :: Bool
_derivingsIpp :: PP_Doc
_derivingsIppL :: ([PP_Doc])
_derivingsIppWrap :: (PP_Doc -> PP_Doc)
_derivingsItopInstanceNmL :: ([HsName])
_derivingsItrpp :: TrPP
_derivingsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 198, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _nmLev _typelefthandsideIrange _constructorsIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 198, column 9)
_idDefOccGamType2 =
tvarL2IdDefOccGam _nmLev _typelefthandsideIrange _typelefthandsideItypevariables
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 198, column 9)
_idDefOccGamConstrs =
mkDefOccGam _lhsInmLev _typelefthandsideIrange IdAsp_Val_Con _idOccDefsCon
`gamAddGam`
mkDefOccGam'' _lhsInmLev _typelefthandsideIrange (\c _ -> IdAsp_Val_Fld _typerefname c)
(concat [ [(c,IdOcc n IdOcc_Val), (c,IdOcc n IdOcc_Fld)] | (c,ns) <- _constructorsIconAndFldrefnames, n <- ns ]
)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 198, column 9)
_idDefOccGamGener =
gamUnions $ zipWith (\arity def -> mkDefOccGam _lhsInmLev _typelefthandsideIrange (IdAsp_Type_Def $ _mkEhGener arity) [def]) _generArities _idOccDefsGener
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 198, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev _typelefthandsideIrange (IdAsp_Type_Def _eh) [_idOccDef]
`gamAddGam` _idDefOccGamConstrs
`gamAddGam` _derivingsIidDefOccGam
`gamAddGam` _idDefOccGamGener
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 256, column 9)
_idDefOccGamInside =
tvarL2IdDefOccGam _nmLev _typelefthandsideIrange _typelefthandsideItypevariables
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 443, column 9)
_idGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 750, column 29)
(_,_,_idUseOccGamVal,_errIdUseVal) =
mkUseOccGam _lhsIopts _lhsIidGam [] IdOcc_Val IdAsp_Val_Var range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 763, column 29)
(_,_,_idUseOccGamClass,_errIdUseClass) =
mkUseOccGam _lhsIopts _lhsIidGam
(if (ehcOptGenGenerics _lhsIopts || _derivingsIhasGenericDeriving) && not (ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts)
then assocLKeys builtinGenerClassNmL
else [])
IdOcc_Class IdAsp_Class_Class range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 769, column 29)
(_,_,_idUseOccGamGener,_errIdUseGener) =
mkUseOccGamDfltAsp _lhsIopts _lhsIidGam
(if (ehcOptGenGenerics _lhsIopts || _derivingsIhasGenericDeriving) && ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts
then builtinGenerClassNmL ++ builtinGenerTypeNmL ++ concat [builtinGenerClassArityNmL a ++ builtinGenerTypeArityNmL a | a <- [0 .. _generMaxRemArity]]
else [])
range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 871, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev
(gamUnions
[ _constructorsIidUseOccGam
, _idUseOccGamVal
, _contextIidUseOccGam
, if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts then emptyGam else _idUseOccGamClass
, _typelefthandsideIidUseOccGam, _constructorsIidUseOccGam
]
)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 882, column 29)
(_idUseOccGenerGam,_idUseHereGenerOccL,_,_undefGenerOccGam) =
splitIdUseOccGam _lhsInmLev _idUseOccGamGener
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 871, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
`idDpdMpUnion`
idFrOccGam2DpdMp _idDefOccGamConstrs [_idOccDef]
`idDpdMpUnion`
_derivingsIidDpdMp
`idDpdMpUnion`
(if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts then emptyIdDpdMp else idFrOccGam2DpdMp _idDefOccGamGener [_idOccDef])
`idDpdMpUnion`
(if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts
then idToOccL2DpdMp _idOccDefsGener _idUseHereGenerOccL
`idDpdMpUnion`
idFrOccGam2DpdMp _idDefOccGamGener [_idOccDef]
else emptyIdDpdMp
)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 900, column 9)
_lhsOundefOccGam =
gamUnions
[ _undefOccGam
, _undefGenerOccGam
, _derivingsIundefOccGam
, _contextIundefOccGam
, _typelefthandsideIundefOccGam, _constructorsIundefOccGam
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 900, column 9)
_lhsOidUseOccGam =
gamUnions
[ _idUseOccGam
, _idUseOccGenerGam
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1050, column 9)
_derivingsOidOccDefsData =
(if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts then _idOccDefsGener else [])
++ [_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1263, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 18, column 9)
_typerefname =
hsnSetLevQual _lhsInmLev _lhsImoduleNm _typelefthandsideIname
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 119, column 9)
_idOccDef =
IdOcc _typerefname IdOcc_Type
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 119, column 9)
_idOccDefsCon =
[ IdOcc n IdOcc_Val | n <- _constructorsIconrefnames ]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 119, column 9)
_idOccDefsFld =
concat [ [IdOcc n IdOcc_Val, IdOcc n IdOcc_Fld] | (_,ns) <- _constructorsIconAndFldrefnames, n <- ns ]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 119, column 9)
_generMaxRemArity =
length _typelefthandsideItypevariables `min` 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 124, column 29)
(_idOccDefsGener,_generArities) =
if ehcOptGenGenerics _lhsIopts || _derivingsIhasGenericDeriving
then let arities = [0 .. _generMaxRemArity]
in ([IdOcc (hsnNm2GenerReprSyn a _typerefname) IdOcc_Type | a <- arities], arities)
else ([], [])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 119, column 9)
_idOccDefs =
[_idOccDef]
++ _idOccDefsCon
++ _idOccDefsFld
++ _idOccDefsGener
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 20, column 9)
_nmLev =
_lhsInmLev
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 117, column 9)
_errDupIntro =
idDefOccGamCheckDupNames _idDefOccGamType2
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 72, column 9)
_locErrs =
Seq.empty
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 77, column 9)
_errSq =
Seq.unions [ _locErrs
, _typelefthandsideIerrSq
, Seq.fromList _errDupIntro
, Seq.fromList _errIdUseVal
, _constructorsIerrSq
, _contextIerrSq
, _derivingsIerrSq
, Seq.fromList _errIdUseGener
, Seq.fromList _errIdUseClass
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 47, column 9)
_pp =
"data" >#< _typelefthandsideIpp
>#< "where"
>-< indent 2 (_constructorsIpp
>-< ppParensCommas _derivingsIppL
)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 89, column 9)
_eh =
rngLift range_ EH.Decl_Data False _typerefname (map (rngLift range_ EH.TyVar_Var) _typelefthandsideItypevariables) _constructorsIeh
(if ehcOptGenGenerics _lhsIopts || _derivingsIhasGenericDeriving then Just _generMaxRemArity else Nothing)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 91, column 9)
_lhsOeh =
[_eh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 97, column 9)
_mkEhGener =
\arity -> rngLift range_ EH.Decl_GenerRep _generMaxRemArity arity _typerefname _constructorsIconrefnames _constructorsIconAndFldrefnames
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 165, column 9)
_derivingsOehDataTyExpr =
appTopApp (rngLift range_ EH.TyExpr_Con _typerefname : map (rngLift range_ EH.TyExpr_Var) _typelefthandsideItypevariables)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 195, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 233, column 9)
_doGenVarWild =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_derivingsIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
_derivingsIgathPragmas
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
_derivingsIidInClassTySigDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
_derivingsIidInInstanceValDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
_derivingsIneedsError
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_contextIppWrap . _typelefthandsideIppWrap . _constructorsIppWrap . _derivingsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_contextItrpp >< _typelefthandsideItrpp >< _constructorsItrpp >< _derivingsItrpp
-- copy rule (up)
_lhsOgUniq =
_derivingsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_derivingsItopInstanceNmL
-- copy rule (down)
_contextOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_contextOgUniq =
_lhsIgUniq
-- copy rule (from local)
_contextOidGam =
_idGam
-- copy rule (from local)
_contextOnmLev =
_nmLev
-- copy rule (down)
_contextOopts =
_lhsIopts
-- copy rule (from local)
_contextOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_contextOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_contextOtr =
_lhsItr
-- copy rule (down)
_typelefthandsideOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_typelefthandsideOgUniq =
_contextIgUniq
-- copy rule (from local)
_typelefthandsideOidGam =
_idGam
-- copy rule (down)
_typelefthandsideOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_typelefthandsideOnmLev =
_nmLev
-- copy rule (down)
_typelefthandsideOopts =
_lhsIopts
-- copy rule (from local)
_typelefthandsideOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (chain)
_typelefthandsideOtopInstanceNmL =
_contextItopInstanceNmL
-- copy rule (down)
_typelefthandsideOtr =
_lhsItr
-- copy rule (down)
_constructorsOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_constructorsOgUniq =
_typelefthandsideIgUniq
-- copy rule (from local)
_constructorsOidGam =
_idGam
-- copy rule (down)
_constructorsOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_constructorsOnmLev =
_nmLev
-- copy rule (down)
_constructorsOopts =
_lhsIopts
-- copy rule (from local)
_constructorsOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (chain)
_constructorsOtopInstanceNmL =
_typelefthandsideItopInstanceNmL
-- copy rule (down)
_constructorsOtr =
_lhsItr
-- copy rule (down)
_derivingsOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_derivingsOgUniq =
_constructorsIgUniq
-- copy rule (down)
_derivingsOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (from local)
_derivingsOidGam =
_idGam
-- copy rule (down)
_derivingsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_derivingsOnameDeclCxt =
_lhsInameDeclCxt
-- copy rule (from local)
_derivingsOnmLev =
_nmLev
-- copy rule (down)
_derivingsOopts =
_lhsIopts
-- copy rule (from local)
_derivingsOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_derivingsOpragmas =
_lhsIpragmas
-- copy rule (chain)
_derivingsOtopInstanceNmL =
_constructorsItopInstanceNmL
-- copy rule (down)
_derivingsOtr =
_lhsItr
( _contextIeh,_contextIehTy,_contextIerrSq,_contextIfreeTvarS,_contextIgUniq,_contextIidUseOccGam,_contextIpp,_contextIppWrap,_contextItopInstanceNmL,_contextItrpp,_contextIundefOccGam) =
context_ _contextOfixityGam _contextOgUniq _contextOidGam _contextOnmLev _contextOopts _contextOpatchEhNmInInstance _contextOtopInstanceNmL _contextOtr
( _typelefthandsideIeh,_typelefthandsideIerrSq,_typelefthandsideIfreeTvarS,_typelefthandsideIgUniq,_typelefthandsideIidDefOccGam,_typelefthandsideIidOccDefs,_typelefthandsideIidUseOccGam,_typelefthandsideIname,_typelefthandsideIpp,_typelefthandsideIppWrap,_typelefthandsideIrange,_typelefthandsideItopInstanceNmL,_typelefthandsideItrpp,_typelefthandsideItypevariables,_typelefthandsideIundefOccGam) =
typelefthandside_ _typelefthandsideOfixityGam _typelefthandsideOgUniq _typelefthandsideOidGam _typelefthandsideOmoduleNm _typelefthandsideOnmLev _typelefthandsideOopts _typelefthandsideOpatchEhNmInInstance _typelefthandsideOtopInstanceNmL _typelefthandsideOtr
( _constructorsIconAndFldrefnames,_constructorsIconrefnames,_constructorsIeh,_constructorsIerrSq,_constructorsIfreeTvarS,_constructorsIgUniq,_constructorsIhasFlds,_constructorsIidUseOccGam,_constructorsIpp,_constructorsIppWrap,_constructorsItopInstanceNmL,_constructorsItrpp,_constructorsIundefOccGam) =
constructors_ _constructorsOfixityGam _constructorsOgUniq _constructorsOidGam _constructorsOmoduleNm _constructorsOnmLev _constructorsOopts _constructorsOpatchEhNmInInstance _constructorsOtopInstanceNmL _constructorsOtr
( _derivingsIerrSq,_derivingsIgUniq,_derivingsIgathFixityGam,_derivingsIgathPragmas,_derivingsIhasGenericDeriving,_derivingsIidDefOccGam,_derivingsIidDpdMp,_derivingsIidInClassTySigDefOccGam,_derivingsIidInInstanceValDefOccGam,_derivingsIidOccDefs,_derivingsIidUseOccGam,_derivingsIneedsError,_derivingsIpp,_derivingsIppL,_derivingsIppWrap,_derivingsItopInstanceNmL,_derivingsItrpp,_derivingsIundefOccGam) =
derivings_ _derivingsOehDataTyExpr _derivingsOfixityGam _derivingsOgUniq _derivingsOgenerDerivMp _derivingsOidGam _derivingsOidOccDefsData _derivingsOmoduleNm _derivingsOnameDeclCxt _derivingsOnmLev _derivingsOopts _derivingsOpatchEhNmInInstance _derivingsOpragmas _derivingsOtopInstanceNmL _derivingsOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Declaration_KindSignature :: Range ->
Names ->
T_Kind ->
T_Declaration
sem_Declaration_KindSignature range_ names_ kind_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _kindOidGam :: IdDefOccGam
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_kindOgUniq :: UID
_kindOnmLev :: NmLev
_kindOopts :: EHCOpts
_kindOpatchEhNmInInstance :: PatchEhNmInInstance
_kindOtopInstanceNmL :: ([HsName])
_kindOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_kindIconNm :: Name
_kindIeh :: (EH.KiExpr)
_kindIerrSq :: ErrSq
_kindIfreeTvarS :: HsNameS
_kindIgUniq :: UID
_kindIidUseOccGam :: IdUseOccGam
_kindIpp :: PP_Doc
_kindIppWrap :: (PP_Doc -> PP_Doc)
_kindItopInstanceNmL :: ([HsName])
_kindItrpp :: TrPP
_kindIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 216, column 9)
_idDefOccGam =
mkDefOccGam' _lhsInmLev range_ (\o -> IdAsp_Type_Sig (_mkEHSig (ioccNm o))) _idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 216, column 9)
_idDefOccGamKind =
kvarS2IdDefOccGam _nmLev range_ _kindIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 445, column 9)
_kindOidGam =
gamUnion _idDefOccGamKind _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 915, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev _kindIidUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 915, column 9)
_idDpdMp =
idToOccL2DpdMp (gamKeys _idDefOccGam) _idUseHereOccL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 918, column 9)
_lhsOundefOccGam =
gamUnions [_undefOccGam,_kindIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1263, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 16, column 9)
_refnames =
map (hsnSetLevQual _lhsInmLev _lhsImoduleNm) names_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 134, column 9)
_idOccDefs =
[ IdOcc n IdOcc_Type | n <- _refnames ]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 22, column 9)
_nmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 53, column 9)
_pp =
ppCommas' names_ >#< "::" >#< _kindIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 105, column 9)
_mkEHSig =
\n -> rngLift range_ EH.Decl_KiSig n _kindIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 106, column 9)
_lhsOeh =
map _mkEHSig _refnames
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 195, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 233, column 9)
_doGenVarWild =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_kindIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_kindIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_kindItrpp
-- copy rule (up)
_lhsOgUniq =
_kindIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_kindItopInstanceNmL
-- copy rule (down)
_kindOgUniq =
_lhsIgUniq
-- copy rule (from local)
_kindOnmLev =
_nmLev
-- copy rule (down)
_kindOopts =
_lhsIopts
-- copy rule (from local)
_kindOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_kindOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_kindOtr =
_lhsItr
( _kindIconNm,_kindIeh,_kindIerrSq,_kindIfreeTvarS,_kindIgUniq,_kindIidUseOccGam,_kindIpp,_kindIppWrap,_kindItopInstanceNmL,_kindItrpp,_kindIundefOccGam) =
kind_ _kindOgUniq _kindOidGam _kindOnmLev _kindOopts _kindOpatchEhNmInInstance _kindOtopInstanceNmL _kindOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Declaration_ForeignImport :: Range ->
FFIWay ->
(Maybe String) ->
(Maybe String) ->
Name ->
T_Type ->
T_Declaration
sem_Declaration_ForeignImport range_ callconvention_ safety_ importname_ name_ type_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _typeOidGam :: IdDefOccGam
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 260, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _lhsInmLev range_ _typeIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 264, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev range_ (IdAsp_Val_Foreign _eh) _idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 439, column 9)
_typeOidGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 920, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev _typeIidUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 920, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 923, column 9)
_lhsOundefOccGam =
gamUnions [_undefOccGam,_typeIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1263, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 20, column 9)
_refname =
hsnSetLevQual _lhsInmLev _lhsImoduleNm name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 155, column 9)
_idOccDef =
IdOcc _refname IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 155, column 9)
_idOccDefs =
[_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 24, column 9)
_errFFIWay =
if maybe False (callconvention_ `elem`) $ fmap targiAllowedFFI $ Map.lookup (ehcOptTarget _lhsIopts) allTargetInfoMp
then []
else [rngLift range_ Err_IllegalFFIWay callconvention_]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 149, column 9)
_errSq =
Seq.unions [ Seq.fromList (rngLift range_ mkNestErr (pp ("Parse of foreign entity '" ++ _nmForParse ++ "'")) _entErrs)
, _typeIerrSq
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 55, column 9)
_pp =
"foreign import" >#< callconvention_ >#< safety_ >#< maybe empty (pp.show) importname_ >#< name_ >#< "::" >#< _typeIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 108, column 9)
_eh =
rngLift range_ EH.Decl_FFI callconvention_ (maybe "safe" id safety_) _ent _refname _typeIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 109, column 9)
_lhsOeh =
[_eh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 195, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 233, column 9)
_doGenVarWild =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 324, column 9)
_nmForParse =
maybe "" id importname_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 325, column 25)
(_ent,_entErrs) =
parseForeignEnt ForeignDirection_Import callconvention_ (Just $ show name_) _nmForParse
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_typeIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_typeItrpp
-- copy rule (up)
_lhsOgUniq =
_typeIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_typeItopInstanceNmL
-- copy rule (from local)
_typeOdoGenVarWild =
_doGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_typeOgUniq =
_lhsIgUniq
-- copy rule (from local)
_typeOisAsPred =
_isAsPred
-- copy rule (down)
_typeOnmLev =
_lhsInmLev
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (from local)
_typeOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_typeOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Declaration_ForeignExport :: Range ->
FFIWay ->
(Maybe String) ->
Name ->
T_Type ->
T_Declaration
sem_Declaration_ForeignExport range_ callconvention_ exportname_ name_ type_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _typeOidGam :: IdDefOccGam
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 260, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _lhsInmLev range_ _typeIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 264, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev range_ (IdAsp_Val_Foreign _eh) _idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 439, column 9)
_typeOidGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 758, column 29)
(_refname,_,_idUseOccGamExport,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [name_] IdOcc_Val IdAsp_Val_Var range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 997, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev
(gamUnions [_idUseOccGamExport,_typeIidUseOccGam])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 997, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1001, column 9)
_lhsOundefOccGam =
gamUnions [_undefOccGam,_typeIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1263, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 32, column 9)
_exportrefname =
hsnUniqify HsNameUniqifier_FFE name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 158, column 9)
_idOccDef =
IdOcc _exportrefname IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 158, column 9)
_idOccDefs =
[_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 24, column 9)
_errFFIWay =
if maybe False (callconvention_ `elem`) $ fmap targiAllowedFFI $ Map.lookup (ehcOptTarget _lhsIopts) allTargetInfoMp
then []
else [rngLift range_ Err_IllegalFFIWay callconvention_]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 153, column 9)
_errSq =
Seq.unions [ Seq.fromList _errIdUse
, Seq.fromList (rngLift range_ mkNestErr (pp ("Parse of foreign entity '" ++ _nmForParse ++ "'")) _entErrs)
, _typeIerrSq
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 83, column 9)
_pp =
"foreign export" >#< callconvention_ >#< exportname_ >#< name_ >#< "::" >#< _typeIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 142, column 9)
_nmForParse =
maybe "" id exportname_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 143, column 25)
(_ent,_entErrs) =
parseForeignEnt ForeignDirection_Export callconvention_ (Just $ show name_) _nmForParse
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 142, column 9)
_eh =
rngLift range_ EH.Decl_FFE _exportrefname callconvention_ _ent (rngLift range_ EH.Expr_Var _refname) _typeIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 146, column 9)
_lhsOeh =
[_eh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 195, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 233, column 9)
_doGenVarWild =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_typeIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_typeItrpp
-- copy rule (up)
_lhsOgUniq =
_typeIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_typeItopInstanceNmL
-- copy rule (from local)
_typeOdoGenVarWild =
_doGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_typeOgUniq =
_lhsIgUniq
-- copy rule (from local)
_typeOisAsPred =
_isAsPred
-- copy rule (down)
_typeOnmLev =
_lhsInmLev
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (from local)
_typeOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_typeOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Declaration_Class :: Range ->
T_ContextItems ->
T_TypeLeftHandSide ->
T_FunctionalDependencies ->
T_MaybeDeclarations ->
T_Declaration
sem_Declaration_Class range_ context_ typelefthandside_ dependencies_ where_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: ([EH.Decl])
_lhsOtopInstanceNmL :: ([HsName])
_contextOgUniq :: UID
_lUniq :: UID
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOgUniq :: UID
_contextOfixityGam :: FixityGam
_contextOidGam :: IdDefOccGam
_contextOnmLev :: NmLev
_contextOopts :: EHCOpts
_contextOpatchEhNmInInstance :: PatchEhNmInInstance
_contextOtopInstanceNmL :: ([HsName])
_contextOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typelefthandsideOfixityGam :: FixityGam
_typelefthandsideOgUniq :: UID
_typelefthandsideOidGam :: IdDefOccGam
_typelefthandsideOmoduleNm :: HsName
_typelefthandsideOnmLev :: NmLev
_typelefthandsideOopts :: EHCOpts
_typelefthandsideOpatchEhNmInInstance :: PatchEhNmInInstance
_typelefthandsideOtopInstanceNmL :: ([HsName])
_typelefthandsideOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_dependenciesOfixityGam :: FixityGam
_dependenciesOgUniq :: UID
_dependenciesOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_dependenciesOidGam :: IdDefOccGam
_dependenciesOmoduleNm :: HsName
_dependenciesOnameDeclCxt :: NameDeclCxt
_dependenciesOnmLev :: NmLev
_dependenciesOopts :: EHCOpts
_dependenciesOpatchEhNmInInstance :: PatchEhNmInInstance
_dependenciesOpragmas :: (Set.Set Pragma.Pragma)
_dependenciesOtopInstanceNmL :: ([HsName])
_dependenciesOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_whereOcaseId :: UID
_whereOfixityGam :: FixityGam
_whereOgUniq :: UID
_whereOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_whereOidGam :: IdDefOccGam
_whereOmoduleNm :: HsName
_whereOnameDeclCxt :: NameDeclCxt
_whereOnmLev :: NmLev
_whereOopts :: EHCOpts
_whereOpatchEhNmInInstance :: PatchEhNmInInstance
_whereOpragmas :: (Set.Set Pragma.Pragma)
_whereOtopInstanceNmL :: ([HsName])
_whereOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_contextIeh :: ([EH.PrExpr])
_contextIehTy :: ([EH.TyExpr])
_contextIerrSq :: ErrSq
_contextIfreeTvarS :: HsNameS
_contextIgUniq :: UID
_contextIidUseOccGam :: IdUseOccGam
_contextIpp :: PP_Doc
_contextIppWrap :: (PP_Doc -> PP_Doc)
_contextItopInstanceNmL :: ([HsName])
_contextItrpp :: TrPP
_contextIundefOccGam :: IdUseOccGam
_typelefthandsideIeh :: ([EH.TyVar])
_typelefthandsideIerrSq :: ErrSq
_typelefthandsideIfreeTvarS :: HsNameS
_typelefthandsideIgUniq :: UID
_typelefthandsideIidDefOccGam :: IdDefOccGam
_typelefthandsideIidOccDefs :: ([IdOcc])
_typelefthandsideIidUseOccGam :: IdUseOccGam
_typelefthandsideIname :: Name
_typelefthandsideIpp :: PP_Doc
_typelefthandsideIppWrap :: (PP_Doc -> PP_Doc)
_typelefthandsideIrange :: Range
_typelefthandsideItopInstanceNmL :: ([HsName])
_typelefthandsideItrpp :: TrPP
_typelefthandsideItypevariables :: Names
_typelefthandsideIundefOccGam :: IdUseOccGam
_dependenciesIeh :: ([EH.FuncDep])
_dependenciesIerrSq :: ErrSq
_dependenciesIgUniq :: UID
_dependenciesIgathFixityGam :: FixityGam
_dependenciesIgathPragmas :: (Set.Set Pragma.Pragma)
_dependenciesIidDefOccGam :: IdDefOccGam
_dependenciesIidDpdMp :: IdDpdMp
_dependenciesIidInClassTySigDefOccGam :: IdDefOccGam
_dependenciesIidInInstanceValDefOccGam :: IdDefOccGam
_dependenciesIidOccDefs :: ([IdOcc])
_dependenciesIidUseOccGam :: IdUseOccGam
_dependenciesIneedsError :: Bool
_dependenciesIpp :: PP_Doc
_dependenciesIppWrap :: (PP_Doc -> PP_Doc)
_dependenciesItopInstanceNmL :: ([HsName])
_dependenciesItrpp :: TrPP
_dependenciesIundefOccGam :: IdUseOccGam
_whereIeh :: (Maybe [EH.Decl])
_whereIerrSq :: ErrSq
_whereIgUniq :: UID
_whereIgathFixityGam :: FixityGam
_whereIgathPragmas :: (Set.Set Pragma.Pragma)
_whereIidDefOccGam :: IdDefOccGam
_whereIidDpdMp :: IdDpdMp
_whereIidInClassTySigDefOccGam :: IdDefOccGam
_whereIidInInstanceValDefOccGam :: IdDefOccGam
_whereIidOccDefs :: ([IdOcc])
_whereIidUseOccGam :: IdUseOccGam
_whereIneedsError :: Bool
_whereIpp :: PP_Doc
_whereIppWrap :: (PP_Doc -> PP_Doc)
_whereItopInstanceNmL :: ([HsName])
_whereItrpp :: TrPP
_whereIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 27, column 9)
_trpp =
(_lhsItr TraceOn_HsOcc $ [_idOccDef >#< "= Class" >#< _classrefname] ++ [ "idUseHereOccL=" >#< ppBracketsCommas _idUseHereOccL ])
>< _contextItrpp >< _typelefthandsideItrpp
>< _dependenciesItrpp
>< _whereItrpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDeclCxt.ag"(line 21, column 9)
_nameDeclCxt =
if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts then NameDeclCxt_Class else NameDeclCxt_Plain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 15, column 9)
_generderivnames =
Map.findWithDefault []
(if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts then _typelefthandsideIname else _classrefname)
_lhsIgenerDerivMp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 220, column 9)
_idDefOccGamType =
tvarL2IdDefOccGam _nmLev _typelefthandsideIrange _typelefthandsideItypevariables
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 220, column 9)
_idDefOccGamSigAsVar =
if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts
then _whereIidInClassTySigDefOccGam
else _whereIidInClassTySigDefOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 220, column 9)
_idDefOccGam =
if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts
then mkDefOccGam _lhsInmLev _typelefthandsideIrange (IdAsp_Class_Def _eh _ehInst) [_idOccDef]
`gamUnion` _idDefOccGamSigAsVar
else mkDefOccGam _lhsInmLev _typelefthandsideIrange (IdAsp_Class_Def _eh _ehInst) [_idOccDef]
`gamUnion` _idDefOccGamSigAsVar
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 256, column 9)
_idDefOccGamInside =
tvarL2IdDefOccGam _nmLev _typelefthandsideIrange _typelefthandsideItypevariables
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 448, column 9)
_idGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 448, column 9)
_idDefOccGamInstForClass =
fst $ gamPartition (\_ d -> case doccAsp d of {IdAsp_Inst_Def _ n | n == _classrefname -> True ; _ -> False}) $ _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 789, column 29)
(_generderivrefnames,_idUseOccGamGenerDeriv,_errIdUseGenerDeriv) =
let (ns,gs,es) = unzip3
[ ((fld',dflt'),g,e)
| (fld,dflt) <- _generderivnames
, let (_,[fld',dflt'],g,e) = mkUseOccGam _lhsIopts _lhsIidGam [fld,dflt] IdOcc_Val IdAsp_Val_Var range_
]
in if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts
then (ns, gamUnions gs, concat es)
else (_generderivnames, emptyGam, [])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 925, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev
(gamUnions [ _contextIidUseOccGam,_whereIidUseOccGam
, if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts then _idUseOccGamGenerDeriv else emptyGam
])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 925, column 9)
_idDpdMp =
if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts
then idDpdMpUnions
[ idToOccL2DpdMp [_idOccDef] _idUseHereOccL
, idToOccGam2DpdMp [_idOccDef] _idDefOccGamSigAsVar
, idFrOccGam2DpdMp _idDefOccGamSigAsVar [_idOccDef]
, _whereIidDpdMp
]
else idDpdMpUnions
[ idToOccL2DpdMp [_idOccDef] _idUseHereOccL
, idToOccGam2DpdMp [_idOccDef] _idDefOccGamSigAsVar
, idFrOccGam2DpdMp _idDefOccGamSigAsVar [_idOccDef]
, idFrOccGam2DpdMp _idDefOccGamSigAsVar (gamKeys _idDefOccGamInstForClass)
, _whereIidDpdMp
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 949, column 9)
_lhsOundefOccGam =
gamUnions [_undefOccGam,_whereIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1222, column 29)
(_,_ehReorderedDecls,_errReorder) =
mkIdOccSccEH _lhsIopts range_ False _whereIidDefOccGam Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1263, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 22, column 9)
_instancerefname =
hsnSetLevQual _lhsInmLev _lhsImoduleNm
$ maybe _instancename id _mbPrevInstancename
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 26, column 9)
_classrefname =
hsnSetLevQual _lhsInmLev _lhsImoduleNm _typelefthandsideIname
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 136, column 9)
_idOccDef =
IdOcc _classrefname IdOcc_Class
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 136, column 9)
_idOccDefVal =
IdOcc _instancerefname IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 136, column 9)
_idOccDefsSig =
_whereIidOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 136, column 9)
_idOccDefs =
[_idOccDef] ++ _idOccDefsSig
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 242, column 9)
_instancename =
hsnUniqifyUID HsNameUniqifier_Class _lUniq (mkHNm _typelefthandsideIname)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 24, column 9)
_nmLev =
_lhsInmLev
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 131, column 9)
_errDupIntro =
idDefOccGamCheckDupNames _idDefOccGamType
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 130, column 9)
_errSq =
Seq.unions [ Seq.fromList _errDupIntro, Seq.fromList _errReorder, _contextIerrSq, _typelefthandsideIerrSq
, _dependenciesIerrSq
, Seq.fromList _errIdUseGenerDeriv
, _whereIerrSq
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 57, column 9)
_pp =
"class" >#< ppParens _contextIpp >#< "=>" >#< _typelefthandsideIpp
>#< "|" >#< _dependenciesIpp
>-< indent 2 _whereIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 111, column 25)
(_eh,_ehInst) =
let h = rngLift range_ EH.TyExpr_Pred
$ rngLift range_ EH.PrExpr_Class _classrefname (map (rngLift range_ EH.TyExpr_Var) _typelefthandsideItypevariables)
c = map (rngLift range_ EH.TyExpr_Pred) _contextIeh
a = appArr c h
(vals,sigs) = partition EH.ehIsDeclVal $ concat _ehReorderedDecls
in ( rngLift range_ EH.Decl_Class _classrefname a
_dependenciesIeh
(Just _instancerefname) sigs
_generderivrefnames
, rngLift range_ EH.Decl_Instance (Just (_instancerefname,False)) InstDefault a vals
)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 122, column 9)
_lhsOeh =
[_eh,_ehInst]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 195, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 233, column 9)
_doGenVarWild =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 304, column 9)
(_mbPrevInstancename,_lhsOtopInstanceNmL) =
extrTopInstanceNm _lhsItopInstanceNmL
-- -- generated by the unique rule mechanism.
(_contextOgUniq,_lUniq) =
let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_dependenciesIgathFixityGam `gamAddGam` _whereIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
_dependenciesIgathPragmas `Set.union` _whereIgathPragmas
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
_dependenciesIidInClassTySigDefOccGam `gamAddGam` _whereIidInClassTySigDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
_dependenciesIidInInstanceValDefOccGam `gamAddGam` _whereIidInInstanceValDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
_dependenciesIneedsError || _whereIneedsError
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_contextIppWrap . _typelefthandsideIppWrap . _dependenciesIppWrap . _whereIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_trpp
-- copy rule (up)
_lhsOgUniq =
_whereIgUniq
-- copy rule (down)
_contextOfixityGam =
_lhsIfixityGam
-- copy rule (from local)
_contextOidGam =
_idGam
-- copy rule (from local)
_contextOnmLev =
_nmLev
-- copy rule (down)
_contextOopts =
_lhsIopts
-- copy rule (from local)
_contextOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_contextOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_contextOtr =
_lhsItr
-- copy rule (down)
_typelefthandsideOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_typelefthandsideOgUniq =
_contextIgUniq
-- copy rule (from local)
_typelefthandsideOidGam =
_idGam
-- copy rule (down)
_typelefthandsideOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_typelefthandsideOnmLev =
_nmLev
-- copy rule (down)
_typelefthandsideOopts =
_lhsIopts
-- copy rule (from local)
_typelefthandsideOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (chain)
_typelefthandsideOtopInstanceNmL =
_contextItopInstanceNmL
-- copy rule (down)
_typelefthandsideOtr =
_lhsItr
-- copy rule (down)
_dependenciesOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_dependenciesOgUniq =
_typelefthandsideIgUniq
-- copy rule (down)
_dependenciesOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (from local)
_dependenciesOidGam =
_idGam
-- copy rule (down)
_dependenciesOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_dependenciesOnameDeclCxt =
_nameDeclCxt
-- copy rule (from local)
_dependenciesOnmLev =
_nmLev
-- copy rule (down)
_dependenciesOopts =
_lhsIopts
-- copy rule (from local)
_dependenciesOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_dependenciesOpragmas =
_lhsIpragmas
-- copy rule (chain)
_dependenciesOtopInstanceNmL =
_typelefthandsideItopInstanceNmL
-- copy rule (down)
_dependenciesOtr =
_lhsItr
-- copy rule (down)
_whereOcaseId =
_lhsIcaseId
-- copy rule (down)
_whereOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_whereOgUniq =
_dependenciesIgUniq
-- copy rule (down)
_whereOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (from local)
_whereOidGam =
_idGam
-- copy rule (down)
_whereOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_whereOnameDeclCxt =
_nameDeclCxt
-- copy rule (from local)
_whereOnmLev =
_nmLev
-- copy rule (down)
_whereOopts =
_lhsIopts
-- copy rule (from local)
_whereOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_whereOpragmas =
_lhsIpragmas
-- copy rule (chain)
_whereOtopInstanceNmL =
_dependenciesItopInstanceNmL
-- copy rule (down)
_whereOtr =
_lhsItr
( _contextIeh,_contextIehTy,_contextIerrSq,_contextIfreeTvarS,_contextIgUniq,_contextIidUseOccGam,_contextIpp,_contextIppWrap,_contextItopInstanceNmL,_contextItrpp,_contextIundefOccGam) =
context_ _contextOfixityGam _contextOgUniq _contextOidGam _contextOnmLev _contextOopts _contextOpatchEhNmInInstance _contextOtopInstanceNmL _contextOtr
( _typelefthandsideIeh,_typelefthandsideIerrSq,_typelefthandsideIfreeTvarS,_typelefthandsideIgUniq,_typelefthandsideIidDefOccGam,_typelefthandsideIidOccDefs,_typelefthandsideIidUseOccGam,_typelefthandsideIname,_typelefthandsideIpp,_typelefthandsideIppWrap,_typelefthandsideIrange,_typelefthandsideItopInstanceNmL,_typelefthandsideItrpp,_typelefthandsideItypevariables,_typelefthandsideIundefOccGam) =
typelefthandside_ _typelefthandsideOfixityGam _typelefthandsideOgUniq _typelefthandsideOidGam _typelefthandsideOmoduleNm _typelefthandsideOnmLev _typelefthandsideOopts _typelefthandsideOpatchEhNmInInstance _typelefthandsideOtopInstanceNmL _typelefthandsideOtr
( _dependenciesIeh,_dependenciesIerrSq,_dependenciesIgUniq,_dependenciesIgathFixityGam,_dependenciesIgathPragmas,_dependenciesIidDefOccGam,_dependenciesIidDpdMp,_dependenciesIidInClassTySigDefOccGam,_dependenciesIidInInstanceValDefOccGam,_dependenciesIidOccDefs,_dependenciesIidUseOccGam,_dependenciesIneedsError,_dependenciesIpp,_dependenciesIppWrap,_dependenciesItopInstanceNmL,_dependenciesItrpp,_dependenciesIundefOccGam) =
dependencies_ _dependenciesOfixityGam _dependenciesOgUniq _dependenciesOgenerDerivMp _dependenciesOidGam _dependenciesOmoduleNm _dependenciesOnameDeclCxt _dependenciesOnmLev _dependenciesOopts _dependenciesOpatchEhNmInInstance _dependenciesOpragmas _dependenciesOtopInstanceNmL _dependenciesOtr
( _whereIeh,_whereIerrSq,_whereIgUniq,_whereIgathFixityGam,_whereIgathPragmas,_whereIidDefOccGam,_whereIidDpdMp,_whereIidInClassTySigDefOccGam,_whereIidInInstanceValDefOccGam,_whereIidOccDefs,_whereIidUseOccGam,_whereIneedsError,_whereIpp,_whereIppWrap,_whereItopInstanceNmL,_whereItrpp,_whereIundefOccGam) =
where_ _whereOcaseId _whereOfixityGam _whereOgUniq _whereOgenerDerivMp _whereOidGam _whereOmoduleNm _whereOnameDeclCxt _whereOnmLev _whereOopts _whereOpatchEhNmInInstance _whereOpragmas _whereOtopInstanceNmL _whereOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Declaration_Instance :: Range ->
InstVariant ->
MaybeName ->
Bool ->
T_ContextItems ->
T_Type ->
T_MaybeDeclarations ->
T_Declaration
sem_Declaration_Instance range_ instVariant_ maybeinstancename_ useimplicitly_ context_ type_ where_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOundefOccGam :: IdUseOccGam
_whereOpatchEhNmInInstance :: PatchEhNmInInstance
_lhsOeh :: ([EH.Decl])
_lhsOtopInstanceNmL :: ([HsName])
_contextOgUniq :: UID
_lUniq :: UID
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOgUniq :: UID
_contextOfixityGam :: FixityGam
_contextOidGam :: IdDefOccGam
_contextOnmLev :: NmLev
_contextOopts :: EHCOpts
_contextOpatchEhNmInInstance :: PatchEhNmInInstance
_contextOtopInstanceNmL :: ([HsName])
_contextOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_whereOcaseId :: UID
_whereOfixityGam :: FixityGam
_whereOgUniq :: UID
_whereOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_whereOidGam :: IdDefOccGam
_whereOmoduleNm :: HsName
_whereOnameDeclCxt :: NameDeclCxt
_whereOnmLev :: NmLev
_whereOopts :: EHCOpts
_whereOpragmas :: (Set.Set Pragma.Pragma)
_whereOtopInstanceNmL :: ([HsName])
_whereOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_contextIeh :: ([EH.PrExpr])
_contextIehTy :: ([EH.TyExpr])
_contextIerrSq :: ErrSq
_contextIfreeTvarS :: HsNameS
_contextIgUniq :: UID
_contextIidUseOccGam :: IdUseOccGam
_contextIpp :: PP_Doc
_contextIppWrap :: (PP_Doc -> PP_Doc)
_contextItopInstanceNmL :: ([HsName])
_contextItrpp :: TrPP
_contextIundefOccGam :: IdUseOccGam
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
_whereIeh :: (Maybe [EH.Decl])
_whereIerrSq :: ErrSq
_whereIgUniq :: UID
_whereIgathFixityGam :: FixityGam
_whereIgathPragmas :: (Set.Set Pragma.Pragma)
_whereIidDefOccGam :: IdDefOccGam
_whereIidDpdMp :: IdDpdMp
_whereIidInClassTySigDefOccGam :: IdDefOccGam
_whereIidInInstanceValDefOccGam :: IdDefOccGam
_whereIidOccDefs :: ([IdOcc])
_whereIidUseOccGam :: IdUseOccGam
_whereIneedsError :: Bool
_whereIpp :: PP_Doc
_whereIppWrap :: (PP_Doc -> PP_Doc)
_whereItopInstanceNmL :: ([HsName])
_whereItrpp :: TrPP
_whereIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 32, column 9)
_trpp =
(_lhsItr TraceOn_HsOcc $ [_idOccDef >#< "= Instance" >#< _classrefname]
++ [ "idUseHereOccL=" >#< ppBracketsCommas _idUseHereOccL
, "generRequiresReprTypes=" >#< _generRequiresReprTypes
, "idUseOccGamGenerRepr=" >#< ppGam _idUseOccGamGenerRepr
, "idUseHereGenerReprOccL=" >#< ppBracketsCommas _idUseHereGenerReprOccL
])
>< _contextItrpp >< _typeItrpp >< _whereItrpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDeclCxt.ag"(line 19, column 9)
_nameDeclCxt =
if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts then NameDeclCxt_Instance else NameDeclCxt_Plain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 20, column 9)
_generRequiresReprTypes =
case (instVariant_, Map.lookup _typeIconNm _lhsIgenerDerivMp) of
(InstDeriving InstDerivingFrom_Standalone, Just (_:_)) | ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts
-> True
_ -> False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 232, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _lhsInmLev range_ _typeIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 232, column 9)
_idDefOccGamValAsVar =
_whereIidInInstanceValDefOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 232, column 9)
_idDefOccGam =
if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts
then mkDefOccGam _lhsInmLev range_ (IdAsp_Inst_Def _eh _classrefname) [_idOccDef]
`gamUnion` mkDefOccGam _lhsInmLev range_ IdAsp_Val_Var [_idOccDefVal]
else mkDefOccGam _lhsInmLev range_ (IdAsp_Inst_Def _eh _classrefname) [_idOccDef]
`gamUnion` mkDefOccGam _lhsInmLev range_ IdAsp_Val_Var [_idOccDefVal]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 452, column 9)
_idGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 702, column 29)
(_classrefname,_,_idUseOccGamInst,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [_typeIconNm] IdOcc_Class IdAsp_Class_Class range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 705, column 29)
(_,_,_idUseOccGamGenerRepr,_) =
mkUseOccGamDfltAsp _lhsIopts _lhsIidGam
(if _generRequiresReprTypes
then
[(hsnNm2GenerReprSyn a $ ioccNm o, ioccKind o) | (o,_) <- gamToAssocL _typeIidUseOccGam, a <- [0 .. 1]]
else [])
range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 951, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts
then splitIdUseOccGam _lhsInmLev
(gamUnions [_idUseOccGamInst,_contextIidUseOccGam,_typeIidUseOccGam,_whereIidUseOccGam])
else splitIdUseOccGam _lhsInmLev
(gamUnions [_idUseOccGamInst,_contextIidUseOccGam,_typeIidUseOccGam,_whereIidUseOccGam])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 957, column 29)
(_,_idUseHereGenerReprOccL,_,_) =
splitIdUseOccGam _lhsInmLev _idUseOccGamGenerRepr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 951, column 9)
_idDpdMp =
if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts
then idDpdMpUnions
[ idToOccL2DpdMp [_idOccDef] _idUseHereOccL
, idDpdMpSingleton _idOccDefVal _idOccDef
, idToOccL2DpdMp [_idOccDef] _idUseHereGenerReprOccL
, _whereIidDpdMp
]
else idDpdMpUnions
[ idToOccL2DpdMp [_idOccDef] _idUseHereOccL
, idDpdMpSingleton _idOccDefVal _idOccDef
, _whereIidDpdMp
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 971, column 9)
_lhsOundefOccGam =
gamUnions [_undefOccGam,_whereIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1222, column 29)
(_,_ehReorderedDecls,_errReorder) =
mkIdOccSccEH _lhsIopts range_ False _whereIidDefOccGam Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1257, column 9)
_whereOpatchEhNmInInstance =
hsnSetQual (panicJust "Declaration.Instance.patchEhNmInInstance" $ hsnQualifier _classrefname)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 22, column 9)
_instancerefname =
hsnSetLevQual _lhsInmLev _lhsImoduleNm
$ maybe _instancename id _mbPrevInstancename
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 141, column 9)
_idOccDef =
IdOcc _instancerefname IdOcc_Inst
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 141, column 9)
_idOccDefVal =
IdOcc _instancerefname IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 141, column 9)
_idOccDefs =
[_idOccDef,_idOccDefVal]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 240, column 9)
_instancename =
maybe (hsnUniqifyUID HsNameUniqifier_ClassDict _lUniq (_typeIconNm)) id maybeinstancename_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 26, column 9)
_nmLev =
_lhsInmLev
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 137, column 9)
_errSq =
Seq.firstNotEmpty [Seq.fromList _errIdUse, _contextIerrSq, _typeIerrSq, _whereIerrSq, Seq.fromList _errReorder]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 61, column 9)
_pp =
"instance" >|< ppInstNm useimplicitly_ maybeinstancename_
>#< ppParens _contextIpp >#< "=>" >#< _typeIpp
>-< indent 2 _whereIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 124, column 9)
_eh =
let
h = rngLift range_ EH.TyExpr_Pred $ panicJust "HS.ToEH.Instance.eh.type.ehMbAsPr" _typeIehMbAsPr
c = map (rngLift range_ EH.TyExpr_Pred) _contextIeh
in rngLift range_ EH.Decl_Instance (Just (_instancerefname,useimplicitly_)) instVariant_ (appArr c h) (concat _ehReorderedDecls)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 128, column 9)
_lhsOeh =
[_eh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 193, column 9)
_isAsPred =
True
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 233, column 9)
_doGenVarWild =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 304, column 9)
(_mbPrevInstancename,_lhsOtopInstanceNmL) =
extrTopInstanceNm _lhsItopInstanceNmL
-- -- generated by the unique rule mechanism.
(_contextOgUniq,_lUniq) =
let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_whereIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
_whereIgathPragmas
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
_whereIidInClassTySigDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
_whereIidInInstanceValDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
_whereIneedsError
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_contextIppWrap . _typeIppWrap . _whereIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_trpp
-- copy rule (up)
_lhsOgUniq =
_whereIgUniq
-- copy rule (down)
_contextOfixityGam =
_lhsIfixityGam
-- copy rule (from local)
_contextOidGam =
_idGam
-- copy rule (from local)
_contextOnmLev =
_nmLev
-- copy rule (down)
_contextOopts =
_lhsIopts
-- copy rule (down)
_contextOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_contextOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_contextOtr =
_lhsItr
-- copy rule (from local)
_typeOdoGenVarWild =
_doGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_typeOgUniq =
_contextIgUniq
-- copy rule (from local)
_typeOidGam =
_idGam
-- copy rule (from local)
_typeOisAsPred =
_isAsPred
-- copy rule (from local)
_typeOnmLev =
_nmLev
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (down)
_typeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_typeOtopInstanceNmL =
_contextItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
-- copy rule (down)
_whereOcaseId =
_lhsIcaseId
-- copy rule (down)
_whereOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_whereOgUniq =
_typeIgUniq
-- copy rule (down)
_whereOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (from local)
_whereOidGam =
_idGam
-- copy rule (down)
_whereOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_whereOnameDeclCxt =
_nameDeclCxt
-- copy rule (from local)
_whereOnmLev =
_nmLev
-- copy rule (down)
_whereOopts =
_lhsIopts
-- copy rule (down)
_whereOpragmas =
_lhsIpragmas
-- copy rule (chain)
_whereOtopInstanceNmL =
_typeItopInstanceNmL
-- copy rule (down)
_whereOtr =
_lhsItr
( _contextIeh,_contextIehTy,_contextIerrSq,_contextIfreeTvarS,_contextIgUniq,_contextIidUseOccGam,_contextIpp,_contextIppWrap,_contextItopInstanceNmL,_contextItrpp,_contextIundefOccGam) =
context_ _contextOfixityGam _contextOgUniq _contextOidGam _contextOnmLev _contextOopts _contextOpatchEhNmInInstance _contextOtopInstanceNmL _contextOtr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
( _whereIeh,_whereIerrSq,_whereIgUniq,_whereIgathFixityGam,_whereIgathPragmas,_whereIidDefOccGam,_whereIidDpdMp,_whereIidInClassTySigDefOccGam,_whereIidInInstanceValDefOccGam,_whereIidOccDefs,_whereIidUseOccGam,_whereIneedsError,_whereIpp,_whereIppWrap,_whereItopInstanceNmL,_whereItrpp,_whereIundefOccGam) =
where_ _whereOcaseId _whereOfixityGam _whereOgUniq _whereOgenerDerivMp _whereOidGam _whereOmoduleNm _whereOnameDeclCxt _whereOnmLev _whereOopts _whereOpatchEhNmInInstance _whereOpragmas _whereOtopInstanceNmL _whereOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Declaration_InstanceUseImplicitly :: Range ->
T_Expression ->
T_Type ->
T_Declaration
sem_Declaration_InstanceUseImplicitly range_ expression_ type_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([EH.Decl])
_lhsOtopInstanceNmL :: ([HsName])
_expressionOgUniq :: UID
_lUniq :: UID
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOidGam :: IdDefOccGam
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 40, column 9)
_trpp =
(_lhsItr TraceOn_HsOcc $ [_idOccDef >#< "= InstanceUseImplicitly" >#< _classrefname] ++ [ "idUseHereOccL=" >#< ppBracketsCommas _idUseHereOccL ])
>< _expressionItrpp >< _typeItrpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 242, column 9)
_idDefOccGam =
if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts
then mkDefOccGam _lhsInmLev range_ (IdAsp_Inst_Def _eh _classrefname) [_idOccDef]
`gamUnion` mkDefOccGam _lhsInmLev range_ IdAsp_Val_Var [_idOccDefVal]
else mkDefOccGam _lhsInmLev range_ (IdAsp_Inst_Def _eh _classrefname) _idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 715, column 29)
(_classrefname,_,_idUseOccGamInst,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [_typeIconNm] IdOcc_Class IdAsp_Class_Class range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 973, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts
then splitIdUseOccGam _lhsInmLev
(gamUnions [_idUseOccGamInst,_typeIidUseOccGam,_expressionIidUseOccGam])
else splitIdUseOccGam _lhsInmLev
(gamUnions [_idUseOccGamInst,_typeIidUseOccGam,_expressionIidUseOccGam])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 973, column 9)
_idDpdMp =
if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts
then idDpdMpUnions
[ idToOccL2DpdMp [_idOccDef] _idUseHereOccL
, idDpdMpSingleton _idOccDefVal _idOccDef
]
else idToOccL2DpdMp [_idOccDef] _idUseHereOccL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1263, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 22, column 9)
_instancerefname =
hsnSetLevQual _lhsInmLev _lhsImoduleNm
$ maybe _instancename id _mbPrevInstancename
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 145, column 9)
_idOccDef =
IdOcc _instancerefname IdOcc_Inst
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 145, column 9)
_idOccDefVal =
IdOcc _instancerefname IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 145, column 9)
_idOccDefs =
if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts then [_idOccDef,_idOccDefVal] else [_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 244, column 9)
_instancename =
mkHNm _lUniq
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 24, column 9)
_nmLev =
_lhsInmLev
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 139, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUse, _expressionIerrSq, _typeIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 65, column 9)
_pp =
"instance" >#< _expressionIpp >#< "<:" >#< _typeIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 130, column 9)
_eh =
let
h = panicJust "HS.ToEH.InstanceUseImplicitly.eh.type.ehMbAsPr" _typeIehMbAsPr
in rngLift range_ EH.Decl_InstanceIntro (Just _instancerefname) _expressionIeh h
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 133, column 9)
_lhsOeh =
[_eh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 193, column 9)
_isAsPred =
True
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 233, column 9)
_doGenVarWild =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 304, column 9)
(_mbPrevInstancename,_lhsOtopInstanceNmL) =
extrTopInstanceNm _lhsItopInstanceNmL
-- -- generated by the unique rule mechanism.
(_expressionOgUniq,_lUniq) =
let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_expressionIppWrap . _typeIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_trpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_undefOccGam
-- copy rule (up)
_lhsOgUniq =
_typeIgUniq
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOidGam =
_lhsIidGam
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_expressionOnmLev =
_nmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (from local)
_expressionOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (down)
_expressionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
-- copy rule (from local)
_typeOdoGenVarWild =
_doGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_typeOgUniq =
_expressionIgUniq
-- copy rule (down)
_typeOidGam =
_lhsIidGam
-- copy rule (from local)
_typeOisAsPred =
_isAsPred
-- copy rule (from local)
_typeOnmLev =
_nmLev
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (from local)
_typeOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (chain)
_typeOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Declaration_Default :: Range ->
MaybeName ->
T_Types ->
T_Declaration
sem_Declaration_Default range_ name_ types_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: ([EH.Decl])
_typesOgUniq :: UID
_lUniq :: UID
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typesOfixityGam :: FixityGam
_typesOidGam :: IdDefOccGam
_typesOisAsPred :: Bool
_typesOnmLev :: NmLev
_typesOopts :: EHCOpts
_typesOpatchEhNmInInstance :: PatchEhNmInInstance
_typesOtopInstanceNmL :: ([HsName])
_typesOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typesIeh :: ([EH.TyExpr])
_typesIerrSq :: ErrSq
_typesIfreeTvarS :: HsNameS
_typesIgUniq :: UID
_typesIidUseOccGam :: IdUseOccGam
_typesIpp :: PP_Doc
_typesIppL :: ([PP_Doc])
_typesIppWrap :: (PP_Doc -> PP_Doc)
_typesItopInstanceNmL :: ([HsName])
_typesItrpp :: TrPP
_typesIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 247, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev range_ (IdAsp_Dflt_Def _eh _ignoredecl) _idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 718, column 29)
(_classrefname,_classrefnames,_idUseOccGamDflt,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam (catMaybes [name_]) IdOcc_Class IdAsp_Class_Class range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 986, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev
(gamUnions [_idUseOccGamDflt,_typesIidUseOccGam])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 986, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 990, column 9)
_lhsOundefOccGam =
gamUnions [_undefOccGam,_typesIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1263, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 149, column 9)
_idOccDef =
IdOcc _defaultname IdOcc_Dflt
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 149, column 9)
_idOccDefs =
[_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 246, column 9)
_defaultname =
mkHNm _lUniq
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 24, column 9)
_nmLev =
_lhsInmLev
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 141, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUse, _typesIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 67, column 9)
_pp =
"default" >#< maybe empty pp name_ >#< ppParensCommas _typesIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 135, column 9)
_ignoredecl =
null _classrefnames
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 135, column 9)
_eh =
rngLift range_ EH.Decl_Default _classrefname _typesIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 137, column 9)
_lhsOeh =
[_eh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 195, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 233, column 9)
_doGenVarWild =
False
-- -- generated by the unique rule mechanism.
(_typesOgUniq,_lUniq) =
let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_typesIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_typesItrpp
-- copy rule (up)
_lhsOgUniq =
_typesIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_typesItopInstanceNmL
-- copy rule (down)
_typesOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_typesOidGam =
_lhsIidGam
-- copy rule (from local)
_typesOisAsPred =
_isAsPred
-- copy rule (from local)
_typesOnmLev =
_nmLev
-- copy rule (down)
_typesOopts =
_lhsIopts
-- copy rule (from local)
_typesOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_typesOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_typesOtr =
_lhsItr
( _typesIeh,_typesIerrSq,_typesIfreeTvarS,_typesIgUniq,_typesIidUseOccGam,_typesIpp,_typesIppL,_typesIppWrap,_typesItopInstanceNmL,_typesItrpp,_typesIundefOccGam) =
types_ _typesOfixityGam _typesOgUniq _typesOidGam _typesOisAsPred _typesOnmLev _typesOopts _typesOpatchEhNmInInstance _typesOtopInstanceNmL _typesOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Declaration_Type :: Range ->
T_TypeLeftHandSide ->
T_Type ->
T_Declaration
sem_Declaration_Type range_ typelefthandside_ type_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typelefthandsideOfixityGam :: FixityGam
_typelefthandsideOgUniq :: UID
_typelefthandsideOidGam :: IdDefOccGam
_typelefthandsideOmoduleNm :: HsName
_typelefthandsideOnmLev :: NmLev
_typelefthandsideOopts :: EHCOpts
_typelefthandsideOpatchEhNmInInstance :: PatchEhNmInInstance
_typelefthandsideOtopInstanceNmL :: ([HsName])
_typelefthandsideOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typelefthandsideIeh :: ([EH.TyVar])
_typelefthandsideIerrSq :: ErrSq
_typelefthandsideIfreeTvarS :: HsNameS
_typelefthandsideIgUniq :: UID
_typelefthandsideIidDefOccGam :: IdDefOccGam
_typelefthandsideIidOccDefs :: ([IdOcc])
_typelefthandsideIidUseOccGam :: IdUseOccGam
_typelefthandsideIname :: Name
_typelefthandsideIpp :: PP_Doc
_typelefthandsideIppWrap :: (PP_Doc -> PP_Doc)
_typelefthandsideIrange :: Range
_typelefthandsideItopInstanceNmL :: ([HsName])
_typelefthandsideItrpp :: TrPP
_typelefthandsideItypevariables :: Names
_typelefthandsideIundefOccGam :: IdUseOccGam
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 249, column 9)
_idDefOccGamType =
tvarL2IdDefOccGam _nmLev _typelefthandsideIrange _typelefthandsideItypevariables
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 249, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev _typelefthandsideIrange (IdAsp_Type_Def _eh) _idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 256, column 9)
_idDefOccGamInside =
tvarL2IdDefOccGam _nmLev _typelefthandsideIrange _typelefthandsideItypevariables
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 443, column 9)
_idGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 992, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev _typeIidUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 992, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 995, column 9)
_lhsOundefOccGam =
gamUnions [_undefOccGam,_typeIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1263, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 28, column 9)
_typerefname =
hsnSetLevQual _lhsInmLev _lhsImoduleNm _typelefthandsideIname
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 152, column 9)
_idOccDef =
IdOcc _typerefname IdOcc_Type
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 152, column 9)
_idOccDefs =
[_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 29, column 9)
_nmLev =
_lhsInmLev
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 141, column 9)
_errDupIntro =
idDefOccGamCheckDupNames _idDefOccGamType
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 145, column 9)
_errSq =
Seq.unions [ Seq.fromList _errDupIntro, _typelefthandsideIerrSq, _typeIerrSq ]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 69, column 9)
_pp =
"type" >#< _typelefthandsideIpp >#< "=" >#< _typeIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 139, column 9)
_eh =
rngLift range_ EH.Decl_Type _typerefname (foldr (rngLift range_ EH.TyExpr_Lam) _typeIeh _typelefthandsideItypevariables)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 140, column 9)
_lhsOeh =
[_eh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 195, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 233, column 9)
_doGenVarWild =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_typelefthandsideIppWrap . _typeIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_typelefthandsideItrpp >< _typeItrpp
-- copy rule (up)
_lhsOgUniq =
_typeIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_typeItopInstanceNmL
-- copy rule (down)
_typelefthandsideOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_typelefthandsideOgUniq =
_lhsIgUniq
-- copy rule (from local)
_typelefthandsideOidGam =
_idGam
-- copy rule (down)
_typelefthandsideOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_typelefthandsideOnmLev =
_nmLev
-- copy rule (down)
_typelefthandsideOopts =
_lhsIopts
-- copy rule (from local)
_typelefthandsideOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_typelefthandsideOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_typelefthandsideOtr =
_lhsItr
-- copy rule (from local)
_typeOdoGenVarWild =
_doGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_typeOgUniq =
_typelefthandsideIgUniq
-- copy rule (from local)
_typeOidGam =
_idGam
-- copy rule (from local)
_typeOisAsPred =
_isAsPred
-- copy rule (from local)
_typeOnmLev =
_nmLev
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (from local)
_typeOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (chain)
_typeOtopInstanceNmL =
_typelefthandsideItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
( _typelefthandsideIeh,_typelefthandsideIerrSq,_typelefthandsideIfreeTvarS,_typelefthandsideIgUniq,_typelefthandsideIidDefOccGam,_typelefthandsideIidOccDefs,_typelefthandsideIidUseOccGam,_typelefthandsideIname,_typelefthandsideIpp,_typelefthandsideIppWrap,_typelefthandsideIrange,_typelefthandsideItopInstanceNmL,_typelefthandsideItrpp,_typelefthandsideItypevariables,_typelefthandsideIundefOccGam) =
typelefthandside_ _typelefthandsideOfixityGam _typelefthandsideOgUniq _typelefthandsideOidGam _typelefthandsideOmoduleNm _typelefthandsideOnmLev _typelefthandsideOopts _typelefthandsideOpatchEhNmInInstance _typelefthandsideOtopInstanceNmL _typelefthandsideOtr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Declaration_Pragma :: Range ->
T_Pragma ->
T_Declaration
sem_Declaration_Pragma range_ pragma_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_pragmaOgUniq :: UID
_pragmaOidGam :: IdDefOccGam
_pragmaOnmLev :: NmLev
_pragmaOopts :: EHCOpts
_pragmaOpatchEhNmInInstance :: PatchEhNmInInstance
_pragmaOtopInstanceNmL :: ([HsName])
_pragmaOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_pragmaIerrSq :: ErrSq
_pragmaIgUniq :: UID
_pragmaIgathPragmas :: (Set.Set Pragma.Pragma)
_pragmaIidUseOccGam :: IdUseOccGam
_pragmaIpp :: PP_Doc
_pragmaIppWrap :: (PP_Doc -> PP_Doc)
_pragmaItopInstanceNmL :: ([HsName])
_pragmaItrpp :: TrPP
_pragmaIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1263, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 75, column 9)
_pp =
"{-#" >#< _pragmaIpp >#< "#-}"
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 148, column 9)
_eh =
undefined
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 149, column 9)
_lhsOeh =
[]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 195, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 233, column 9)
_doGenVarWild =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_pragmaIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
_pragmaIgathPragmas
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_pragmaIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_pragmaIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_pragmaItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_pragmaIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_pragmaIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_pragmaItopInstanceNmL
-- copy rule (down)
_pragmaOgUniq =
_lhsIgUniq
-- copy rule (down)
_pragmaOidGam =
_lhsIidGam
-- copy rule (down)
_pragmaOnmLev =
_lhsInmLev
-- copy rule (down)
_pragmaOopts =
_lhsIopts
-- copy rule (from local)
_pragmaOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_pragmaOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_pragmaOtr =
_lhsItr
( _pragmaIerrSq,_pragmaIgUniq,_pragmaIgathPragmas,_pragmaIidUseOccGam,_pragmaIpp,_pragmaIppWrap,_pragmaItopInstanceNmL,_pragmaItrpp,_pragmaIundefOccGam) =
pragma_ _pragmaOgUniq _pragmaOidGam _pragmaOnmLev _pragmaOopts _pragmaOpatchEhNmInInstance _pragmaOtopInstanceNmL _pragmaOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Declaration_Module :: Range ->
MaybeName ->
T_MaybeExports ->
T_Declaration
sem_Declaration_Module range_ name_ exports_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_exportsOfixityGam :: FixityGam
_exportsOgUniq :: UID
_exportsOidGam :: IdDefOccGam
_exportsOisMainMod :: Bool
_exportsOisTopMod :: Bool
_exportsOmoduleNm :: HsName
_exportsOnmLev :: NmLev
_exportsOopts :: EHCOpts
_exportsOpatchEhNmInInstance :: PatchEhNmInInstance
_exportsOtopInstanceNmL :: ([HsName])
_exportsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_exportsIerrSq :: ErrSq
_exportsIgUniq :: UID
_exportsIgathFixityGam :: FixityGam
_exportsIidUseOccGam :: IdUseOccGam
_exportsIpp :: PP_Doc
_exportsIppWrap :: (PP_Doc -> PP_Doc)
_exportsItopInstanceNmL :: ([HsName])
_exportsItrpp :: TrPP
_exportsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1263, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 148, column 9)
_eh =
undefined
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 149, column 9)
_lhsOeh =
[]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 195, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 233, column 9)
_doGenVarWild =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 264, column 9)
_isMainMod =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 264, column 9)
_isTopMod =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_exportsIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_exportsIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_exportsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_exportsIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_exportsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_exportsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_exportsIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_exportsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_exportsItopInstanceNmL
-- copy rule (down)
_exportsOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_exportsOgUniq =
_lhsIgUniq
-- copy rule (down)
_exportsOidGam =
_lhsIidGam
-- copy rule (from local)
_exportsOisMainMod =
_isMainMod
-- copy rule (from local)
_exportsOisTopMod =
_isTopMod
-- copy rule (down)
_exportsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_exportsOnmLev =
_lhsInmLev
-- copy rule (down)
_exportsOopts =
_lhsIopts
-- copy rule (from local)
_exportsOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_exportsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_exportsOtr =
_lhsItr
( _exportsIerrSq,_exportsIgUniq,_exportsIgathFixityGam,_exportsIidUseOccGam,_exportsIpp,_exportsIppWrap,_exportsItopInstanceNmL,_exportsItrpp,_exportsIundefOccGam) =
exports_ _exportsOfixityGam _exportsOgUniq _exportsOidGam _exportsOisMainMod _exportsOisTopMod _exportsOmoduleNm _exportsOnmLev _exportsOopts _exportsOpatchEhNmInInstance _exportsOtopInstanceNmL _exportsOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Declarations ------------------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nameDeclCxt : NameDeclCxt
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.Decl]
errSq : ErrSq
gathFixityGam : FixityGam
gathPragmas : Set.Set Pragma.Pragma
idDefOccGam : IdDefOccGam
idDpdMp : IdDpdMp
idInClassTySigDefOccGam : IdDefOccGam
idInInstanceValDefOccGam : IdDefOccGam
idOccDefs : [IdOcc]
idUseOccGam : IdUseOccGam
needsError : Bool
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : Declaration
child tl : Declarations
alternative Nil:
-}
-- cata
sem_Declarations :: Declarations ->
T_Declarations
sem_Declarations list =
(Prelude.foldr sem_Declarations_Cons sem_Declarations_Nil (Prelude.map sem_Declaration list))
-- semantic domain
type T_Declarations = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NameDeclCxt ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.Decl]),ErrSq,UID,FixityGam,(Set.Set Pragma.Pragma),IdDefOccGam,IdDpdMp,IdDefOccGam,IdDefOccGam,([IdOcc]),IdUseOccGam,Bool,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Declarations_Cons :: T_Declaration ->
T_Declarations ->
T_Declarations
sem_Declarations_Cons hd_ tl_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOcaseId :: UID
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnameDeclCxt :: NameDeclCxt
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOpragmas :: (Set.Set Pragma.Pragma)
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOcaseId :: UID
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnameDeclCxt :: NameDeclCxt
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOpragmas :: (Set.Set Pragma.Pragma)
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIeh :: ([EH.Decl])
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIgathFixityGam :: FixityGam
_hdIgathPragmas :: (Set.Set Pragma.Pragma)
_hdIidDefOccGam :: IdDefOccGam
_hdIidDpdMp :: IdDpdMp
_hdIidInClassTySigDefOccGam :: IdDefOccGam
_hdIidInInstanceValDefOccGam :: IdDefOccGam
_hdIidOccDefs :: ([IdOcc])
_hdIidUseOccGam :: IdUseOccGam
_hdIneedsError :: Bool
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.Decl])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIgathFixityGam :: FixityGam
_tlIgathPragmas :: (Set.Set Pragma.Pragma)
_tlIidDefOccGam :: IdDefOccGam
_tlIidDpdMp :: IdDpdMp
_tlIidInClassTySigDefOccGam :: IdDefOccGam
_tlIidInInstanceValDefOccGam :: IdDefOccGam
_tlIidOccDefs :: ([IdOcc])
_tlIidUseOccGam :: IdUseOccGam
_tlIneedsError :: Bool
_tlIpp :: PP_Doc
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 66, column 28)
_lhsOeh =
_hdIeh ++ _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_hdIgathFixityGam `gamAddGam` _tlIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
_hdIgathPragmas `Set.union` _tlIgathPragmas
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_hdIidDefOccGam `gamAddGam` _tlIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_hdIidDpdMp `idDpdMpUnion` _tlIidDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
_hdIidInClassTySigDefOccGam `gamAddGam` _tlIidInClassTySigDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
_hdIidInInstanceValDefOccGam `gamAddGam` _tlIidInInstanceValDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_hdIidOccDefs ++ _tlIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
_hdIneedsError || _tlIneedsError
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOcaseId =
_lhsIcaseId
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnameDeclCxt =
_lhsInameDeclCxt
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOpragmas =
_lhsIpragmas
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOcaseId =
_lhsIcaseId
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_tlOnameDeclCxt =
_lhsInameDeclCxt
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_tlOpragmas =
_lhsIpragmas
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIgathFixityGam,_hdIgathPragmas,_hdIidDefOccGam,_hdIidDpdMp,_hdIidInClassTySigDefOccGam,_hdIidInInstanceValDefOccGam,_hdIidOccDefs,_hdIidUseOccGam,_hdIneedsError,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOcaseId _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOnameDeclCxt _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIgathFixityGam,_tlIgathPragmas,_tlIidDefOccGam,_tlIidDpdMp,_tlIidInClassTySigDefOccGam,_tlIidInInstanceValDefOccGam,_tlIidOccDefs,_tlIidUseOccGam,_tlIneedsError,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOcaseId _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOnameDeclCxt _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Declarations_Nil :: T_Declarations
sem_Declarations_Nil =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 66, column 28)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Deriving ----------------------------------------------------
{-
visit 0:
inherited attributes:
ehDataTyExpr : EH.TyExpr
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
idOccDefsData : [IdOcc]
moduleNm : HsName
nameDeclCxt : NameDeclCxt
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathFixityGam : FixityGam
gathPragmas : Set.Set Pragma.Pragma
hasGenericDeriving : Bool
idDefOccGam : IdDefOccGam
idDpdMp : IdDpdMp
idInClassTySigDefOccGam : IdDefOccGam
idInInstanceValDefOccGam : IdDefOccGam
idOccDefs : [IdOcc]
idUseOccGam : IdUseOccGam
needsError : Bool
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Deriving:
child range : {Range}
child maybeinstancename : {MaybeName}
child useimplicitly : {Bool}
child name : {Name}
visit 0:
local idDefOccGam : _
local classrefname : _
local idUseOccGam : _
local errIdUse : _
local instancerefname : _
local idOccDef : _
local idOccDefVal : _
local idOccDefs : _
local hasGenericDeriving : _
local instancename : _
local errSq : _
local pp : _
local eh : _
local mbPrevInstancename : _
local lUniq : {UID}
-}
-- cata
sem_Deriving :: Deriving ->
T_Deriving
sem_Deriving (Deriving_Deriving _range _maybeinstancename _useimplicitly _name) =
(sem_Deriving_Deriving _range _maybeinstancename _useimplicitly _name)
-- semantic domain
type T_Deriving = (EH.TyExpr) ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
([IdOcc]) ->
HsName ->
NameDeclCxt ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ErrSq,UID,FixityGam,(Set.Set Pragma.Pragma),Bool,IdDefOccGam,IdDpdMp,IdDefOccGam,IdDefOccGam,([IdOcc]),IdUseOccGam,Bool,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Deriving_Deriving :: Range ->
MaybeName ->
Bool ->
Name ->
T_Deriving
sem_Deriving_Deriving range_ maybeinstancename_ useimplicitly_ name_ =
(\ _lhsIehDataTyExpr
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsIidOccDefsData
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidDpdMp :: IdDpdMp
_lhsOtopInstanceNmL :: ([HsName])
_lhsOgUniq :: UID
_lUniq :: UID
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOhasGenericDeriving :: Bool
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 329, column 9)
_idDefOccGam =
if _hasGenericDeriving
then emptyGam
else
mkDefOccGam _lhsInmLev range_ (IdAsp_Inst_Def _eh _classrefname) [_idOccDef]
`gamUnion` mkDefOccGam _lhsInmLev range_ IdAsp_Val_Var [_idOccDefVal]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 723, column 29)
(_classrefname,_,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [name_] IdOcc_Class IdAsp_Class_Class range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1025, column 9)
_lhsOidDpdMp =
if _hasGenericDeriving
then emptyIdDpdMp
else
(if ehcOptIsUnderDev UnderDev_NameAnalysis _lhsIopts then idToOccGam2DpdMp [_idOccDef] _idUseOccGam else emptyIdDpdMp)
`idDpdMpUnion`
idDpdMpUnions
[ idDpdMpList _idOccDef _lhsIidOccDefsData
, idDpdMpSingleton _idOccDefVal _idOccDef
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 37, column 9)
_instancerefname =
hsnSetLevQual _lhsInmLev _lhsImoduleNm
$ maybe _instancename id _mbPrevInstancename
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 190, column 9)
_idOccDef =
IdOcc _instancerefname IdOcc_Inst
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 190, column 9)
_idOccDefVal =
IdOcc _instancerefname IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 190, column 9)
_idOccDefs =
if _hasGenericDeriving then [] else
[_idOccDef,_idOccDefVal]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 200, column 9)
_hasGenericDeriving =
name_ == (hsnQualified $ ehbnGenerClassGeneric $ ehcOptBuiltinNames $ _lhsIopts)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 254, column 9)
_instancename =
maybe (mkHNm _lUniq) id maybeinstancename_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 164, column 9)
_errSq =
Seq.fromList _errIdUse
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 87, column 9)
_pp =
ppInstNm useimplicitly_ maybeinstancename_ >#< name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 169, column 9)
_eh =
let h = rngLift range_ EH.TyExpr_Pred
$ rngLift range_ EH.PrExpr_Class _classrefname [rngLift range_ EH.TyExpr_Parens _lhsIehDataTyExpr]
in rngLift range_ EH.Decl_Instance (Just (_instancerefname,useimplicitly_)) (InstDeriving InstDerivingFrom_Datatype) h []
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 309, column 9)
(_mbPrevInstancename,_lhsOtopInstanceNmL) =
extrTopInstanceNm _lhsItopInstanceNmL
-- -- generated by the unique rule mechanism.
(_lhsOgUniq,_lUniq) =
let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 196, column 43)
_lhsOhasGenericDeriving =
_hasGenericDeriving
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOhasGenericDeriving,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Derivings ---------------------------------------------------
{-
visit 0:
inherited attributes:
ehDataTyExpr : EH.TyExpr
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
idOccDefsData : [IdOcc]
moduleNm : HsName
nameDeclCxt : NameDeclCxt
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathFixityGam : FixityGam
gathPragmas : Set.Set Pragma.Pragma
hasGenericDeriving : Bool
idDefOccGam : IdDefOccGam
idDpdMp : IdDpdMp
idInClassTySigDefOccGam : IdDefOccGam
idInInstanceValDefOccGam : IdDefOccGam
idOccDefs : [IdOcc]
idUseOccGam : IdUseOccGam
needsError : Bool
pp : PP_Doc
ppL : [PP_Doc]
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : Deriving
child tl : Derivings
alternative Nil:
-}
-- cata
sem_Derivings :: Derivings ->
T_Derivings
sem_Derivings list =
(Prelude.foldr sem_Derivings_Cons sem_Derivings_Nil (Prelude.map sem_Deriving list))
-- semantic domain
type T_Derivings = (EH.TyExpr) ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
([IdOcc]) ->
HsName ->
NameDeclCxt ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ErrSq,UID,FixityGam,(Set.Set Pragma.Pragma),Bool,IdDefOccGam,IdDpdMp,IdDefOccGam,IdDefOccGam,([IdOcc]),IdUseOccGam,Bool,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Derivings_Cons :: T_Deriving ->
T_Derivings ->
T_Derivings
sem_Derivings_Cons hd_ tl_ =
(\ _lhsIehDataTyExpr
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsIidOccDefsData
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOhasGenericDeriving :: Bool
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOehDataTyExpr :: (EH.TyExpr)
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_hdOidGam :: IdDefOccGam
_hdOidOccDefsData :: ([IdOcc])
_hdOmoduleNm :: HsName
_hdOnameDeclCxt :: NameDeclCxt
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOpragmas :: (Set.Set Pragma.Pragma)
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOehDataTyExpr :: (EH.TyExpr)
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_tlOidGam :: IdDefOccGam
_tlOidOccDefsData :: ([IdOcc])
_tlOmoduleNm :: HsName
_tlOnameDeclCxt :: NameDeclCxt
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOpragmas :: (Set.Set Pragma.Pragma)
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIgathFixityGam :: FixityGam
_hdIgathPragmas :: (Set.Set Pragma.Pragma)
_hdIhasGenericDeriving :: Bool
_hdIidDefOccGam :: IdDefOccGam
_hdIidDpdMp :: IdDpdMp
_hdIidInClassTySigDefOccGam :: IdDefOccGam
_hdIidInInstanceValDefOccGam :: IdDefOccGam
_hdIidOccDefs :: ([IdOcc])
_hdIidUseOccGam :: IdUseOccGam
_hdIneedsError :: Bool
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIgathFixityGam :: FixityGam
_tlIgathPragmas :: (Set.Set Pragma.Pragma)
_tlIhasGenericDeriving :: Bool
_tlIidDefOccGam :: IdDefOccGam
_tlIidDpdMp :: IdDpdMp
_tlIidInClassTySigDefOccGam :: IdDefOccGam
_tlIidInInstanceValDefOccGam :: IdDefOccGam
_tlIidOccDefs :: ([IdOcc])
_tlIidUseOccGam :: IdUseOccGam
_tlIneedsError :: Bool
_tlIpp :: PP_Doc
_tlIppL :: ([PP_Doc])
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 528, column 9)
_lhsOppL =
_hdIpp : _tlIppL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_hdIgathFixityGam `gamAddGam` _tlIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
_hdIgathPragmas `Set.union` _tlIgathPragmas
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 196, column 43)
_lhsOhasGenericDeriving =
_hdIhasGenericDeriving || _tlIhasGenericDeriving
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_hdIidDefOccGam `gamAddGam` _tlIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_hdIidDpdMp `idDpdMpUnion` _tlIidDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
_hdIidInClassTySigDefOccGam `gamAddGam` _tlIidInClassTySigDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
_hdIidInInstanceValDefOccGam `gamAddGam` _tlIidInInstanceValDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_hdIidOccDefs ++ _tlIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
_hdIneedsError || _tlIneedsError
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOehDataTyExpr =
_lhsIehDataTyExpr
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOidOccDefsData =
_lhsIidOccDefsData
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnameDeclCxt =
_lhsInameDeclCxt
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOpragmas =
_lhsIpragmas
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOehDataTyExpr =
_lhsIehDataTyExpr
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOidOccDefsData =
_lhsIidOccDefsData
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_tlOnameDeclCxt =
_lhsInameDeclCxt
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_tlOpragmas =
_lhsIpragmas
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIerrSq,_hdIgUniq,_hdIgathFixityGam,_hdIgathPragmas,_hdIhasGenericDeriving,_hdIidDefOccGam,_hdIidDpdMp,_hdIidInClassTySigDefOccGam,_hdIidInInstanceValDefOccGam,_hdIidOccDefs,_hdIidUseOccGam,_hdIneedsError,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOehDataTyExpr _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOidOccDefsData _hdOmoduleNm _hdOnameDeclCxt _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL _hdOtr
( _tlIerrSq,_tlIgUniq,_tlIgathFixityGam,_tlIgathPragmas,_tlIhasGenericDeriving,_tlIidDefOccGam,_tlIidDpdMp,_tlIidInClassTySigDefOccGam,_tlIidInInstanceValDefOccGam,_tlIidOccDefs,_tlIidUseOccGam,_tlIneedsError,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOehDataTyExpr _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOidOccDefsData _tlOmoduleNm _tlOnameDeclCxt _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL _tlOtr
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOhasGenericDeriving,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Derivings_Nil :: T_Derivings
sem_Derivings_Nil =
(\ _lhsIehDataTyExpr
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsIidOccDefsData
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOhasGenericDeriving :: Bool
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 530, column 9)
_lhsOppL =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 196, column 43)
_lhsOhasGenericDeriving =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOhasGenericDeriving,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Export ------------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isMainMod : Bool
isTopMod : Bool
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathFixityGam : FixityGam
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Variable:
child range : {Range}
child name : {Name}
alternative TypeOrClass:
child range : {Range}
child name : {Name}
child names : {MaybeNames}
alternative TypeOrClassComplete:
child range : {Range}
child name : {Name}
alternative Module:
child range : {Range}
child name : {Name}
-}
-- cata
sem_Export :: Export ->
T_Export
sem_Export (Export_Variable _range _name) =
(sem_Export_Variable _range _name)
sem_Export (Export_TypeOrClass _range _name _names) =
(sem_Export_TypeOrClass _range _name _names)
sem_Export (Export_TypeOrClassComplete _range _name) =
(sem_Export_TypeOrClassComplete _range _name)
sem_Export (Export_Module _range _name) =
(sem_Export_Module _range _name)
-- semantic domain
type T_Export = FixityGam ->
UID ->
IdDefOccGam ->
Bool ->
Bool ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ErrSq,UID,FixityGam,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Export_Variable :: Range ->
Name ->
T_Export
sem_Export_Variable range_ name_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Export_TypeOrClass :: Range ->
Name ->
MaybeNames ->
T_Export
sem_Export_TypeOrClass range_ name_ names_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Export_TypeOrClassComplete :: Range ->
Name ->
T_Export
sem_Export_TypeOrClassComplete range_ name_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Export_Module :: Range ->
Name ->
T_Export
sem_Export_Module range_ name_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Exports -----------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isMainMod : Bool
isTopMod : Bool
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathFixityGam : FixityGam
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : Export
child tl : Exports
alternative Nil:
-}
-- cata
sem_Exports :: Exports ->
T_Exports
sem_Exports list =
(Prelude.foldr sem_Exports_Cons sem_Exports_Nil (Prelude.map sem_Export list))
-- semantic domain
type T_Exports = FixityGam ->
UID ->
IdDefOccGam ->
Bool ->
Bool ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ErrSq,UID,FixityGam,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Exports_Cons :: T_Export ->
T_Exports ->
T_Exports
sem_Exports_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOisMainMod :: Bool
_hdOisTopMod :: Bool
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOisMainMod :: Bool
_tlOisTopMod :: Bool
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIgathFixityGam :: FixityGam
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIgathFixityGam :: FixityGam
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_hdIgathFixityGam `gamAddGam` _tlIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOisMainMod =
_lhsIisMainMod
-- copy rule (down)
_hdOisTopMod =
_lhsIisTopMod
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOisMainMod =
_lhsIisMainMod
-- copy rule (down)
_tlOisTopMod =
_lhsIisTopMod
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIerrSq,_hdIgUniq,_hdIgathFixityGam,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOidGam _hdOisMainMod _hdOisTopMod _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL _hdOtr
( _tlIerrSq,_tlIgUniq,_tlIgathFixityGam,_tlIidUseOccGam,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOisMainMod _tlOisTopMod _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL _tlOtr
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Exports_Nil :: T_Exports
sem_Exports_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Expression --------------------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
conNm : Name
eh : EH.Expr
errSq : ErrSq
idUseOccGam : IdUseOccGam
opChain : OpChain EH.Expr
operatorName : MaybeName
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Literal:
child range : {Range}
child literal : Literal
visit 0:
local litnames : _
local litrefname : _
local litrefnames : _
local idUseOccGam : _
local errIdUse : _
local errSq : _
local eh : _
local isAsPred : _
alternative Variable:
child range : {Range}
child name : {Name}
visit 0:
local idAsp : _
local refname : _
local idUseOccGam : _
local errIdUse : _
local errSq : _
local pp : _
local eh : _
local isAsPred : _
alternative Constructor:
child range : {Range}
child name : {Name}
visit 0:
local idAsp : _
local refname : _
local idUseOccGam : _
local errIdUse : _
local errSq : _
local pp : _
local eh : _
local isAsPred : _
alternative TupleConstructor:
child range : {Range}
child arity : {Int}
visit 0:
local pp : _
local eh : _
local isAsPred : _
alternative Parenthesized:
child range : {Range}
child expression : Expression
visit 0:
local pp : _
local eh : _
local isAsPred : _
alternative NormalApplication:
child range : {Range}
child function : Expression
child arguments : Expressions
visit 0:
local pp : _
local eh : _
local isAsPred : _
alternative SectionApplication:
child range : {Range}
child leftExpression : MaybeExpression
child operator : Expression
child rightExpression : MaybeExpression
visit 0:
local pp : _
local eh : _
local isAsPred : _
local lUniq_1_nm : {UID}
alternative InfixApplication:
child range : {Range}
child leftExpression : Expression
child operator : Expression
child rightExpression : Expression
visit 0:
local pp : _
local fgi : _
local eh : _
local isAsPred : _
alternative InfixApplicationChainTop:
child range : {Range}
child expression : Expression
visit 0:
local errSq : _
local ehRearrOpChain : _
local errRearr : _
local ehFromOpChain : _
local eh : _
local isAsPred : _
alternative Lambda:
child range : {Range}
child patterns : Patterns
child expression : Expression
visit 0:
local nmLev : _
local errDupIntro : _
local errSq : _
local pp : _
local eh : _
local isAsPred : _
alternative Let:
child range : {Range}
child isStrict : {Bool}
child declarations : Declarations
child expression : Expression
visit 0:
local nameDeclCxt : _
local idGam : _
local sccOrder : _
local mkSccLet : _
local errReorder : _
local nmLev : _
local errDupIntro : _
local errSq : _
local pp : _
local ppExtra : _
local fixityGam : _
local eh : _
local isAsPred : _
alternative Tuple:
child range : {Range}
child expressions : Expressions
visit 0:
local pp : _
local eh : _
local isAsPred : _
alternative Typed:
child range : {Range}
child expression : Expression
child type : Type
visit 0:
local idDefOccGamType : _
local pp : _
local eh : _
local isAsPred : _
local doGenVarWild : _
alternative Negate:
child range : {Range}
child expression : Expression
visit 0:
local refname : _
local idUseOccGam : _
local errIdUse : _
local errSq : _
local pp : _
local eh : _
local isAsPred : _
alternative Annotate:
child range : {Range}
child annotation : ExpressionAnnotation
child expression : Expression
visit 0:
local eh : _
local isAsPred : _
alternative ImpredicativeApplication:
child range : {Range}
child function : Expression
child arguments : Expressions
visit 0:
local pp : _
local eh : _
local isAsPred : _
alternative If:
child range : {Range}
child guardExpression : Expression
child thenExpression : Expression
child elseExpression : Expression
visit 0:
local valrefnames : _
local idUseOccGamVal : _
local errIdUseVal : _
local typerefname : _
local idUseOccGamType : _
local errIdUseType : _
local idUseOccGam : _
local errSq : _
local pp : _
local eh : _
local isAsPred : _
alternative Case:
child range : {Range}
child expression : Expression
child alternatives : Alternatives
visit 0:
local pp : _
local eh : _
local caseId : _
local isAsPred : _
local lUniq : {UID}
alternative List:
child range : {Range}
child expressions : Expressions
visit 0:
local refnames : _
local idUseOccGam : _
local errIdUse : _
local errSq : _
local pp : _
local eh : _
local isAsPred : _
alternative Enum:
child range : {Range}
child from : Expression
child then : MaybeExpression
child to : MaybeExpression
visit 0:
local refname : _
local idUseOccGam : _
local errIdUse : _
local errSq : _
local pp : _
local enumNm : _
local eh : _
local isAsPred : _
alternative Comprehension:
child range : {Range}
child expression : Expression
child qualifiers : Qualifiers
visit 0:
local pp : _
local eh : _
local isAsPred : _
alternative RecordConstruction:
child range : {Range}
child name : {Name}
child recordExpressionBindings : RecordExpressionBindings
visit 0:
local idAsp : _
local refname : _
local idUseOccGam : _
local errIdUse : _
local errSq : _
local pp : _
local eh : _
local isAsPred : _
alternative RecordUpdate:
child range : {Range}
child expression : Expression
child recordExpressionBindings : RecordExpressionBindings
visit 0:
local pp : _
local eh : _
local isAsPred : _
alternative RowRecordUpdate:
child range : {Range}
child expression : Expression
child rowRecordExpressionUpdates : RowRecordExpressionUpdates
visit 0:
local pp : _
local eh : _
local isAsPred : _
alternative RowRecordEmpty:
child range : {Range}
visit 0:
local pp : _
local eh : _
local isAsPred : _
alternative RowRecordSelect:
child range : {Range}
child expression : Expression
child name : {Name}
visit 0:
local pp : _
local eh : _
local isAsPred : _
alternative Do:
child range : {Range}
child statements : Statements
visit 0:
local pp : _
local eh : _
local isAsPred : _
alternative ImplicitApplication:
child range : {Range}
child function : Expression
child arguments : ContextedExpressions
visit 0:
local pp : _
local eh : _
local isAsPred : _
alternative ImplicitLambda:
child range : {Range}
child patterns : ContextedPatterns
child expression : Expression
visit 0:
local idDefOccGamType : _
local idGam : _
local errDupIntro : _
local errSq : _
local pp : _
local eh : _
local isAsPred : _
-}
-- cata
sem_Expression :: Expression ->
T_Expression
sem_Expression (Expression_Literal _range _literal) =
(sem_Expression_Literal _range (sem_Literal _literal))
sem_Expression (Expression_Variable _range _name) =
(sem_Expression_Variable _range _name)
sem_Expression (Expression_Constructor _range _name) =
(sem_Expression_Constructor _range _name)
sem_Expression (Expression_TupleConstructor _range _arity) =
(sem_Expression_TupleConstructor _range _arity)
sem_Expression (Expression_Parenthesized _range _expression) =
(sem_Expression_Parenthesized _range (sem_Expression _expression))
sem_Expression (Expression_NormalApplication _range _function _arguments) =
(sem_Expression_NormalApplication _range (sem_Expression _function) (sem_Expressions _arguments))
sem_Expression (Expression_SectionApplication _range _leftExpression _operator _rightExpression) =
(sem_Expression_SectionApplication _range (sem_MaybeExpression _leftExpression) (sem_Expression _operator) (sem_MaybeExpression _rightExpression))
sem_Expression (Expression_InfixApplication _range _leftExpression _operator _rightExpression) =
(sem_Expression_InfixApplication _range (sem_Expression _leftExpression) (sem_Expression _operator) (sem_Expression _rightExpression))
sem_Expression (Expression_InfixApplicationChainTop _range _expression) =
(sem_Expression_InfixApplicationChainTop _range (sem_Expression _expression))
sem_Expression (Expression_Lambda _range _patterns _expression) =
(sem_Expression_Lambda _range (sem_Patterns _patterns) (sem_Expression _expression))
sem_Expression (Expression_Let _range _isStrict _declarations _expression) =
(sem_Expression_Let _range _isStrict (sem_Declarations _declarations) (sem_Expression _expression))
sem_Expression (Expression_Tuple _range _expressions) =
(sem_Expression_Tuple _range (sem_Expressions _expressions))
sem_Expression (Expression_Typed _range _expression _type) =
(sem_Expression_Typed _range (sem_Expression _expression) (sem_Type _type))
sem_Expression (Expression_Negate _range _expression) =
(sem_Expression_Negate _range (sem_Expression _expression))
sem_Expression (Expression_Annotate _range _annotation _expression) =
(sem_Expression_Annotate _range (sem_ExpressionAnnotation _annotation) (sem_Expression _expression))
sem_Expression (Expression_ImpredicativeApplication _range _function _arguments) =
(sem_Expression_ImpredicativeApplication _range (sem_Expression _function) (sem_Expressions _arguments))
sem_Expression (Expression_If _range _guardExpression _thenExpression _elseExpression) =
(sem_Expression_If _range (sem_Expression _guardExpression) (sem_Expression _thenExpression) (sem_Expression _elseExpression))
sem_Expression (Expression_Case _range _expression _alternatives) =
(sem_Expression_Case _range (sem_Expression _expression) (sem_Alternatives _alternatives))
sem_Expression (Expression_List _range _expressions) =
(sem_Expression_List _range (sem_Expressions _expressions))
sem_Expression (Expression_Enum _range _from _then _to) =
(sem_Expression_Enum _range (sem_Expression _from) (sem_MaybeExpression _then) (sem_MaybeExpression _to))
sem_Expression (Expression_Comprehension _range _expression _qualifiers) =
(sem_Expression_Comprehension _range (sem_Expression _expression) (sem_Qualifiers _qualifiers))
sem_Expression (Expression_RecordConstruction _range _name _recordExpressionBindings) =
(sem_Expression_RecordConstruction _range _name (sem_RecordExpressionBindings _recordExpressionBindings))
sem_Expression (Expression_RecordUpdate _range _expression _recordExpressionBindings) =
(sem_Expression_RecordUpdate _range (sem_Expression _expression) (sem_RecordExpressionBindings _recordExpressionBindings))
sem_Expression (Expression_RowRecordUpdate _range _expression _rowRecordExpressionUpdates) =
(sem_Expression_RowRecordUpdate _range (sem_Expression _expression) (sem_RowRecordExpressionUpdates _rowRecordExpressionUpdates))
sem_Expression (Expression_RowRecordEmpty _range) =
(sem_Expression_RowRecordEmpty _range)
sem_Expression (Expression_RowRecordSelect _range _expression _name) =
(sem_Expression_RowRecordSelect _range (sem_Expression _expression) _name)
sem_Expression (Expression_Do _range _statements) =
(sem_Expression_Do _range (sem_Statements _statements))
sem_Expression (Expression_ImplicitApplication _range _function _arguments) =
(sem_Expression_ImplicitApplication _range (sem_Expression _function) (sem_ContextedExpressions _arguments))
sem_Expression (Expression_ImplicitLambda _range _patterns _expression) =
(sem_Expression_ImplicitLambda _range (sem_ContextedPatterns _patterns) (sem_Expression _expression))
-- semantic domain
type T_Expression = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( Name,(EH.Expr),ErrSq,UID,IdUseOccGam,(OpChain EH.Expr),MaybeName,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Expression_Literal :: Range ->
T_Literal ->
T_Expression
sem_Expression_Literal range_ literal_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_literalOgUniq :: UID
_literalOidGam :: IdDefOccGam
_literalOnmLev :: NmLev
_literalOopts :: EHCOpts
_literalOpatchEhNmInInstance :: PatchEhNmInInstance
_literalOtopInstanceNmL :: ([HsName])
_literalOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_literalIeh :: Literal
_literalIerrSq :: ErrSq
_literalIgUniq :: UID
_literalIidUseOccGam :: IdUseOccGam
_literalIpp :: PP_Doc
_literalIppWrap :: (PP_Doc -> PP_Doc)
_literalItopInstanceNmL :: ([HsName])
_literalItrpp :: TrPP
_literalIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 554, column 9)
_litnames =
litNames _lhsIopts _literalIeh False 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 555, column 29)
(_litrefname,_litrefnames,_idUseOccGam,_errIdUse) =
mkUseOccGam' _lhsIopts _lhsIidGam _litnames range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 557, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam, _literalIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 13, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUse, _literalIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 467, column 9)
_eh =
case _literalIeh of
Literal_Int r b s -> fst $ ehExpLitInt r b s 1 _litrefnames
Literal_Char r s -> rngLift r EH.Expr_CConst (head s)
Literal_String r s -> fst $ ehExpLitString _lhsIopts r s _litrefnames
Literal_Float r s -> fst $ ehExpLitFloat r s 1 _litrefnames
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_literalIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_literalIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_literalItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_literalIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_literalIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_literalItopInstanceNmL
-- copy rule (down)
_literalOgUniq =
_lhsIgUniq
-- copy rule (down)
_literalOidGam =
_lhsIidGam
-- copy rule (down)
_literalOnmLev =
_lhsInmLev
-- copy rule (down)
_literalOopts =
_lhsIopts
-- copy rule (down)
_literalOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_literalOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_literalOtr =
_lhsItr
( _literalIeh,_literalIerrSq,_literalIgUniq,_literalIidUseOccGam,_literalIpp,_literalIppWrap,_literalItopInstanceNmL,_literalItrpp,_literalIundefOccGam) =
literal_ _literalOgUniq _literalOidGam _literalOnmLev _literalOopts _literalOpatchEhNmInInstance _literalOtopInstanceNmL _literalOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_Variable :: Range ->
Name ->
T_Expression
sem_Expression_Variable range_ name_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 559, column 9)
_idAsp =
IdAsp_Val_Var
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 565, column 29)
(_refname,_,_idUseOccGam,_errIdUse) =
let x@(n,_,_,_) = mkUseOccGam _lhsIopts _lhsIidGam [name_] IdOcc_Val _idAsp range_
dbgnm = mkHNm "putStrLn"
dbgoc = IdOcc dbgnm IdOcc_Val
in
x
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 15, column 9)
_errSq =
Seq.fromList _errIdUse
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 194, column 9)
_pp =
pp name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 50, column 9)
_lhsOoperatorName =
Just _refname
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 473, column 9)
_eh =
rngLift range_ EH.Expr_Var _refname
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_Constructor :: Range ->
Name ->
T_Expression
sem_Expression_Constructor range_ name_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 562, column 9)
_idAsp =
IdAsp_Val_Con
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 565, column 29)
(_refname,_,_idUseOccGam,_errIdUse) =
let x@(n,_,_,_) = mkUseOccGam _lhsIopts _lhsIidGam [name_] IdOcc_Val _idAsp range_
dbgnm = mkHNm "putStrLn"
dbgoc = IdOcc dbgnm IdOcc_Val
in
x
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 270, column 9)
_lhsOconNm =
name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 15, column 9)
_errSq =
Seq.fromList _errIdUse
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 196, column 9)
_pp =
ppCon name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 50, column 9)
_lhsOoperatorName =
Just _refname
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 475, column 9)
_eh =
rngLift range_ EH.Expr_Con _refname
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_TupleConstructor :: Range ->
Int ->
T_Expression
sem_Expression_TupleConstructor range_ arity_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 198, column 9)
_pp =
ppParens (replicate (arity_ - 1) (','))
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 477, column 9)
_eh =
ehTupleConstructor range_ arity_ EH.Expr_Var EH.PatExpr_Var EH.Expr_Lam
(\_ x -> x) EH.Expr_Rec EH.RecExpr_Ext EH.RecExpr_Empty
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_Parenthesized :: Range ->
T_Expression ->
T_Expression
sem_Expression_Parenthesized range_ expression_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOidGam :: IdDefOccGam
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 200, column 9)
_pp =
ppParens _expressionIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 480, column 9)
_eh =
rngLift range_ EH.Expr_Parens _expressionIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_expressionIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_expressionIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_expressionIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_expressionItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_expressionIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_expressionIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_expressionOgUniq =
_lhsIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOidGam =
_lhsIidGam
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_expressionOnmLev =
_lhsInmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (down)
_expressionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_NormalApplication :: Range ->
T_Expression ->
T_Expressions ->
T_Expression
sem_Expression_NormalApplication range_ function_ arguments_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_functionOcaseId :: UID
_functionOfixityGam :: FixityGam
_functionOgUniq :: UID
_functionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_functionOidGam :: IdDefOccGam
_functionOmoduleNm :: HsName
_functionOnmLev :: NmLev
_functionOopts :: EHCOpts
_functionOpatchEhNmInInstance :: PatchEhNmInInstance
_functionOpragmas :: (Set.Set Pragma.Pragma)
_functionOtopInstanceNmL :: ([HsName])
_functionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_argumentsOcaseId :: UID
_argumentsOfixityGam :: FixityGam
_argumentsOgUniq :: UID
_argumentsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_argumentsOidGam :: IdDefOccGam
_argumentsOmoduleNm :: HsName
_argumentsOnmLev :: NmLev
_argumentsOopts :: EHCOpts
_argumentsOpatchEhNmInInstance :: PatchEhNmInInstance
_argumentsOpragmas :: (Set.Set Pragma.Pragma)
_argumentsOtopInstanceNmL :: ([HsName])
_argumentsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_functionIconNm :: Name
_functionIeh :: (EH.Expr)
_functionIerrSq :: ErrSq
_functionIgUniq :: UID
_functionIidUseOccGam :: IdUseOccGam
_functionIopChain :: (OpChain EH.Expr)
_functionIoperatorName :: MaybeName
_functionIpp :: PP_Doc
_functionIppWrap :: (PP_Doc -> PP_Doc)
_functionItopInstanceNmL :: ([HsName])
_functionItrpp :: TrPP
_functionIundefOccGam :: IdUseOccGam
_argumentsIeh :: ([EH.Expr])
_argumentsIerrSq :: ErrSq
_argumentsIgUniq :: UID
_argumentsIidUseOccGam :: IdUseOccGam
_argumentsIpp :: PP_Doc
_argumentsIppL :: ([PP_Doc])
_argumentsIppWrap :: (PP_Doc -> PP_Doc)
_argumentsItopInstanceNmL :: ([HsName])
_argumentsItrpp :: TrPP
_argumentsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 202, column 9)
_pp =
ppAppTop (_functionIconNm,_functionIpp)
_argumentsIppL (_functionIpp >#< ppSpaces _argumentsIppL)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 482, column 9)
_eh =
appRngTopApp range_ (_functionIeh : _argumentsIeh)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_functionIerrSq `Seq.union` _argumentsIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_functionIidUseOccGam `gamAddGam` _argumentsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_functionIppWrap . _argumentsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_functionItrpp >< _argumentsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_functionIundefOccGam `gamUnion` _argumentsIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_argumentsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_argumentsItopInstanceNmL
-- copy rule (down)
_functionOcaseId =
_lhsIcaseId
-- copy rule (down)
_functionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_functionOgUniq =
_lhsIgUniq
-- copy rule (down)
_functionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_functionOidGam =
_lhsIidGam
-- copy rule (down)
_functionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_functionOnmLev =
_lhsInmLev
-- copy rule (down)
_functionOopts =
_lhsIopts
-- copy rule (down)
_functionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_functionOpragmas =
_lhsIpragmas
-- copy rule (down)
_functionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_functionOtr =
_lhsItr
-- copy rule (down)
_argumentsOcaseId =
_lhsIcaseId
-- copy rule (down)
_argumentsOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_argumentsOgUniq =
_functionIgUniq
-- copy rule (down)
_argumentsOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_argumentsOidGam =
_lhsIidGam
-- copy rule (down)
_argumentsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_argumentsOnmLev =
_lhsInmLev
-- copy rule (down)
_argumentsOopts =
_lhsIopts
-- copy rule (down)
_argumentsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_argumentsOpragmas =
_lhsIpragmas
-- copy rule (chain)
_argumentsOtopInstanceNmL =
_functionItopInstanceNmL
-- copy rule (down)
_argumentsOtr =
_lhsItr
( _functionIconNm,_functionIeh,_functionIerrSq,_functionIgUniq,_functionIidUseOccGam,_functionIopChain,_functionIoperatorName,_functionIpp,_functionIppWrap,_functionItopInstanceNmL,_functionItrpp,_functionIundefOccGam) =
function_ _functionOcaseId _functionOfixityGam _functionOgUniq _functionOgenerDerivMp _functionOidGam _functionOmoduleNm _functionOnmLev _functionOopts _functionOpatchEhNmInInstance _functionOpragmas _functionOtopInstanceNmL _functionOtr
( _argumentsIeh,_argumentsIerrSq,_argumentsIgUniq,_argumentsIidUseOccGam,_argumentsIpp,_argumentsIppL,_argumentsIppWrap,_argumentsItopInstanceNmL,_argumentsItrpp,_argumentsIundefOccGam) =
arguments_ _argumentsOcaseId _argumentsOfixityGam _argumentsOgUniq _argumentsOgenerDerivMp _argumentsOidGam _argumentsOmoduleNm _argumentsOnmLev _argumentsOopts _argumentsOpatchEhNmInInstance _argumentsOpragmas _argumentsOtopInstanceNmL _argumentsOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_SectionApplication :: Range ->
T_MaybeExpression ->
T_Expression ->
T_MaybeExpression ->
T_Expression
sem_Expression_SectionApplication range_ leftExpression_ operator_ rightExpression_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_leftExpressionOgUniq :: UID
_lUniq_1_nm :: UID
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_leftExpressionOcaseId :: UID
_leftExpressionOfixityGam :: FixityGam
_leftExpressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_leftExpressionOidGam :: IdDefOccGam
_leftExpressionOmoduleNm :: HsName
_leftExpressionOnmLev :: NmLev
_leftExpressionOopts :: EHCOpts
_leftExpressionOpatchEhNmInInstance :: PatchEhNmInInstance
_leftExpressionOpragmas :: (Set.Set Pragma.Pragma)
_leftExpressionOtopInstanceNmL :: ([HsName])
_leftExpressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_operatorOcaseId :: UID
_operatorOfixityGam :: FixityGam
_operatorOgUniq :: UID
_operatorOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_operatorOidGam :: IdDefOccGam
_operatorOmoduleNm :: HsName
_operatorOnmLev :: NmLev
_operatorOopts :: EHCOpts
_operatorOpatchEhNmInInstance :: PatchEhNmInInstance
_operatorOpragmas :: (Set.Set Pragma.Pragma)
_operatorOtopInstanceNmL :: ([HsName])
_operatorOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_rightExpressionOcaseId :: UID
_rightExpressionOfixityGam :: FixityGam
_rightExpressionOgUniq :: UID
_rightExpressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_rightExpressionOidGam :: IdDefOccGam
_rightExpressionOmoduleNm :: HsName
_rightExpressionOnmLev :: NmLev
_rightExpressionOopts :: EHCOpts
_rightExpressionOpatchEhNmInInstance :: PatchEhNmInInstance
_rightExpressionOpragmas :: (Set.Set Pragma.Pragma)
_rightExpressionOtopInstanceNmL :: ([HsName])
_rightExpressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_leftExpressionIeh :: (Maybe EH.Expr)
_leftExpressionIerrSq :: ErrSq
_leftExpressionIgUniq :: UID
_leftExpressionIidUseOccGam :: IdUseOccGam
_leftExpressionIpp :: PP_Doc
_leftExpressionIppMb :: (Maybe PP_Doc)
_leftExpressionIppWrap :: (PP_Doc -> PP_Doc)
_leftExpressionItopInstanceNmL :: ([HsName])
_leftExpressionItrpp :: TrPP
_leftExpressionIundefOccGam :: IdUseOccGam
_operatorIconNm :: Name
_operatorIeh :: (EH.Expr)
_operatorIerrSq :: ErrSq
_operatorIgUniq :: UID
_operatorIidUseOccGam :: IdUseOccGam
_operatorIopChain :: (OpChain EH.Expr)
_operatorIoperatorName :: MaybeName
_operatorIpp :: PP_Doc
_operatorIppWrap :: (PP_Doc -> PP_Doc)
_operatorItopInstanceNmL :: ([HsName])
_operatorItrpp :: TrPP
_operatorIundefOccGam :: IdUseOccGam
_rightExpressionIeh :: (Maybe EH.Expr)
_rightExpressionIerrSq :: ErrSq
_rightExpressionIgUniq :: UID
_rightExpressionIidUseOccGam :: IdUseOccGam
_rightExpressionIpp :: PP_Doc
_rightExpressionIppMb :: (Maybe PP_Doc)
_rightExpressionIppWrap :: (PP_Doc -> PP_Doc)
_rightExpressionItopInstanceNmL :: ([HsName])
_rightExpressionItrpp :: TrPP
_rightExpressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 207, column 9)
_pp =
let e = case (_leftExpressionIppMb,_rightExpressionIppMb) of
(Just l ,Nothing) -> l >#< _operatorIpp
(Nothing,Just r ) -> _operatorIpp >#< r
(Nothing,Nothing) -> _operatorIpp
in ppParens e
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 488, column 9)
_eh =
ehSection
_lUniq_1_nm range_
EH.Expr_Var EH.PatExpr_Var EH.Expr_Lam
_leftExpressionIeh _operatorIeh _rightExpressionIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- -- generated by the unique rule mechanism.
(_leftExpressionOgUniq,_lUniq_1_nm) =
let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq_1_nm) -> (__cont,lUniq_1_nm)} )
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_leftExpressionIerrSq `Seq.union` _operatorIerrSq `Seq.union` _rightExpressionIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_leftExpressionIidUseOccGam `gamAddGam` _operatorIidUseOccGam `gamAddGam` _rightExpressionIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_leftExpressionIppWrap . _operatorIppWrap . _rightExpressionIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_leftExpressionItrpp >< _operatorItrpp >< _rightExpressionItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_leftExpressionIundefOccGam `gamUnion` _operatorIundefOccGam `gamUnion` _rightExpressionIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_rightExpressionIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_rightExpressionItopInstanceNmL
-- copy rule (down)
_leftExpressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_leftExpressionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_leftExpressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_leftExpressionOidGam =
_lhsIidGam
-- copy rule (down)
_leftExpressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_leftExpressionOnmLev =
_lhsInmLev
-- copy rule (down)
_leftExpressionOopts =
_lhsIopts
-- copy rule (down)
_leftExpressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_leftExpressionOpragmas =
_lhsIpragmas
-- copy rule (down)
_leftExpressionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_leftExpressionOtr =
_lhsItr
-- copy rule (down)
_operatorOcaseId =
_lhsIcaseId
-- copy rule (down)
_operatorOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_operatorOgUniq =
_leftExpressionIgUniq
-- copy rule (down)
_operatorOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_operatorOidGam =
_lhsIidGam
-- copy rule (down)
_operatorOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_operatorOnmLev =
_lhsInmLev
-- copy rule (down)
_operatorOopts =
_lhsIopts
-- copy rule (down)
_operatorOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_operatorOpragmas =
_lhsIpragmas
-- copy rule (chain)
_operatorOtopInstanceNmL =
_leftExpressionItopInstanceNmL
-- copy rule (down)
_operatorOtr =
_lhsItr
-- copy rule (down)
_rightExpressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_rightExpressionOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_rightExpressionOgUniq =
_operatorIgUniq
-- copy rule (down)
_rightExpressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_rightExpressionOidGam =
_lhsIidGam
-- copy rule (down)
_rightExpressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_rightExpressionOnmLev =
_lhsInmLev
-- copy rule (down)
_rightExpressionOopts =
_lhsIopts
-- copy rule (down)
_rightExpressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_rightExpressionOpragmas =
_lhsIpragmas
-- copy rule (chain)
_rightExpressionOtopInstanceNmL =
_operatorItopInstanceNmL
-- copy rule (down)
_rightExpressionOtr =
_lhsItr
( _leftExpressionIeh,_leftExpressionIerrSq,_leftExpressionIgUniq,_leftExpressionIidUseOccGam,_leftExpressionIpp,_leftExpressionIppMb,_leftExpressionIppWrap,_leftExpressionItopInstanceNmL,_leftExpressionItrpp,_leftExpressionIundefOccGam) =
leftExpression_ _leftExpressionOcaseId _leftExpressionOfixityGam _leftExpressionOgUniq _leftExpressionOgenerDerivMp _leftExpressionOidGam _leftExpressionOmoduleNm _leftExpressionOnmLev _leftExpressionOopts _leftExpressionOpatchEhNmInInstance _leftExpressionOpragmas _leftExpressionOtopInstanceNmL _leftExpressionOtr
( _operatorIconNm,_operatorIeh,_operatorIerrSq,_operatorIgUniq,_operatorIidUseOccGam,_operatorIopChain,_operatorIoperatorName,_operatorIpp,_operatorIppWrap,_operatorItopInstanceNmL,_operatorItrpp,_operatorIundefOccGam) =
operator_ _operatorOcaseId _operatorOfixityGam _operatorOgUniq _operatorOgenerDerivMp _operatorOidGam _operatorOmoduleNm _operatorOnmLev _operatorOopts _operatorOpatchEhNmInInstance _operatorOpragmas _operatorOtopInstanceNmL _operatorOtr
( _rightExpressionIeh,_rightExpressionIerrSq,_rightExpressionIgUniq,_rightExpressionIidUseOccGam,_rightExpressionIpp,_rightExpressionIppMb,_rightExpressionIppWrap,_rightExpressionItopInstanceNmL,_rightExpressionItrpp,_rightExpressionIundefOccGam) =
rightExpression_ _rightExpressionOcaseId _rightExpressionOfixityGam _rightExpressionOgUniq _rightExpressionOgenerDerivMp _rightExpressionOidGam _rightExpressionOmoduleNm _rightExpressionOnmLev _rightExpressionOopts _rightExpressionOpatchEhNmInInstance _rightExpressionOpragmas _rightExpressionOtopInstanceNmL _rightExpressionOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_InfixApplication :: Range ->
T_Expression ->
T_Expression ->
T_Expression ->
T_Expression
sem_Expression_InfixApplication range_ leftExpression_ operator_ rightExpression_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_leftExpressionOcaseId :: UID
_leftExpressionOfixityGam :: FixityGam
_leftExpressionOgUniq :: UID
_leftExpressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_leftExpressionOidGam :: IdDefOccGam
_leftExpressionOmoduleNm :: HsName
_leftExpressionOnmLev :: NmLev
_leftExpressionOopts :: EHCOpts
_leftExpressionOpatchEhNmInInstance :: PatchEhNmInInstance
_leftExpressionOpragmas :: (Set.Set Pragma.Pragma)
_leftExpressionOtopInstanceNmL :: ([HsName])
_leftExpressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_operatorOcaseId :: UID
_operatorOfixityGam :: FixityGam
_operatorOgUniq :: UID
_operatorOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_operatorOidGam :: IdDefOccGam
_operatorOmoduleNm :: HsName
_operatorOnmLev :: NmLev
_operatorOopts :: EHCOpts
_operatorOpatchEhNmInInstance :: PatchEhNmInInstance
_operatorOpragmas :: (Set.Set Pragma.Pragma)
_operatorOtopInstanceNmL :: ([HsName])
_operatorOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_rightExpressionOcaseId :: UID
_rightExpressionOfixityGam :: FixityGam
_rightExpressionOgUniq :: UID
_rightExpressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_rightExpressionOidGam :: IdDefOccGam
_rightExpressionOmoduleNm :: HsName
_rightExpressionOnmLev :: NmLev
_rightExpressionOopts :: EHCOpts
_rightExpressionOpatchEhNmInInstance :: PatchEhNmInInstance
_rightExpressionOpragmas :: (Set.Set Pragma.Pragma)
_rightExpressionOtopInstanceNmL :: ([HsName])
_rightExpressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_leftExpressionIconNm :: Name
_leftExpressionIeh :: (EH.Expr)
_leftExpressionIerrSq :: ErrSq
_leftExpressionIgUniq :: UID
_leftExpressionIidUseOccGam :: IdUseOccGam
_leftExpressionIopChain :: (OpChain EH.Expr)
_leftExpressionIoperatorName :: MaybeName
_leftExpressionIpp :: PP_Doc
_leftExpressionIppWrap :: (PP_Doc -> PP_Doc)
_leftExpressionItopInstanceNmL :: ([HsName])
_leftExpressionItrpp :: TrPP
_leftExpressionIundefOccGam :: IdUseOccGam
_operatorIconNm :: Name
_operatorIeh :: (EH.Expr)
_operatorIerrSq :: ErrSq
_operatorIgUniq :: UID
_operatorIidUseOccGam :: IdUseOccGam
_operatorIopChain :: (OpChain EH.Expr)
_operatorIoperatorName :: MaybeName
_operatorIpp :: PP_Doc
_operatorIppWrap :: (PP_Doc -> PP_Doc)
_operatorItopInstanceNmL :: ([HsName])
_operatorItrpp :: TrPP
_operatorIundefOccGam :: IdUseOccGam
_rightExpressionIconNm :: Name
_rightExpressionIeh :: (EH.Expr)
_rightExpressionIerrSq :: ErrSq
_rightExpressionIgUniq :: UID
_rightExpressionIidUseOccGam :: IdUseOccGam
_rightExpressionIopChain :: (OpChain EH.Expr)
_rightExpressionIoperatorName :: MaybeName
_rightExpressionIpp :: PP_Doc
_rightExpressionIppWrap :: (PP_Doc -> PP_Doc)
_rightExpressionItopInstanceNmL :: ([HsName])
_rightExpressionItrpp :: TrPP
_rightExpressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 205, column 9)
_pp =
_leftExpressionIpp >#< _operatorIpp >#< _rightExpressionIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 58, column 9)
_fgi =
case _operatorIoperatorName of
Just n
-> fixityGamLookup n _lhsIfixityGam
_ -> defaultFixityGamInfo
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 100, column 9)
_lhsOopChain =
OpChain_Op _operatorIeh _operatorIpp (fgiFixity _fgi) (fgiPrio _fgi) range_ _leftExpressionIopChain _rightExpressionIopChain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 484, column 9)
_eh =
appRngParApp range_ [_operatorIeh,_leftExpressionIeh,_rightExpressionIeh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_leftExpressionIerrSq `Seq.union` _operatorIerrSq `Seq.union` _rightExpressionIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_leftExpressionIidUseOccGam `gamAddGam` _operatorIidUseOccGam `gamAddGam` _rightExpressionIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_leftExpressionIppWrap . _operatorIppWrap . _rightExpressionIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_leftExpressionItrpp >< _operatorItrpp >< _rightExpressionItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_leftExpressionIundefOccGam `gamUnion` _operatorIundefOccGam `gamUnion` _rightExpressionIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_rightExpressionIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_rightExpressionItopInstanceNmL
-- copy rule (down)
_leftExpressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_leftExpressionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_leftExpressionOgUniq =
_lhsIgUniq
-- copy rule (down)
_leftExpressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_leftExpressionOidGam =
_lhsIidGam
-- copy rule (down)
_leftExpressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_leftExpressionOnmLev =
_lhsInmLev
-- copy rule (down)
_leftExpressionOopts =
_lhsIopts
-- copy rule (down)
_leftExpressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_leftExpressionOpragmas =
_lhsIpragmas
-- copy rule (down)
_leftExpressionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_leftExpressionOtr =
_lhsItr
-- copy rule (down)
_operatorOcaseId =
_lhsIcaseId
-- copy rule (down)
_operatorOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_operatorOgUniq =
_leftExpressionIgUniq
-- copy rule (down)
_operatorOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_operatorOidGam =
_lhsIidGam
-- copy rule (down)
_operatorOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_operatorOnmLev =
_lhsInmLev
-- copy rule (down)
_operatorOopts =
_lhsIopts
-- copy rule (down)
_operatorOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_operatorOpragmas =
_lhsIpragmas
-- copy rule (chain)
_operatorOtopInstanceNmL =
_leftExpressionItopInstanceNmL
-- copy rule (down)
_operatorOtr =
_lhsItr
-- copy rule (down)
_rightExpressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_rightExpressionOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_rightExpressionOgUniq =
_operatorIgUniq
-- copy rule (down)
_rightExpressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_rightExpressionOidGam =
_lhsIidGam
-- copy rule (down)
_rightExpressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_rightExpressionOnmLev =
_lhsInmLev
-- copy rule (down)
_rightExpressionOopts =
_lhsIopts
-- copy rule (down)
_rightExpressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_rightExpressionOpragmas =
_lhsIpragmas
-- copy rule (chain)
_rightExpressionOtopInstanceNmL =
_operatorItopInstanceNmL
-- copy rule (down)
_rightExpressionOtr =
_lhsItr
( _leftExpressionIconNm,_leftExpressionIeh,_leftExpressionIerrSq,_leftExpressionIgUniq,_leftExpressionIidUseOccGam,_leftExpressionIopChain,_leftExpressionIoperatorName,_leftExpressionIpp,_leftExpressionIppWrap,_leftExpressionItopInstanceNmL,_leftExpressionItrpp,_leftExpressionIundefOccGam) =
leftExpression_ _leftExpressionOcaseId _leftExpressionOfixityGam _leftExpressionOgUniq _leftExpressionOgenerDerivMp _leftExpressionOidGam _leftExpressionOmoduleNm _leftExpressionOnmLev _leftExpressionOopts _leftExpressionOpatchEhNmInInstance _leftExpressionOpragmas _leftExpressionOtopInstanceNmL _leftExpressionOtr
( _operatorIconNm,_operatorIeh,_operatorIerrSq,_operatorIgUniq,_operatorIidUseOccGam,_operatorIopChain,_operatorIoperatorName,_operatorIpp,_operatorIppWrap,_operatorItopInstanceNmL,_operatorItrpp,_operatorIundefOccGam) =
operator_ _operatorOcaseId _operatorOfixityGam _operatorOgUniq _operatorOgenerDerivMp _operatorOidGam _operatorOmoduleNm _operatorOnmLev _operatorOopts _operatorOpatchEhNmInInstance _operatorOpragmas _operatorOtopInstanceNmL _operatorOtr
( _rightExpressionIconNm,_rightExpressionIeh,_rightExpressionIerrSq,_rightExpressionIgUniq,_rightExpressionIidUseOccGam,_rightExpressionIopChain,_rightExpressionIoperatorName,_rightExpressionIpp,_rightExpressionIppWrap,_rightExpressionItopInstanceNmL,_rightExpressionItrpp,_rightExpressionIundefOccGam) =
rightExpression_ _rightExpressionOcaseId _rightExpressionOfixityGam _rightExpressionOgUniq _rightExpressionOgenerDerivMp _rightExpressionOidGam _rightExpressionOmoduleNm _rightExpressionOnmLev _rightExpressionOopts _rightExpressionOpatchEhNmInInstance _rightExpressionOpragmas _rightExpressionOtopInstanceNmL _rightExpressionOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_InfixApplicationChainTop :: Range ->
T_Expression ->
T_Expression
sem_Expression_InfixApplicationChainTop range_ expression_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOidGam :: IdDefOccGam
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 22, column 9)
_errSq =
Seq.unions [Seq.fromList _errRearr, _expressionIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 106, column 25)
(_ehRearrOpChain,_errRearr) =
opChainReArrange _expressionIopChain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 106, column 9)
_ehFromOpChain =
unOpChain _ehRearrOpChain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 486, column 9)
_eh =
_ehFromOpChain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_expressionIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_expressionIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_expressionIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_expressionItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_expressionIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_expressionIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_expressionOgUniq =
_lhsIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOidGam =
_lhsIidGam
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_expressionOnmLev =
_lhsInmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (down)
_expressionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_Lambda :: Range ->
T_Patterns ->
T_Expression ->
T_Expression
sem_Expression_Lambda range_ patterns_ expression_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _expressionOidGam :: IdDefOccGam
_lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternsOfixityGam :: FixityGam
_patternsOgUniq :: UID
_patternsOidGam :: IdDefOccGam
_patternsOmoduleNm :: HsName
_patternsOnmLev :: NmLev
_patternsOopts :: EHCOpts
_patternsOpatchEhNmInInstance :: PatchEhNmInInstance
_patternsOtopInstanceNmL :: ([HsName])
_patternsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternsIeh :: ([EH.PatExpr])
_patternsIerrSq :: ErrSq
_patternsIgUniq :: UID
_patternsIidDefOccGam :: IdDefOccGam
_patternsIidOccDefs :: ([IdOcc])
_patternsIidUseOccGam :: IdUseOccGam
_patternsIpp :: PP_Doc
_patternsIppL :: ([PP_Doc])
_patternsIppWrap :: (PP_Doc -> PP_Doc)
_patternsItopInstanceNmL :: ([HsName])
_patternsItrpp :: TrPP
_patternsIundefOccGam :: IdUseOccGam
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 417, column 9)
_expressionOidGam =
gamUnion _patternsIidDefOccGam _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 50, column 9)
_nmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 104, column 9)
_errDupIntro =
idDefOccGamCheckDupNames _patternsIidDefOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 20, column 9)
_errSq =
Seq.unions [Seq.fromList _errDupIntro, _patternsIerrSq, _expressionIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 213, column 9)
_pp =
"\\" >|< ppSpaces _patternsIppL >#< "->" >#< _expressionIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 494, column 9)
_eh =
foldr (rngLift range_ EH.Expr_Lam) _expressionIeh _patternsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_patternsIidUseOccGam `gamAddGam` _expressionIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_patternsIppWrap . _expressionIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_patternsItrpp >< _expressionItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_patternsIundefOccGam `gamUnion` _expressionIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_expressionIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_patternsOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_patternsOgUniq =
_lhsIgUniq
-- copy rule (down)
_patternsOidGam =
_lhsIidGam
-- copy rule (down)
_patternsOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_patternsOnmLev =
_nmLev
-- copy rule (down)
_patternsOopts =
_lhsIopts
-- copy rule (down)
_patternsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_patternsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_patternsOtr =
_lhsItr
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_expressionOgUniq =
_patternsIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_expressionOnmLev =
_nmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (chain)
_expressionOtopInstanceNmL =
_patternsItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
( _patternsIeh,_patternsIerrSq,_patternsIgUniq,_patternsIidDefOccGam,_patternsIidOccDefs,_patternsIidUseOccGam,_patternsIpp,_patternsIppL,_patternsIppWrap,_patternsItopInstanceNmL,_patternsItrpp,_patternsIundefOccGam) =
patterns_ _patternsOfixityGam _patternsOgUniq _patternsOidGam _patternsOmoduleNm _patternsOnmLev _patternsOopts _patternsOpatchEhNmInInstance _patternsOtopInstanceNmL _patternsOtr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_Let :: Range ->
Bool ->
T_Declarations ->
T_Expression ->
T_Expression
sem_Expression_Let range_ isStrict_ declarations_ expression_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_declarationsOcaseId :: UID
_declarationsOfixityGam :: FixityGam
_declarationsOgUniq :: UID
_declarationsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_declarationsOidGam :: IdDefOccGam
_declarationsOmoduleNm :: HsName
_declarationsOnameDeclCxt :: NameDeclCxt
_declarationsOnmLev :: NmLev
_declarationsOopts :: EHCOpts
_declarationsOpatchEhNmInInstance :: PatchEhNmInInstance
_declarationsOpragmas :: (Set.Set Pragma.Pragma)
_declarationsOtopInstanceNmL :: ([HsName])
_declarationsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOidGam :: IdDefOccGam
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_declarationsIeh :: ([EH.Decl])
_declarationsIerrSq :: ErrSq
_declarationsIgUniq :: UID
_declarationsIgathFixityGam :: FixityGam
_declarationsIgathPragmas :: (Set.Set Pragma.Pragma)
_declarationsIidDefOccGam :: IdDefOccGam
_declarationsIidDpdMp :: IdDpdMp
_declarationsIidInClassTySigDefOccGam :: IdDefOccGam
_declarationsIidInInstanceValDefOccGam :: IdDefOccGam
_declarationsIidOccDefs :: ([IdOcc])
_declarationsIidUseOccGam :: IdUseOccGam
_declarationsIneedsError :: Bool
_declarationsIpp :: PP_Doc
_declarationsIppWrap :: (PP_Doc -> PP_Doc)
_declarationsItopInstanceNmL :: ([HsName])
_declarationsItrpp :: TrPP
_declarationsIundefOccGam :: IdUseOccGam
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDeclCxt.ag"(line 31, column 9)
_nameDeclCxt =
NameDeclCxt_Plain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 415, column 9)
_idGam =
gamUnion _declarationsIidDefOccGam _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1074, column 9)
_sccOrder =
idDpdMp2SccOrder _declarationsIidDefOccGam _declarationsIidDpdMp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1206, column 29)
(_mkSccLet,_,_errReorder) =
mkIdOccSccEH _lhsIopts range_ isStrict_ _declarationsIidDefOccGam (Just _sccOrder)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 50, column 9)
_nmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 101, column 9)
_errDupIntro =
idDefOccGamCheckDupNames _declarationsIidDefOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 17, column 9)
_errSq =
Seq.unions [Seq.fromList _errDupIntro, Seq.fromList _errReorder, _declarationsIerrSq, _expressionIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 215, column 9)
_pp =
"let" >|< (if isStrict_ then pp "!" else empty) >#< (_declarationsIpp >-< _ppExtra) >#< "in" >#< _expressionIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 216, column 17)
_ppExtra =
empty
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 26, column 9)
_fixityGam =
_declarationsIgathFixityGam `gamUnion` _lhsIfixityGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 496, column 9)
_eh =
_mkSccLet _expressionIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_declarationsIidUseOccGam `gamAddGam` _expressionIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_declarationsIppWrap . _expressionIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_declarationsItrpp >< _expressionItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_declarationsIundefOccGam `gamUnion` _expressionIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_expressionIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_declarationsOcaseId =
_lhsIcaseId
-- copy rule (from local)
_declarationsOfixityGam =
_fixityGam
-- copy rule (down)
_declarationsOgUniq =
_lhsIgUniq
-- copy rule (down)
_declarationsOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (from local)
_declarationsOidGam =
_idGam
-- copy rule (down)
_declarationsOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_declarationsOnameDeclCxt =
_nameDeclCxt
-- copy rule (from local)
_declarationsOnmLev =
_nmLev
-- copy rule (down)
_declarationsOopts =
_lhsIopts
-- copy rule (down)
_declarationsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_declarationsOpragmas =
_lhsIpragmas
-- copy rule (down)
_declarationsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_declarationsOtr =
_lhsItr
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (from local)
_expressionOfixityGam =
_fixityGam
-- copy rule (chain)
_expressionOgUniq =
_declarationsIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (from local)
_expressionOidGam =
_idGam
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_expressionOnmLev =
_nmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (chain)
_expressionOtopInstanceNmL =
_declarationsItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
( _declarationsIeh,_declarationsIerrSq,_declarationsIgUniq,_declarationsIgathFixityGam,_declarationsIgathPragmas,_declarationsIidDefOccGam,_declarationsIidDpdMp,_declarationsIidInClassTySigDefOccGam,_declarationsIidInInstanceValDefOccGam,_declarationsIidOccDefs,_declarationsIidUseOccGam,_declarationsIneedsError,_declarationsIpp,_declarationsIppWrap,_declarationsItopInstanceNmL,_declarationsItrpp,_declarationsIundefOccGam) =
declarations_ _declarationsOcaseId _declarationsOfixityGam _declarationsOgUniq _declarationsOgenerDerivMp _declarationsOidGam _declarationsOmoduleNm _declarationsOnameDeclCxt _declarationsOnmLev _declarationsOopts _declarationsOpatchEhNmInInstance _declarationsOpragmas _declarationsOtopInstanceNmL _declarationsOtr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_Tuple :: Range ->
T_Expressions ->
T_Expression
sem_Expression_Tuple range_ expressions_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_expressionsOcaseId :: UID
_expressionsOfixityGam :: FixityGam
_expressionsOgUniq :: UID
_expressionsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionsOidGam :: IdDefOccGam
_expressionsOmoduleNm :: HsName
_expressionsOnmLev :: NmLev
_expressionsOopts :: EHCOpts
_expressionsOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionsOpragmas :: (Set.Set Pragma.Pragma)
_expressionsOtopInstanceNmL :: ([HsName])
_expressionsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionsIeh :: ([EH.Expr])
_expressionsIerrSq :: ErrSq
_expressionsIgUniq :: UID
_expressionsIidUseOccGam :: IdUseOccGam
_expressionsIpp :: PP_Doc
_expressionsIppL :: ([PP_Doc])
_expressionsIppWrap :: (PP_Doc -> PP_Doc)
_expressionsItopInstanceNmL :: ([HsName])
_expressionsItrpp :: TrPP
_expressionsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 218, column 9)
_pp =
ppParensCommas _expressionsIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 498, column 9)
_eh =
ehExpConApp range_ (hsnProd (length _expressionsIeh)) _expressionsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_expressionsIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_expressionsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_expressionsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_expressionsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_expressionsIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_expressionsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_expressionsItopInstanceNmL
-- copy rule (down)
_expressionsOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionsOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_expressionsOgUniq =
_lhsIgUniq
-- copy rule (down)
_expressionsOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionsOidGam =
_lhsIidGam
-- copy rule (down)
_expressionsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_expressionsOnmLev =
_lhsInmLev
-- copy rule (down)
_expressionsOopts =
_lhsIopts
-- copy rule (down)
_expressionsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionsOpragmas =
_lhsIpragmas
-- copy rule (down)
_expressionsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_expressionsOtr =
_lhsItr
( _expressionsIeh,_expressionsIerrSq,_expressionsIgUniq,_expressionsIidUseOccGam,_expressionsIpp,_expressionsIppL,_expressionsIppWrap,_expressionsItopInstanceNmL,_expressionsItrpp,_expressionsIundefOccGam) =
expressions_ _expressionsOcaseId _expressionsOfixityGam _expressionsOgUniq _expressionsOgenerDerivMp _expressionsOidGam _expressionsOmoduleNm _expressionsOnmLev _expressionsOopts _expressionsOpatchEhNmInInstance _expressionsOpragmas _expressionsOtopInstanceNmL _expressionsOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_Typed :: Range ->
T_Expression ->
T_Type ->
T_Expression
sem_Expression_Typed range_ expression_ type_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _typeOidGam :: IdDefOccGam
_lhsOconNm :: Name
_typeOnmLev :: NmLev
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOidGam :: IdDefOccGam
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOisAsPred :: Bool
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 299, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _lhsInmLev range_ _typeIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 419, column 9)
_typeOidGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 52, column 9)
_typeOnmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 220, column 9)
_pp =
_expressionIpp >#< "::" >#< _typeIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 500, column 9)
_eh =
rngLift range_ EH.Expr_TypeAs False _typeIeh _expressionIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 229, column 9)
_doGenVarWild =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_expressionIerrSq `Seq.union` _typeIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_expressionIidUseOccGam `gamAddGam` _typeIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_expressionIppWrap . _typeIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_expressionItrpp >< _typeItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_expressionIundefOccGam `gamUnion` _typeIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_typeIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_typeItopInstanceNmL
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_expressionOgUniq =
_lhsIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOidGam =
_lhsIidGam
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_expressionOnmLev =
_lhsInmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (down)
_expressionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
-- copy rule (from local)
_typeOdoGenVarWild =
_doGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_typeOgUniq =
_expressionIgUniq
-- copy rule (from local)
_typeOisAsPred =
_isAsPred
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (down)
_typeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_typeOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_Negate :: Range ->
T_Expression ->
T_Expression
sem_Expression_Negate range_ expression_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOidGam :: IdDefOccGam
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 575, column 29)
(_refname,_,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [hsnNegate] IdOcc_Val IdAsp_Val_Var range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 577, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_expressionIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 24, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUse, _expressionIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 222, column 9)
_pp =
"-" >#< _expressionIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 502, column 9)
_eh =
ehExpVarApp range_ _refname [_expressionIeh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_expressionIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_expressionItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_expressionIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_expressionIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_expressionOgUniq =
_lhsIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOidGam =
_lhsIidGam
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_expressionOnmLev =
_lhsInmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (down)
_expressionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_Annotate :: Range ->
T_ExpressionAnnotation ->
T_Expression ->
T_Expression
sem_Expression_Annotate range_ annotation_ expression_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_annotationOcaseId :: UID
_annotationOfixityGam :: FixityGam
_annotationOgUniq :: UID
_annotationOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_annotationOidGam :: IdDefOccGam
_annotationOmoduleNm :: HsName
_annotationOnmLev :: NmLev
_annotationOopts :: EHCOpts
_annotationOpatchEhNmInInstance :: PatchEhNmInInstance
_annotationOpragmas :: (Set.Set Pragma.Pragma)
_annotationOtopInstanceNmL :: ([HsName])
_annotationOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOidGam :: IdDefOccGam
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_annotationIeh :: (EH.ExprAnn)
_annotationIerrSq :: ErrSq
_annotationIgUniq :: UID
_annotationIidUseOccGam :: IdUseOccGam
_annotationIpp :: PP_Doc
_annotationIppWrap :: (PP_Doc -> PP_Doc)
_annotationItopInstanceNmL :: ([HsName])
_annotationItrpp :: TrPP
_annotationIundefOccGam :: IdUseOccGam
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 504, column 17)
_eh =
rngLift range_ EH.Expr_Ann _annotationIeh _expressionIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_annotationIerrSq `Seq.union` _expressionIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_annotationIidUseOccGam `gamAddGam` _expressionIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_annotationIpp >-< _expressionIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_annotationIppWrap . _expressionIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_annotationItrpp >< _expressionItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_annotationIundefOccGam `gamUnion` _expressionIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_expressionIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_annotationOcaseId =
_lhsIcaseId
-- copy rule (down)
_annotationOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_annotationOgUniq =
_lhsIgUniq
-- copy rule (down)
_annotationOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_annotationOidGam =
_lhsIidGam
-- copy rule (down)
_annotationOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_annotationOnmLev =
_lhsInmLev
-- copy rule (down)
_annotationOopts =
_lhsIopts
-- copy rule (down)
_annotationOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_annotationOpragmas =
_lhsIpragmas
-- copy rule (down)
_annotationOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_annotationOtr =
_lhsItr
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_expressionOgUniq =
_annotationIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOidGam =
_lhsIidGam
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_expressionOnmLev =
_lhsInmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (chain)
_expressionOtopInstanceNmL =
_annotationItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
( _annotationIeh,_annotationIerrSq,_annotationIgUniq,_annotationIidUseOccGam,_annotationIpp,_annotationIppWrap,_annotationItopInstanceNmL,_annotationItrpp,_annotationIundefOccGam) =
annotation_ _annotationOcaseId _annotationOfixityGam _annotationOgUniq _annotationOgenerDerivMp _annotationOidGam _annotationOmoduleNm _annotationOnmLev _annotationOopts _annotationOpatchEhNmInInstance _annotationOpragmas _annotationOtopInstanceNmL _annotationOtr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_ImpredicativeApplication :: Range ->
T_Expression ->
T_Expressions ->
T_Expression
sem_Expression_ImpredicativeApplication range_ function_ arguments_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_functionOcaseId :: UID
_functionOfixityGam :: FixityGam
_functionOgUniq :: UID
_functionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_functionOidGam :: IdDefOccGam
_functionOmoduleNm :: HsName
_functionOnmLev :: NmLev
_functionOopts :: EHCOpts
_functionOpatchEhNmInInstance :: PatchEhNmInInstance
_functionOpragmas :: (Set.Set Pragma.Pragma)
_functionOtopInstanceNmL :: ([HsName])
_functionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_argumentsOcaseId :: UID
_argumentsOfixityGam :: FixityGam
_argumentsOgUniq :: UID
_argumentsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_argumentsOidGam :: IdDefOccGam
_argumentsOmoduleNm :: HsName
_argumentsOnmLev :: NmLev
_argumentsOopts :: EHCOpts
_argumentsOpatchEhNmInInstance :: PatchEhNmInInstance
_argumentsOpragmas :: (Set.Set Pragma.Pragma)
_argumentsOtopInstanceNmL :: ([HsName])
_argumentsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_functionIconNm :: Name
_functionIeh :: (EH.Expr)
_functionIerrSq :: ErrSq
_functionIgUniq :: UID
_functionIidUseOccGam :: IdUseOccGam
_functionIopChain :: (OpChain EH.Expr)
_functionIoperatorName :: MaybeName
_functionIpp :: PP_Doc
_functionIppWrap :: (PP_Doc -> PP_Doc)
_functionItopInstanceNmL :: ([HsName])
_functionItrpp :: TrPP
_functionIundefOccGam :: IdUseOccGam
_argumentsIeh :: ([EH.Expr])
_argumentsIerrSq :: ErrSq
_argumentsIgUniq :: UID
_argumentsIidUseOccGam :: IdUseOccGam
_argumentsIpp :: PP_Doc
_argumentsIppL :: ([PP_Doc])
_argumentsIppWrap :: (PP_Doc -> PP_Doc)
_argumentsItopInstanceNmL :: ([HsName])
_argumentsItrpp :: TrPP
_argumentsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 224, column 9)
_pp =
_functionIpp >#< "~" >|< _argumentsIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 506, column 9)
_eh =
ehExpApp' (rngLift range_ EH.Expr_AppImpred) range_ _functionIeh _argumentsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_functionIerrSq `Seq.union` _argumentsIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_functionIidUseOccGam `gamAddGam` _argumentsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_functionIppWrap . _argumentsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_functionItrpp >< _argumentsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_functionIundefOccGam `gamUnion` _argumentsIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_argumentsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_argumentsItopInstanceNmL
-- copy rule (down)
_functionOcaseId =
_lhsIcaseId
-- copy rule (down)
_functionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_functionOgUniq =
_lhsIgUniq
-- copy rule (down)
_functionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_functionOidGam =
_lhsIidGam
-- copy rule (down)
_functionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_functionOnmLev =
_lhsInmLev
-- copy rule (down)
_functionOopts =
_lhsIopts
-- copy rule (down)
_functionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_functionOpragmas =
_lhsIpragmas
-- copy rule (down)
_functionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_functionOtr =
_lhsItr
-- copy rule (down)
_argumentsOcaseId =
_lhsIcaseId
-- copy rule (down)
_argumentsOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_argumentsOgUniq =
_functionIgUniq
-- copy rule (down)
_argumentsOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_argumentsOidGam =
_lhsIidGam
-- copy rule (down)
_argumentsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_argumentsOnmLev =
_lhsInmLev
-- copy rule (down)
_argumentsOopts =
_lhsIopts
-- copy rule (down)
_argumentsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_argumentsOpragmas =
_lhsIpragmas
-- copy rule (chain)
_argumentsOtopInstanceNmL =
_functionItopInstanceNmL
-- copy rule (down)
_argumentsOtr =
_lhsItr
( _functionIconNm,_functionIeh,_functionIerrSq,_functionIgUniq,_functionIidUseOccGam,_functionIopChain,_functionIoperatorName,_functionIpp,_functionIppWrap,_functionItopInstanceNmL,_functionItrpp,_functionIundefOccGam) =
function_ _functionOcaseId _functionOfixityGam _functionOgUniq _functionOgenerDerivMp _functionOidGam _functionOmoduleNm _functionOnmLev _functionOopts _functionOpatchEhNmInInstance _functionOpragmas _functionOtopInstanceNmL _functionOtr
( _argumentsIeh,_argumentsIerrSq,_argumentsIgUniq,_argumentsIidUseOccGam,_argumentsIpp,_argumentsIppL,_argumentsIppWrap,_argumentsItopInstanceNmL,_argumentsItrpp,_argumentsIundefOccGam) =
arguments_ _argumentsOcaseId _argumentsOfixityGam _argumentsOgUniq _argumentsOgenerDerivMp _argumentsOidGam _argumentsOmoduleNm _argumentsOnmLev _argumentsOopts _argumentsOpatchEhNmInInstance _argumentsOpragmas _argumentsOtopInstanceNmL _argumentsOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_If :: Range ->
T_Expression ->
T_Expression ->
T_Expression ->
T_Expression
sem_Expression_If range_ guardExpression_ thenExpression_ elseExpression_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_guardExpressionOcaseId :: UID
_guardExpressionOfixityGam :: FixityGam
_guardExpressionOgUniq :: UID
_guardExpressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_guardExpressionOidGam :: IdDefOccGam
_guardExpressionOmoduleNm :: HsName
_guardExpressionOnmLev :: NmLev
_guardExpressionOopts :: EHCOpts
_guardExpressionOpatchEhNmInInstance :: PatchEhNmInInstance
_guardExpressionOpragmas :: (Set.Set Pragma.Pragma)
_guardExpressionOtopInstanceNmL :: ([HsName])
_guardExpressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_thenExpressionOcaseId :: UID
_thenExpressionOfixityGam :: FixityGam
_thenExpressionOgUniq :: UID
_thenExpressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_thenExpressionOidGam :: IdDefOccGam
_thenExpressionOmoduleNm :: HsName
_thenExpressionOnmLev :: NmLev
_thenExpressionOopts :: EHCOpts
_thenExpressionOpatchEhNmInInstance :: PatchEhNmInInstance
_thenExpressionOpragmas :: (Set.Set Pragma.Pragma)
_thenExpressionOtopInstanceNmL :: ([HsName])
_thenExpressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_elseExpressionOcaseId :: UID
_elseExpressionOfixityGam :: FixityGam
_elseExpressionOgUniq :: UID
_elseExpressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_elseExpressionOidGam :: IdDefOccGam
_elseExpressionOmoduleNm :: HsName
_elseExpressionOnmLev :: NmLev
_elseExpressionOopts :: EHCOpts
_elseExpressionOpatchEhNmInInstance :: PatchEhNmInInstance
_elseExpressionOpragmas :: (Set.Set Pragma.Pragma)
_elseExpressionOtopInstanceNmL :: ([HsName])
_elseExpressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_guardExpressionIconNm :: Name
_guardExpressionIeh :: (EH.Expr)
_guardExpressionIerrSq :: ErrSq
_guardExpressionIgUniq :: UID
_guardExpressionIidUseOccGam :: IdUseOccGam
_guardExpressionIopChain :: (OpChain EH.Expr)
_guardExpressionIoperatorName :: MaybeName
_guardExpressionIpp :: PP_Doc
_guardExpressionIppWrap :: (PP_Doc -> PP_Doc)
_guardExpressionItopInstanceNmL :: ([HsName])
_guardExpressionItrpp :: TrPP
_guardExpressionIundefOccGam :: IdUseOccGam
_thenExpressionIconNm :: Name
_thenExpressionIeh :: (EH.Expr)
_thenExpressionIerrSq :: ErrSq
_thenExpressionIgUniq :: UID
_thenExpressionIidUseOccGam :: IdUseOccGam
_thenExpressionIopChain :: (OpChain EH.Expr)
_thenExpressionIoperatorName :: MaybeName
_thenExpressionIpp :: PP_Doc
_thenExpressionIppWrap :: (PP_Doc -> PP_Doc)
_thenExpressionItopInstanceNmL :: ([HsName])
_thenExpressionItrpp :: TrPP
_thenExpressionIundefOccGam :: IdUseOccGam
_elseExpressionIconNm :: Name
_elseExpressionIeh :: (EH.Expr)
_elseExpressionIerrSq :: ErrSq
_elseExpressionIgUniq :: UID
_elseExpressionIidUseOccGam :: IdUseOccGam
_elseExpressionIopChain :: (OpChain EH.Expr)
_elseExpressionIoperatorName :: MaybeName
_elseExpressionIpp :: PP_Doc
_elseExpressionIppWrap :: (PP_Doc -> PP_Doc)
_elseExpressionItopInstanceNmL :: ([HsName])
_elseExpressionItrpp :: TrPP
_elseExpressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 587, column 29)
(_,_valrefnames,_idUseOccGamVal,_errIdUseVal) =
mkUseOccGam _lhsIopts _lhsIidGam [hsnTrue,hsnFalse] IdOcc_Val IdAsp_Val_Var range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 589, column 29)
(_typerefname,_,_idUseOccGamType,_errIdUseType) =
mkUseOccGam _lhsIopts _lhsIidGam [hsnBool] IdOcc_Type IdAsp_Type_Con range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 587, column 9)
_idUseOccGam =
gamUnions [_idUseOccGamVal,_idUseOccGamType]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 592, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_guardExpressionIidUseOccGam,_thenExpressionIidUseOccGam,_elseExpressionIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 30, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUseVal, Seq.fromList _errIdUseType, _guardExpressionIerrSq, _thenExpressionIerrSq, _elseExpressionIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 226, column 9)
_pp =
"if" >#< _guardExpressionIpp >-< "then" >#< _thenExpressionIpp >-< "else" >#< _elseExpressionIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 508, column 9)
_eh =
EH.mkIf' (_typerefname : _valrefnames) range_ _guardExpressionIeh _thenExpressionIeh _elseExpressionIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_guardExpressionIppWrap . _thenExpressionIppWrap . _elseExpressionIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_guardExpressionItrpp >< _thenExpressionItrpp >< _elseExpressionItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_guardExpressionIundefOccGam `gamUnion` _thenExpressionIundefOccGam `gamUnion` _elseExpressionIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_elseExpressionIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_elseExpressionItopInstanceNmL
-- copy rule (down)
_guardExpressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_guardExpressionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_guardExpressionOgUniq =
_lhsIgUniq
-- copy rule (down)
_guardExpressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_guardExpressionOidGam =
_lhsIidGam
-- copy rule (down)
_guardExpressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_guardExpressionOnmLev =
_lhsInmLev
-- copy rule (down)
_guardExpressionOopts =
_lhsIopts
-- copy rule (down)
_guardExpressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_guardExpressionOpragmas =
_lhsIpragmas
-- copy rule (down)
_guardExpressionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_guardExpressionOtr =
_lhsItr
-- copy rule (down)
_thenExpressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_thenExpressionOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_thenExpressionOgUniq =
_guardExpressionIgUniq
-- copy rule (down)
_thenExpressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_thenExpressionOidGam =
_lhsIidGam
-- copy rule (down)
_thenExpressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_thenExpressionOnmLev =
_lhsInmLev
-- copy rule (down)
_thenExpressionOopts =
_lhsIopts
-- copy rule (down)
_thenExpressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_thenExpressionOpragmas =
_lhsIpragmas
-- copy rule (chain)
_thenExpressionOtopInstanceNmL =
_guardExpressionItopInstanceNmL
-- copy rule (down)
_thenExpressionOtr =
_lhsItr
-- copy rule (down)
_elseExpressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_elseExpressionOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_elseExpressionOgUniq =
_thenExpressionIgUniq
-- copy rule (down)
_elseExpressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_elseExpressionOidGam =
_lhsIidGam
-- copy rule (down)
_elseExpressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_elseExpressionOnmLev =
_lhsInmLev
-- copy rule (down)
_elseExpressionOopts =
_lhsIopts
-- copy rule (down)
_elseExpressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_elseExpressionOpragmas =
_lhsIpragmas
-- copy rule (chain)
_elseExpressionOtopInstanceNmL =
_thenExpressionItopInstanceNmL
-- copy rule (down)
_elseExpressionOtr =
_lhsItr
( _guardExpressionIconNm,_guardExpressionIeh,_guardExpressionIerrSq,_guardExpressionIgUniq,_guardExpressionIidUseOccGam,_guardExpressionIopChain,_guardExpressionIoperatorName,_guardExpressionIpp,_guardExpressionIppWrap,_guardExpressionItopInstanceNmL,_guardExpressionItrpp,_guardExpressionIundefOccGam) =
guardExpression_ _guardExpressionOcaseId _guardExpressionOfixityGam _guardExpressionOgUniq _guardExpressionOgenerDerivMp _guardExpressionOidGam _guardExpressionOmoduleNm _guardExpressionOnmLev _guardExpressionOopts _guardExpressionOpatchEhNmInInstance _guardExpressionOpragmas _guardExpressionOtopInstanceNmL _guardExpressionOtr
( _thenExpressionIconNm,_thenExpressionIeh,_thenExpressionIerrSq,_thenExpressionIgUniq,_thenExpressionIidUseOccGam,_thenExpressionIopChain,_thenExpressionIoperatorName,_thenExpressionIpp,_thenExpressionIppWrap,_thenExpressionItopInstanceNmL,_thenExpressionItrpp,_thenExpressionIundefOccGam) =
thenExpression_ _thenExpressionOcaseId _thenExpressionOfixityGam _thenExpressionOgUniq _thenExpressionOgenerDerivMp _thenExpressionOidGam _thenExpressionOmoduleNm _thenExpressionOnmLev _thenExpressionOopts _thenExpressionOpatchEhNmInInstance _thenExpressionOpragmas _thenExpressionOtopInstanceNmL _thenExpressionOtr
( _elseExpressionIconNm,_elseExpressionIeh,_elseExpressionIerrSq,_elseExpressionIgUniq,_elseExpressionIidUseOccGam,_elseExpressionIopChain,_elseExpressionIoperatorName,_elseExpressionIpp,_elseExpressionIppWrap,_elseExpressionItopInstanceNmL,_elseExpressionItrpp,_elseExpressionIundefOccGam) =
elseExpression_ _elseExpressionOcaseId _elseExpressionOfixityGam _elseExpressionOgUniq _elseExpressionOgenerDerivMp _elseExpressionOidGam _elseExpressionOmoduleNm _elseExpressionOnmLev _elseExpressionOopts _elseExpressionOpatchEhNmInInstance _elseExpressionOpragmas _elseExpressionOtopInstanceNmL _elseExpressionOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_Case :: Range ->
T_Expression ->
T_Alternatives ->
T_Expression
sem_Expression_Case range_ expression_ alternatives_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_expressionOgUniq :: UID
_lUniq :: UID
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOidGam :: IdDefOccGam
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_alternativesOcaseId :: UID
_alternativesOfixityGam :: FixityGam
_alternativesOgUniq :: UID
_alternativesOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_alternativesOidGam :: IdDefOccGam
_alternativesOmoduleNm :: HsName
_alternativesOnmLev :: NmLev
_alternativesOopts :: EHCOpts
_alternativesOpatchEhNmInInstance :: PatchEhNmInInstance
_alternativesOpragmas :: (Set.Set Pragma.Pragma)
_alternativesOtopInstanceNmL :: ([HsName])
_alternativesOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
_alternativesIeh :: ([EH.CaseAlt])
_alternativesIerrSq :: ErrSq
_alternativesIgUniq :: UID
_alternativesIidUseOccGam :: IdUseOccGam
_alternativesIpp :: PP_Doc
_alternativesIppWrap :: (PP_Doc -> PP_Doc)
_alternativesItopInstanceNmL :: ([HsName])
_alternativesItrpp :: TrPP
_alternativesIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 228, column 9)
_pp =
"case" >#< _expressionIpp >#< "of" >-< indent 2 _alternativesIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 510, column 9)
_eh =
EH.mkCase' range_ _expressionIeh (Just $ Set.singleton _caseId) Set.empty False _alternativesIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 869, column 9)
_caseId =
_lUniq
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- -- generated by the unique rule mechanism.
(_expressionOgUniq,_lUniq) =
let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_expressionIerrSq `Seq.union` _alternativesIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_expressionIidUseOccGam `gamAddGam` _alternativesIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_expressionIppWrap . _alternativesIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_expressionItrpp >< _alternativesItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_expressionIundefOccGam `gamUnion` _alternativesIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_alternativesIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_alternativesItopInstanceNmL
-- copy rule (from local)
_expressionOcaseId =
_caseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOidGam =
_lhsIidGam
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_expressionOnmLev =
_lhsInmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (down)
_expressionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
-- copy rule (from local)
_alternativesOcaseId =
_caseId
-- copy rule (down)
_alternativesOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_alternativesOgUniq =
_expressionIgUniq
-- copy rule (down)
_alternativesOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_alternativesOidGam =
_lhsIidGam
-- copy rule (down)
_alternativesOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_alternativesOnmLev =
_lhsInmLev
-- copy rule (down)
_alternativesOopts =
_lhsIopts
-- copy rule (down)
_alternativesOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_alternativesOpragmas =
_lhsIpragmas
-- copy rule (chain)
_alternativesOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_alternativesOtr =
_lhsItr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
( _alternativesIeh,_alternativesIerrSq,_alternativesIgUniq,_alternativesIidUseOccGam,_alternativesIpp,_alternativesIppWrap,_alternativesItopInstanceNmL,_alternativesItrpp,_alternativesIundefOccGam) =
alternatives_ _alternativesOcaseId _alternativesOfixityGam _alternativesOgUniq _alternativesOgenerDerivMp _alternativesOidGam _alternativesOmoduleNm _alternativesOnmLev _alternativesOopts _alternativesOpatchEhNmInInstance _alternativesOpragmas _alternativesOtopInstanceNmL _alternativesOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_List :: Range ->
T_Expressions ->
T_Expression
sem_Expression_List range_ expressions_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_expressionsOcaseId :: UID
_expressionsOfixityGam :: FixityGam
_expressionsOgUniq :: UID
_expressionsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionsOidGam :: IdDefOccGam
_expressionsOmoduleNm :: HsName
_expressionsOnmLev :: NmLev
_expressionsOopts :: EHCOpts
_expressionsOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionsOpragmas :: (Set.Set Pragma.Pragma)
_expressionsOtopInstanceNmL :: ([HsName])
_expressionsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionsIeh :: ([EH.Expr])
_expressionsIerrSq :: ErrSq
_expressionsIgUniq :: UID
_expressionsIidUseOccGam :: IdUseOccGam
_expressionsIpp :: PP_Doc
_expressionsIppL :: ([PP_Doc])
_expressionsIppWrap :: (PP_Doc -> PP_Doc)
_expressionsItopInstanceNmL :: ([HsName])
_expressionsItrpp :: TrPP
_expressionsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 579, column 29)
(_,_refnames,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [hsnDataListAltCons,hsnDataListAltNil] IdOcc_Val IdAsp_Val_Con range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 581, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_expressionsIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 26, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUse, _expressionsIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 230, column 9)
_pp =
ppBracketsCommas _expressionsIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 512, column 9)
_eh =
foldr (\l r -> ehExpConApp range_ (_refnames !! 0) [l,r]) (rngLift range_ EH.Expr_Con (_refnames !! 1)) _expressionsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_expressionsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_expressionsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_expressionsIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_expressionsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_expressionsItopInstanceNmL
-- copy rule (down)
_expressionsOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionsOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_expressionsOgUniq =
_lhsIgUniq
-- copy rule (down)
_expressionsOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionsOidGam =
_lhsIidGam
-- copy rule (down)
_expressionsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_expressionsOnmLev =
_lhsInmLev
-- copy rule (down)
_expressionsOopts =
_lhsIopts
-- copy rule (down)
_expressionsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionsOpragmas =
_lhsIpragmas
-- copy rule (down)
_expressionsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_expressionsOtr =
_lhsItr
( _expressionsIeh,_expressionsIerrSq,_expressionsIgUniq,_expressionsIidUseOccGam,_expressionsIpp,_expressionsIppL,_expressionsIppWrap,_expressionsItopInstanceNmL,_expressionsItrpp,_expressionsIundefOccGam) =
expressions_ _expressionsOcaseId _expressionsOfixityGam _expressionsOgUniq _expressionsOgenerDerivMp _expressionsOidGam _expressionsOmoduleNm _expressionsOnmLev _expressionsOopts _expressionsOpatchEhNmInInstance _expressionsOpragmas _expressionsOtopInstanceNmL _expressionsOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_Enum :: Range ->
T_Expression ->
T_MaybeExpression ->
T_MaybeExpression ->
T_Expression
sem_Expression_Enum range_ from_ then_ to_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_fromOcaseId :: UID
_fromOfixityGam :: FixityGam
_fromOgUniq :: UID
_fromOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_fromOidGam :: IdDefOccGam
_fromOmoduleNm :: HsName
_fromOnmLev :: NmLev
_fromOopts :: EHCOpts
_fromOpatchEhNmInInstance :: PatchEhNmInInstance
_fromOpragmas :: (Set.Set Pragma.Pragma)
_fromOtopInstanceNmL :: ([HsName])
_fromOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_thenOcaseId :: UID
_thenOfixityGam :: FixityGam
_thenOgUniq :: UID
_thenOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_thenOidGam :: IdDefOccGam
_thenOmoduleNm :: HsName
_thenOnmLev :: NmLev
_thenOopts :: EHCOpts
_thenOpatchEhNmInInstance :: PatchEhNmInInstance
_thenOpragmas :: (Set.Set Pragma.Pragma)
_thenOtopInstanceNmL :: ([HsName])
_thenOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_toOcaseId :: UID
_toOfixityGam :: FixityGam
_toOgUniq :: UID
_toOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_toOidGam :: IdDefOccGam
_toOmoduleNm :: HsName
_toOnmLev :: NmLev
_toOopts :: EHCOpts
_toOpatchEhNmInInstance :: PatchEhNmInInstance
_toOpragmas :: (Set.Set Pragma.Pragma)
_toOtopInstanceNmL :: ([HsName])
_toOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_fromIconNm :: Name
_fromIeh :: (EH.Expr)
_fromIerrSq :: ErrSq
_fromIgUniq :: UID
_fromIidUseOccGam :: IdUseOccGam
_fromIopChain :: (OpChain EH.Expr)
_fromIoperatorName :: MaybeName
_fromIpp :: PP_Doc
_fromIppWrap :: (PP_Doc -> PP_Doc)
_fromItopInstanceNmL :: ([HsName])
_fromItrpp :: TrPP
_fromIundefOccGam :: IdUseOccGam
_thenIeh :: (Maybe EH.Expr)
_thenIerrSq :: ErrSq
_thenIgUniq :: UID
_thenIidUseOccGam :: IdUseOccGam
_thenIpp :: PP_Doc
_thenIppMb :: (Maybe PP_Doc)
_thenIppWrap :: (PP_Doc -> PP_Doc)
_thenItopInstanceNmL :: ([HsName])
_thenItrpp :: TrPP
_thenIundefOccGam :: IdUseOccGam
_toIeh :: (Maybe EH.Expr)
_toIerrSq :: ErrSq
_toIgUniq :: UID
_toIidUseOccGam :: IdUseOccGam
_toIpp :: PP_Doc
_toIppMb :: (Maybe PP_Doc)
_toIppWrap :: (PP_Doc -> PP_Doc)
_toItopInstanceNmL :: ([HsName])
_toItrpp :: TrPP
_toIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 583, column 29)
(_refname,_,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [_enumNm] IdOcc_Val IdAsp_Val_Var range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 585, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_fromIidUseOccGam,_thenIidUseOccGam,_toIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 28, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUse, _fromIerrSq, _thenIerrSq, _toIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 232, column 9)
_pp =
case (_fromIpp,_thenIppMb,_toIppMb) of
(fr,Just th,Just to) -> ppBrackets (fr >|< "," >#< th >#< ".." >#< to)
(fr,Just th,Nothing) -> ppBrackets (fr >|< "," >#< th >#< ".." )
(fr,Nothing,Just to) -> ppBrackets (fr >#< ".." >#< to )
(fr,Nothing,Nothing) -> ppBrackets (fr >#< ".." )
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 514, column 9)
_enumNm =
case (_fromIeh,_thenIeh,_toIeh) of
(fr,Just th,Just to) -> hsnEnumFromThenTo
(fr,Just th,Nothing) -> hsnEnumFromThen
(fr,Nothing,Just to) -> hsnEnumFromTo
(fr,Nothing,Nothing) -> hsnEnumFrom
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 514, column 9)
_eh =
case (_fromIeh,_thenIeh,_toIeh) of
(fr,Just th,Just to) -> ehExpVarApp range_ _refname [fr,th,to]
(fr,Just th,Nothing) -> ehExpVarApp range_ _refname [fr,th ]
(fr,Nothing,Just to) -> ehExpVarApp range_ _refname [fr ,to]
(fr,Nothing,Nothing) -> ehExpVarApp range_ _refname [fr ]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_fromIppWrap . _thenIppWrap . _toIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_fromItrpp >< _thenItrpp >< _toItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_fromIundefOccGam `gamUnion` _thenIundefOccGam `gamUnion` _toIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_toIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_toItopInstanceNmL
-- copy rule (down)
_fromOcaseId =
_lhsIcaseId
-- copy rule (down)
_fromOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_fromOgUniq =
_lhsIgUniq
-- copy rule (down)
_fromOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_fromOidGam =
_lhsIidGam
-- copy rule (down)
_fromOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_fromOnmLev =
_lhsInmLev
-- copy rule (down)
_fromOopts =
_lhsIopts
-- copy rule (down)
_fromOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_fromOpragmas =
_lhsIpragmas
-- copy rule (down)
_fromOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_fromOtr =
_lhsItr
-- copy rule (down)
_thenOcaseId =
_lhsIcaseId
-- copy rule (down)
_thenOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_thenOgUniq =
_fromIgUniq
-- copy rule (down)
_thenOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_thenOidGam =
_lhsIidGam
-- copy rule (down)
_thenOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_thenOnmLev =
_lhsInmLev
-- copy rule (down)
_thenOopts =
_lhsIopts
-- copy rule (down)
_thenOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_thenOpragmas =
_lhsIpragmas
-- copy rule (chain)
_thenOtopInstanceNmL =
_fromItopInstanceNmL
-- copy rule (down)
_thenOtr =
_lhsItr
-- copy rule (down)
_toOcaseId =
_lhsIcaseId
-- copy rule (down)
_toOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_toOgUniq =
_thenIgUniq
-- copy rule (down)
_toOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_toOidGam =
_lhsIidGam
-- copy rule (down)
_toOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_toOnmLev =
_lhsInmLev
-- copy rule (down)
_toOopts =
_lhsIopts
-- copy rule (down)
_toOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_toOpragmas =
_lhsIpragmas
-- copy rule (chain)
_toOtopInstanceNmL =
_thenItopInstanceNmL
-- copy rule (down)
_toOtr =
_lhsItr
( _fromIconNm,_fromIeh,_fromIerrSq,_fromIgUniq,_fromIidUseOccGam,_fromIopChain,_fromIoperatorName,_fromIpp,_fromIppWrap,_fromItopInstanceNmL,_fromItrpp,_fromIundefOccGam) =
from_ _fromOcaseId _fromOfixityGam _fromOgUniq _fromOgenerDerivMp _fromOidGam _fromOmoduleNm _fromOnmLev _fromOopts _fromOpatchEhNmInInstance _fromOpragmas _fromOtopInstanceNmL _fromOtr
( _thenIeh,_thenIerrSq,_thenIgUniq,_thenIidUseOccGam,_thenIpp,_thenIppMb,_thenIppWrap,_thenItopInstanceNmL,_thenItrpp,_thenIundefOccGam) =
then_ _thenOcaseId _thenOfixityGam _thenOgUniq _thenOgenerDerivMp _thenOidGam _thenOmoduleNm _thenOnmLev _thenOopts _thenOpatchEhNmInInstance _thenOpragmas _thenOtopInstanceNmL _thenOtr
( _toIeh,_toIerrSq,_toIgUniq,_toIidUseOccGam,_toIpp,_toIppMb,_toIppWrap,_toItopInstanceNmL,_toItrpp,_toIundefOccGam) =
to_ _toOcaseId _toOfixityGam _toOgUniq _toOgenerDerivMp _toOidGam _toOmoduleNm _toOnmLev _toOopts _toOpatchEhNmInInstance _toOpragmas _toOtopInstanceNmL _toOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_Comprehension :: Range ->
T_Expression ->
T_Qualifiers ->
T_Expression
sem_Expression_Comprehension range_ expression_ qualifiers_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _expressionOidGam :: IdDefOccGam
_qualifiersOidGam :: IdDefOccGam
_lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_qualifiersOcaseId :: UID
_qualifiersOfixityGam :: FixityGam
_qualifiersOgUniq :: UID
_qualifiersOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_qualifiersOmoduleNm :: HsName
_qualifiersOnmLev :: NmLev
_qualifiersOopts :: EHCOpts
_qualifiersOpatchEhNmInInstance :: PatchEhNmInInstance
_qualifiersOpragmas :: (Set.Set Pragma.Pragma)
_qualifiersOtopInstanceNmL :: ([HsName])
_qualifiersOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
_qualifiersIeh :: ([EH.Expr -> EH.Expr])
_qualifiersIerrSq :: ErrSq
_qualifiersIgUniq :: UID
_qualifiersIidGam :: IdDefOccGam
_qualifiersIidUseOccGam :: IdUseOccGam
_qualifiersIpp :: PP_Doc
_qualifiersIppL :: ([PP_Doc])
_qualifiersIppWrap :: (PP_Doc -> PP_Doc)
_qualifiersItopInstanceNmL :: ([HsName])
_qualifiersItrpp :: TrPP
_qualifiersIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 421, column 9)
_expressionOidGam =
_qualifiersIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 422, column 9)
_qualifiersOidGam =
_lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 238, column 9)
_pp =
ppBrackets (_expressionIpp >#< "|" >#< ppCommas' _qualifiersIppL)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 525, column 9)
_eh =
foldr ($) _expressionIeh _qualifiersIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_expressionIerrSq `Seq.union` _qualifiersIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_expressionIidUseOccGam `gamAddGam` _qualifiersIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_expressionIppWrap . _qualifiersIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_expressionItrpp >< _qualifiersItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_expressionIundefOccGam `gamUnion` _qualifiersIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_qualifiersIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_qualifiersItopInstanceNmL
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_expressionOgUniq =
_lhsIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_expressionOnmLev =
_lhsInmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (down)
_expressionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
-- copy rule (down)
_qualifiersOcaseId =
_lhsIcaseId
-- copy rule (down)
_qualifiersOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_qualifiersOgUniq =
_expressionIgUniq
-- copy rule (down)
_qualifiersOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_qualifiersOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_qualifiersOnmLev =
_lhsInmLev
-- copy rule (down)
_qualifiersOopts =
_lhsIopts
-- copy rule (down)
_qualifiersOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_qualifiersOpragmas =
_lhsIpragmas
-- copy rule (chain)
_qualifiersOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_qualifiersOtr =
_lhsItr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
( _qualifiersIeh,_qualifiersIerrSq,_qualifiersIgUniq,_qualifiersIidGam,_qualifiersIidUseOccGam,_qualifiersIpp,_qualifiersIppL,_qualifiersIppWrap,_qualifiersItopInstanceNmL,_qualifiersItrpp,_qualifiersIundefOccGam) =
qualifiers_ _qualifiersOcaseId _qualifiersOfixityGam _qualifiersOgUniq _qualifiersOgenerDerivMp _qualifiersOidGam _qualifiersOmoduleNm _qualifiersOnmLev _qualifiersOopts _qualifiersOpatchEhNmInInstance _qualifiersOpragmas _qualifiersOtopInstanceNmL _qualifiersOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_RecordConstruction :: Range ->
Name ->
T_RecordExpressionBindings ->
T_Expression
sem_Expression_RecordConstruction range_ name_ recordExpressionBindings_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_recordExpressionBindingsOcaseId :: UID
_recordExpressionBindingsOfixityGam :: FixityGam
_recordExpressionBindingsOgUniq :: UID
_recordExpressionBindingsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_recordExpressionBindingsOidGam :: IdDefOccGam
_recordExpressionBindingsOmoduleNm :: HsName
_recordExpressionBindingsOnmLev :: NmLev
_recordExpressionBindingsOopts :: EHCOpts
_recordExpressionBindingsOpatchEhNmInInstance :: PatchEhNmInInstance
_recordExpressionBindingsOpragmas :: (Set.Set Pragma.Pragma)
_recordExpressionBindingsOtopInstanceNmL :: ([HsName])
_recordExpressionBindingsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_recordExpressionBindingsIeh :: ([EH.DataFieldExpr -> EH.DataFieldExpr])
_recordExpressionBindingsIerrSq :: ErrSq
_recordExpressionBindingsIgUniq :: UID
_recordExpressionBindingsIidUseOccGam :: IdUseOccGam
_recordExpressionBindingsIpp :: PP_Doc
_recordExpressionBindingsIppL :: ([PP_Doc])
_recordExpressionBindingsIppWrap :: (PP_Doc -> PP_Doc)
_recordExpressionBindingsItopInstanceNmL :: ([HsName])
_recordExpressionBindingsItrpp :: TrPP
_recordExpressionBindingsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 562, column 9)
_idAsp =
IdAsp_Val_Con
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 565, column 29)
(_refname,_,_idUseOccGam,_errIdUse) =
let x@(n,_,_,_) = mkUseOccGam _lhsIopts _lhsIidGam [name_] IdOcc_Val _idAsp range_
dbgnm = mkHNm "putStrLn"
dbgoc = IdOcc dbgnm IdOcc_Val
in
x
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 573, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_recordExpressionBindingsIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 32, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUse, _recordExpressionBindingsIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 240, column 9)
_pp =
name_ >#< ppCurlysCommas' _recordExpressionBindingsIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 527, column 9)
_eh =
rngLift range_ EH.Expr_DataFields $ foldl (flip ($)) (rngLift range_ EH.DataFieldExpr_Con _refname) _recordExpressionBindingsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_recordExpressionBindingsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_recordExpressionBindingsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_recordExpressionBindingsIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_recordExpressionBindingsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_recordExpressionBindingsItopInstanceNmL
-- copy rule (down)
_recordExpressionBindingsOcaseId =
_lhsIcaseId
-- copy rule (down)
_recordExpressionBindingsOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_recordExpressionBindingsOgUniq =
_lhsIgUniq
-- copy rule (down)
_recordExpressionBindingsOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_recordExpressionBindingsOidGam =
_lhsIidGam
-- copy rule (down)
_recordExpressionBindingsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_recordExpressionBindingsOnmLev =
_lhsInmLev
-- copy rule (down)
_recordExpressionBindingsOopts =
_lhsIopts
-- copy rule (down)
_recordExpressionBindingsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_recordExpressionBindingsOpragmas =
_lhsIpragmas
-- copy rule (down)
_recordExpressionBindingsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_recordExpressionBindingsOtr =
_lhsItr
( _recordExpressionBindingsIeh,_recordExpressionBindingsIerrSq,_recordExpressionBindingsIgUniq,_recordExpressionBindingsIidUseOccGam,_recordExpressionBindingsIpp,_recordExpressionBindingsIppL,_recordExpressionBindingsIppWrap,_recordExpressionBindingsItopInstanceNmL,_recordExpressionBindingsItrpp,_recordExpressionBindingsIundefOccGam) =
recordExpressionBindings_ _recordExpressionBindingsOcaseId _recordExpressionBindingsOfixityGam _recordExpressionBindingsOgUniq _recordExpressionBindingsOgenerDerivMp _recordExpressionBindingsOidGam _recordExpressionBindingsOmoduleNm _recordExpressionBindingsOnmLev _recordExpressionBindingsOopts _recordExpressionBindingsOpatchEhNmInInstance _recordExpressionBindingsOpragmas _recordExpressionBindingsOtopInstanceNmL _recordExpressionBindingsOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_RecordUpdate :: Range ->
T_Expression ->
T_RecordExpressionBindings ->
T_Expression
sem_Expression_RecordUpdate range_ expression_ recordExpressionBindings_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOidGam :: IdDefOccGam
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_recordExpressionBindingsOcaseId :: UID
_recordExpressionBindingsOfixityGam :: FixityGam
_recordExpressionBindingsOgUniq :: UID
_recordExpressionBindingsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_recordExpressionBindingsOidGam :: IdDefOccGam
_recordExpressionBindingsOmoduleNm :: HsName
_recordExpressionBindingsOnmLev :: NmLev
_recordExpressionBindingsOopts :: EHCOpts
_recordExpressionBindingsOpatchEhNmInInstance :: PatchEhNmInInstance
_recordExpressionBindingsOpragmas :: (Set.Set Pragma.Pragma)
_recordExpressionBindingsOtopInstanceNmL :: ([HsName])
_recordExpressionBindingsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
_recordExpressionBindingsIeh :: ([EH.DataFieldExpr -> EH.DataFieldExpr])
_recordExpressionBindingsIerrSq :: ErrSq
_recordExpressionBindingsIgUniq :: UID
_recordExpressionBindingsIidUseOccGam :: IdUseOccGam
_recordExpressionBindingsIpp :: PP_Doc
_recordExpressionBindingsIppL :: ([PP_Doc])
_recordExpressionBindingsIppWrap :: (PP_Doc -> PP_Doc)
_recordExpressionBindingsItopInstanceNmL :: ([HsName])
_recordExpressionBindingsItrpp :: TrPP
_recordExpressionBindingsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 242, column 9)
_pp =
_expressionIpp >#< ppCurlysCommas' _recordExpressionBindingsIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 529, column 9)
_eh =
case _recordExpressionBindingsIeh of
b@(_:_) -> rngLift range_ EH.Expr_DataFields $ foldl (flip ($)) (rngLift range_ EH.DataFieldExpr_Expr _expressionIeh) b
_ -> _expressionIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_expressionIerrSq `Seq.union` _recordExpressionBindingsIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_expressionIidUseOccGam `gamAddGam` _recordExpressionBindingsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_expressionIppWrap . _recordExpressionBindingsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_expressionItrpp >< _recordExpressionBindingsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_expressionIundefOccGam `gamUnion` _recordExpressionBindingsIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_recordExpressionBindingsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_recordExpressionBindingsItopInstanceNmL
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_expressionOgUniq =
_lhsIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOidGam =
_lhsIidGam
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_expressionOnmLev =
_lhsInmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (down)
_expressionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
-- copy rule (down)
_recordExpressionBindingsOcaseId =
_lhsIcaseId
-- copy rule (down)
_recordExpressionBindingsOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_recordExpressionBindingsOgUniq =
_expressionIgUniq
-- copy rule (down)
_recordExpressionBindingsOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_recordExpressionBindingsOidGam =
_lhsIidGam
-- copy rule (down)
_recordExpressionBindingsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_recordExpressionBindingsOnmLev =
_lhsInmLev
-- copy rule (down)
_recordExpressionBindingsOopts =
_lhsIopts
-- copy rule (down)
_recordExpressionBindingsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_recordExpressionBindingsOpragmas =
_lhsIpragmas
-- copy rule (chain)
_recordExpressionBindingsOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_recordExpressionBindingsOtr =
_lhsItr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
( _recordExpressionBindingsIeh,_recordExpressionBindingsIerrSq,_recordExpressionBindingsIgUniq,_recordExpressionBindingsIidUseOccGam,_recordExpressionBindingsIpp,_recordExpressionBindingsIppL,_recordExpressionBindingsIppWrap,_recordExpressionBindingsItopInstanceNmL,_recordExpressionBindingsItrpp,_recordExpressionBindingsIundefOccGam) =
recordExpressionBindings_ _recordExpressionBindingsOcaseId _recordExpressionBindingsOfixityGam _recordExpressionBindingsOgUniq _recordExpressionBindingsOgenerDerivMp _recordExpressionBindingsOidGam _recordExpressionBindingsOmoduleNm _recordExpressionBindingsOnmLev _recordExpressionBindingsOopts _recordExpressionBindingsOpatchEhNmInInstance _recordExpressionBindingsOpragmas _recordExpressionBindingsOtopInstanceNmL _recordExpressionBindingsOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_RowRecordUpdate :: Range ->
T_Expression ->
T_RowRecordExpressionUpdates ->
T_Expression
sem_Expression_RowRecordUpdate range_ expression_ rowRecordExpressionUpdates_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOidGam :: IdDefOccGam
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_rowRecordExpressionUpdatesOcaseId :: UID
_rowRecordExpressionUpdatesOfixityGam :: FixityGam
_rowRecordExpressionUpdatesOgUniq :: UID
_rowRecordExpressionUpdatesOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_rowRecordExpressionUpdatesOidGam :: IdDefOccGam
_rowRecordExpressionUpdatesOmoduleNm :: HsName
_rowRecordExpressionUpdatesOnmLev :: NmLev
_rowRecordExpressionUpdatesOopts :: EHCOpts
_rowRecordExpressionUpdatesOpatchEhNmInInstance :: PatchEhNmInInstance
_rowRecordExpressionUpdatesOpragmas :: (Set.Set Pragma.Pragma)
_rowRecordExpressionUpdatesOtopInstanceNmL :: ([HsName])
_rowRecordExpressionUpdatesOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
_rowRecordExpressionUpdatesIeh :: ([EH.Expr -> EH.Expr])
_rowRecordExpressionUpdatesIerrSq :: ErrSq
_rowRecordExpressionUpdatesIgUniq :: UID
_rowRecordExpressionUpdatesIidUseOccGam :: IdUseOccGam
_rowRecordExpressionUpdatesIpp :: PP_Doc
_rowRecordExpressionUpdatesIppL :: ([PP_Doc])
_rowRecordExpressionUpdatesIppWrap :: (PP_Doc -> PP_Doc)
_rowRecordExpressionUpdatesItopInstanceNmL :: ([HsName])
_rowRecordExpressionUpdatesItrpp :: TrPP
_rowRecordExpressionUpdatesIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 244, column 9)
_pp =
ppAppTop (hsnRec,mkPPAppFun hsnRowEmpty _expressionIpp)
_rowRecordExpressionUpdatesIppL _expressionIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 533, column 9)
_eh =
foldl (flip ($)) _expressionIeh _rowRecordExpressionUpdatesIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_expressionIerrSq `Seq.union` _rowRecordExpressionUpdatesIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_expressionIidUseOccGam `gamAddGam` _rowRecordExpressionUpdatesIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_expressionIppWrap . _rowRecordExpressionUpdatesIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_expressionItrpp >< _rowRecordExpressionUpdatesItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_expressionIundefOccGam `gamUnion` _rowRecordExpressionUpdatesIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_rowRecordExpressionUpdatesIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_rowRecordExpressionUpdatesItopInstanceNmL
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_expressionOgUniq =
_lhsIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOidGam =
_lhsIidGam
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_expressionOnmLev =
_lhsInmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (down)
_expressionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
-- copy rule (down)
_rowRecordExpressionUpdatesOcaseId =
_lhsIcaseId
-- copy rule (down)
_rowRecordExpressionUpdatesOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_rowRecordExpressionUpdatesOgUniq =
_expressionIgUniq
-- copy rule (down)
_rowRecordExpressionUpdatesOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_rowRecordExpressionUpdatesOidGam =
_lhsIidGam
-- copy rule (down)
_rowRecordExpressionUpdatesOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_rowRecordExpressionUpdatesOnmLev =
_lhsInmLev
-- copy rule (down)
_rowRecordExpressionUpdatesOopts =
_lhsIopts
-- copy rule (down)
_rowRecordExpressionUpdatesOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_rowRecordExpressionUpdatesOpragmas =
_lhsIpragmas
-- copy rule (chain)
_rowRecordExpressionUpdatesOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_rowRecordExpressionUpdatesOtr =
_lhsItr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
( _rowRecordExpressionUpdatesIeh,_rowRecordExpressionUpdatesIerrSq,_rowRecordExpressionUpdatesIgUniq,_rowRecordExpressionUpdatesIidUseOccGam,_rowRecordExpressionUpdatesIpp,_rowRecordExpressionUpdatesIppL,_rowRecordExpressionUpdatesIppWrap,_rowRecordExpressionUpdatesItopInstanceNmL,_rowRecordExpressionUpdatesItrpp,_rowRecordExpressionUpdatesIundefOccGam) =
rowRecordExpressionUpdates_ _rowRecordExpressionUpdatesOcaseId _rowRecordExpressionUpdatesOfixityGam _rowRecordExpressionUpdatesOgUniq _rowRecordExpressionUpdatesOgenerDerivMp _rowRecordExpressionUpdatesOidGam _rowRecordExpressionUpdatesOmoduleNm _rowRecordExpressionUpdatesOnmLev _rowRecordExpressionUpdatesOopts _rowRecordExpressionUpdatesOpatchEhNmInInstance _rowRecordExpressionUpdatesOpragmas _rowRecordExpressionUpdatesOtopInstanceNmL _rowRecordExpressionUpdatesOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_RowRecordEmpty :: Range ->
T_Expression
sem_Expression_RowRecordEmpty range_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 247, column 9)
_pp =
hsnORec >|< hsnCRec
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 535, column 9)
_eh =
rngLift range_ EH.Expr_Rec (rngLift range_ EH.RecExpr_Empty)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_RowRecordSelect :: Range ->
T_Expression ->
Name ->
T_Expression
sem_Expression_RowRecordSelect range_ expression_ name_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOidGam :: IdDefOccGam
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 249, column 9)
_pp =
_expressionIpp >|< "->" >|< name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 537, column 9)
_eh =
rngLift range_ EH.Expr_Sel _expressionIeh name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_expressionIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_expressionIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_expressionIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_expressionItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_expressionIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_expressionIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_expressionOgUniq =
_lhsIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOidGam =
_lhsIidGam
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_expressionOnmLev =
_lhsInmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (down)
_expressionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_Do :: Range ->
T_Statements ->
T_Expression
sem_Expression_Do range_ statements_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_statementsOcaseId :: UID
_statementsOfixityGam :: FixityGam
_statementsOgUniq :: UID
_statementsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_statementsOidGam :: IdDefOccGam
_statementsOmoduleNm :: HsName
_statementsOnmLev :: NmLev
_statementsOopts :: EHCOpts
_statementsOpatchEhNmInInstance :: PatchEhNmInInstance
_statementsOpragmas :: (Set.Set Pragma.Pragma)
_statementsOtopInstanceNmL :: ([HsName])
_statementsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_statementsIeh :: ([(EH.Expr,EH.Expr -> EH.Expr)])
_statementsIerrSq :: ErrSq
_statementsIgUniq :: UID
_statementsIidUseOccGam :: IdUseOccGam
_statementsIpp :: PP_Doc
_statementsIppL :: ([PP_Doc])
_statementsIppWrap :: (PP_Doc -> PP_Doc)
_statementsItopInstanceNmL :: ([HsName])
_statementsItrpp :: TrPP
_statementsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 251, column 9)
_pp =
"do" >#< vlist _statementsIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 539, column 25)
(_eh,_) =
foldr1 (\(_,s) (e,_) -> (s e,undefined)) _statementsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_statementsIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_statementsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_statementsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_statementsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_statementsIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_statementsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_statementsItopInstanceNmL
-- copy rule (down)
_statementsOcaseId =
_lhsIcaseId
-- copy rule (down)
_statementsOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_statementsOgUniq =
_lhsIgUniq
-- copy rule (down)
_statementsOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_statementsOidGam =
_lhsIidGam
-- copy rule (down)
_statementsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_statementsOnmLev =
_lhsInmLev
-- copy rule (down)
_statementsOopts =
_lhsIopts
-- copy rule (down)
_statementsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_statementsOpragmas =
_lhsIpragmas
-- copy rule (down)
_statementsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_statementsOtr =
_lhsItr
( _statementsIeh,_statementsIerrSq,_statementsIgUniq,_statementsIidUseOccGam,_statementsIpp,_statementsIppL,_statementsIppWrap,_statementsItopInstanceNmL,_statementsItrpp,_statementsIundefOccGam) =
statements_ _statementsOcaseId _statementsOfixityGam _statementsOgUniq _statementsOgenerDerivMp _statementsOidGam _statementsOmoduleNm _statementsOnmLev _statementsOopts _statementsOpatchEhNmInInstance _statementsOpragmas _statementsOtopInstanceNmL _statementsOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_ImplicitApplication :: Range ->
T_Expression ->
T_ContextedExpressions ->
T_Expression
sem_Expression_ImplicitApplication range_ function_ arguments_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_functionOcaseId :: UID
_functionOfixityGam :: FixityGam
_functionOgUniq :: UID
_functionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_functionOidGam :: IdDefOccGam
_functionOmoduleNm :: HsName
_functionOnmLev :: NmLev
_functionOopts :: EHCOpts
_functionOpatchEhNmInInstance :: PatchEhNmInInstance
_functionOpragmas :: (Set.Set Pragma.Pragma)
_functionOtopInstanceNmL :: ([HsName])
_functionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_argumentsOcaseId :: UID
_argumentsOfixityGam :: FixityGam
_argumentsOgUniq :: UID
_argumentsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_argumentsOidGam :: IdDefOccGam
_argumentsOmoduleNm :: HsName
_argumentsOnmLev :: NmLev
_argumentsOopts :: EHCOpts
_argumentsOpatchEhNmInInstance :: PatchEhNmInInstance
_argumentsOpragmas :: (Set.Set Pragma.Pragma)
_argumentsOtopInstanceNmL :: ([HsName])
_argumentsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_functionIconNm :: Name
_functionIeh :: (EH.Expr)
_functionIerrSq :: ErrSq
_functionIgUniq :: UID
_functionIidUseOccGam :: IdUseOccGam
_functionIopChain :: (OpChain EH.Expr)
_functionIoperatorName :: MaybeName
_functionIpp :: PP_Doc
_functionIppWrap :: (PP_Doc -> PP_Doc)
_functionItopInstanceNmL :: ([HsName])
_functionItrpp :: TrPP
_functionIundefOccGam :: IdUseOccGam
_argumentsIeh :: ([(EH.Expr,EH.PrExpr)])
_argumentsIerrSq :: ErrSq
_argumentsIgUniq :: UID
_argumentsIidUseOccGam :: IdUseOccGam
_argumentsIpp :: PP_Doc
_argumentsIppL :: ([PP_Doc])
_argumentsIppWrap :: (PP_Doc -> PP_Doc)
_argumentsItopInstanceNmL :: ([HsName])
_argumentsItrpp :: TrPP
_argumentsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 253, column 9)
_pp =
_functionIpp >#< ppListSep hsnOImpl hsnCImpl ", " _argumentsIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 541, column 9)
_eh =
ehExpApp' (\f (e,p) -> rngLift range_ EH.Expr_AppImpl f p e) range_ _functionIeh _argumentsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_functionIerrSq `Seq.union` _argumentsIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_functionIidUseOccGam `gamAddGam` _argumentsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_functionIppWrap . _argumentsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_functionItrpp >< _argumentsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_functionIundefOccGam `gamUnion` _argumentsIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_argumentsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_argumentsItopInstanceNmL
-- copy rule (down)
_functionOcaseId =
_lhsIcaseId
-- copy rule (down)
_functionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_functionOgUniq =
_lhsIgUniq
-- copy rule (down)
_functionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_functionOidGam =
_lhsIidGam
-- copy rule (down)
_functionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_functionOnmLev =
_lhsInmLev
-- copy rule (down)
_functionOopts =
_lhsIopts
-- copy rule (down)
_functionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_functionOpragmas =
_lhsIpragmas
-- copy rule (down)
_functionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_functionOtr =
_lhsItr
-- copy rule (down)
_argumentsOcaseId =
_lhsIcaseId
-- copy rule (down)
_argumentsOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_argumentsOgUniq =
_functionIgUniq
-- copy rule (down)
_argumentsOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_argumentsOidGam =
_lhsIidGam
-- copy rule (down)
_argumentsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_argumentsOnmLev =
_lhsInmLev
-- copy rule (down)
_argumentsOopts =
_lhsIopts
-- copy rule (down)
_argumentsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_argumentsOpragmas =
_lhsIpragmas
-- copy rule (chain)
_argumentsOtopInstanceNmL =
_functionItopInstanceNmL
-- copy rule (down)
_argumentsOtr =
_lhsItr
( _functionIconNm,_functionIeh,_functionIerrSq,_functionIgUniq,_functionIidUseOccGam,_functionIopChain,_functionIoperatorName,_functionIpp,_functionIppWrap,_functionItopInstanceNmL,_functionItrpp,_functionIundefOccGam) =
function_ _functionOcaseId _functionOfixityGam _functionOgUniq _functionOgenerDerivMp _functionOidGam _functionOmoduleNm _functionOnmLev _functionOopts _functionOpatchEhNmInInstance _functionOpragmas _functionOtopInstanceNmL _functionOtr
( _argumentsIeh,_argumentsIerrSq,_argumentsIgUniq,_argumentsIidUseOccGam,_argumentsIpp,_argumentsIppL,_argumentsIppWrap,_argumentsItopInstanceNmL,_argumentsItrpp,_argumentsIundefOccGam) =
arguments_ _argumentsOcaseId _argumentsOfixityGam _argumentsOgUniq _argumentsOgenerDerivMp _argumentsOidGam _argumentsOmoduleNm _argumentsOnmLev _argumentsOopts _argumentsOpatchEhNmInInstance _argumentsOpragmas _argumentsOtopInstanceNmL _argumentsOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expression_ImplicitLambda :: Range ->
T_ContextedPatterns ->
T_Expression ->
T_Expression
sem_Expression_ImplicitLambda range_ patterns_ expression_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _expressionOidGam :: IdDefOccGam
_lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternsOfixityGam :: FixityGam
_patternsOgUniq :: UID
_patternsOidGam :: IdDefOccGam
_patternsOmoduleNm :: HsName
_patternsOnmLev :: NmLev
_patternsOopts :: EHCOpts
_patternsOpatchEhNmInInstance :: PatchEhNmInInstance
_patternsOtopInstanceNmL :: ([HsName])
_patternsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternsIeh :: ([(EH.PatExpr,EH.PrExpr)])
_patternsIerrSq :: ErrSq
_patternsIfreeTvarS :: HsNameS
_patternsIgUniq :: UID
_patternsIidDefOccGam :: IdDefOccGam
_patternsIidOccDefs :: ([IdOcc])
_patternsIidUseOccGam :: IdUseOccGam
_patternsIpp :: PP_Doc
_patternsIppL :: ([PP_Doc])
_patternsIppWrap :: (PP_Doc -> PP_Doc)
_patternsItopInstanceNmL :: ([HsName])
_patternsItrpp :: TrPP
_patternsIundefOccGam :: IdUseOccGam
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 302, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _lhsInmLev range_ _patternsIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 424, column 9)
_idGam =
gamUnions [_idDefOccGamType, _lhsIidGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 425, column 9)
_expressionOidGam =
gamUnions [_patternsIidDefOccGam, _idGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 272, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 104, column 9)
_errDupIntro =
idDefOccGamCheckDupNames _patternsIidDefOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 20, column 9)
_errSq =
Seq.unions [Seq.fromList _errDupIntro, _patternsIerrSq, _expressionIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 255, column 9)
_pp =
"\\" >|< ppListSep hsnOImpl hsnCImpl ", " _patternsIppL >#< "->" >#< _expressionIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 102, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 543, column 9)
_eh =
foldr (\(p,c) e -> rngLift range_ EH.Expr_LamImpl c p e) _expressionIeh _patternsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_patternsIidUseOccGam `gamAddGam` _expressionIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_patternsIppWrap . _expressionIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_patternsItrpp >< _expressionItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_patternsIundefOccGam `gamUnion` _expressionIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_expressionIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_patternsOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_patternsOgUniq =
_lhsIgUniq
-- copy rule (from local)
_patternsOidGam =
_idGam
-- copy rule (down)
_patternsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_patternsOnmLev =
_lhsInmLev
-- copy rule (down)
_patternsOopts =
_lhsIopts
-- copy rule (down)
_patternsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_patternsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_patternsOtr =
_lhsItr
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_expressionOgUniq =
_patternsIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_expressionOnmLev =
_lhsInmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (chain)
_expressionOtopInstanceNmL =
_patternsItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
( _patternsIeh,_patternsIerrSq,_patternsIfreeTvarS,_patternsIgUniq,_patternsIidDefOccGam,_patternsIidOccDefs,_patternsIidUseOccGam,_patternsIpp,_patternsIppL,_patternsIppWrap,_patternsItopInstanceNmL,_patternsItrpp,_patternsIundefOccGam) =
patterns_ _patternsOfixityGam _patternsOgUniq _patternsOidGam _patternsOmoduleNm _patternsOnmLev _patternsOopts _patternsOpatchEhNmInInstance _patternsOtopInstanceNmL _patternsOtr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- ExpressionAnnotation ----------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.ExprAnn
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Empty:
visit 0:
local eh : _
-}
-- cata
sem_ExpressionAnnotation :: ExpressionAnnotation ->
T_ExpressionAnnotation
sem_ExpressionAnnotation (ExpressionAnnotation_Empty) =
(sem_ExpressionAnnotation_Empty)
-- semantic domain
type T_ExpressionAnnotation = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (EH.ExprAnn),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_ExpressionAnnotation_Empty :: T_ExpressionAnnotation
sem_ExpressionAnnotation_Empty =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.ExprAnn)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 909, column 17)
_eh =
EH.ExprAnn_Empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Expressions -------------------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.Expr]
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppL : [PP_Doc]
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : Expression
child tl : Expressions
alternative Nil:
-}
-- cata
sem_Expressions :: Expressions ->
T_Expressions
sem_Expressions list =
(Prelude.foldr sem_Expressions_Cons sem_Expressions_Nil (Prelude.map sem_Expression list))
-- semantic domain
type T_Expressions = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.Expr]),ErrSq,UID,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Expressions_Cons :: T_Expression ->
T_Expressions ->
T_Expressions
sem_Expressions_Cons hd_ tl_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.Expr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOcaseId :: UID
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOpragmas :: (Set.Set Pragma.Pragma)
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOcaseId :: UID
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOpragmas :: (Set.Set Pragma.Pragma)
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIconNm :: Name
_hdIeh :: (EH.Expr)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdIopChain :: (OpChain EH.Expr)
_hdIoperatorName :: MaybeName
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.Expr])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppL :: ([PP_Doc])
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 420, column 9)
_lhsOppL =
_hdIpp : _tlIppL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 455, column 27)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOcaseId =
_lhsIcaseId
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOpragmas =
_lhsIpragmas
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOcaseId =
_lhsIcaseId
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_tlOpragmas =
_lhsIpragmas
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIconNm,_hdIeh,_hdIerrSq,_hdIgUniq,_hdIidUseOccGam,_hdIopChain,_hdIoperatorName,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOcaseId _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOcaseId _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Expressions_Nil :: T_Expressions
sem_Expressions_Nil =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.Expr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 422, column 9)
_lhsOppL =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 455, column 27)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- FieldDeclaration --------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.DataField
errSq : ErrSq
fldrefnames : Names
freeTvarS : HsNameS
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative FieldDeclaration:
child range : {Range}
child names : {Names}
child type : Type
visit 0:
local fldrefnames : _
local nmLev : _
local pp : _
local isAsPred : _
local doGenVarWild : _
-}
-- cata
sem_FieldDeclaration :: FieldDeclaration ->
T_FieldDeclaration
sem_FieldDeclaration (FieldDeclaration_FieldDeclaration _range _names _type) =
(sem_FieldDeclaration_FieldDeclaration _range _names (sem_Type _type))
-- semantic domain
type T_FieldDeclaration = FixityGam ->
UID ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (EH.DataField),ErrSq,Names,HsNameS,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_FieldDeclaration_FieldDeclaration :: Range ->
Names ->
T_Type ->
T_FieldDeclaration
sem_FieldDeclaration_FieldDeclaration range_ names_ type_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: (EH.DataField)
_lhsOerrSq :: ErrSq
_lhsOfldrefnames :: Names
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 83, column 9)
_fldrefnames =
map (hsnSetLevQual _lhsInmLev _lhsImoduleNm) names_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 42, column 9)
_nmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 190, column 9)
_pp =
ppCommas' names_ >#< "::" >#< _typeIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 341, column 9)
_lhsOeh =
rngLift range_ EH.DataField_Field (Just _fldrefnames) _typeIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 189, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 242, column 9)
_doGenVarWild =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_typeIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 78, column 44)
_lhsOfldrefnames =
_fldrefnames
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_typeIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_typeIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_typeIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_typeItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_typeIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_typeIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_typeItopInstanceNmL
-- copy rule (from local)
_typeOdoGenVarWild =
_doGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_typeOgUniq =
_lhsIgUniq
-- copy rule (down)
_typeOidGam =
_lhsIidGam
-- copy rule (from local)
_typeOisAsPred =
_isAsPred
-- copy rule (from local)
_typeOnmLev =
_nmLev
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (down)
_typeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_typeOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOfldrefnames,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- FieldDeclarations -------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.DataField]
errSq : ErrSq
fldrefnames : Names
freeTvarS : HsNameS
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppL : [PP_Doc]
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : FieldDeclaration
child tl : FieldDeclarations
alternative Nil:
-}
-- cata
sem_FieldDeclarations :: FieldDeclarations ->
T_FieldDeclarations
sem_FieldDeclarations list =
(Prelude.foldr sem_FieldDeclarations_Cons sem_FieldDeclarations_Nil (Prelude.map sem_FieldDeclaration list))
-- semantic domain
type T_FieldDeclarations = FixityGam ->
UID ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.DataField]),ErrSq,Names,HsNameS,UID,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_FieldDeclarations_Cons :: T_FieldDeclaration ->
T_FieldDeclarations ->
T_FieldDeclarations
sem_FieldDeclarations_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.DataField])
_lhsOerrSq :: ErrSq
_lhsOfldrefnames :: Names
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIeh :: (EH.DataField)
_hdIerrSq :: ErrSq
_hdIfldrefnames :: Names
_hdIfreeTvarS :: HsNameS
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.DataField])
_tlIerrSq :: ErrSq
_tlIfldrefnames :: Names
_tlIfreeTvarS :: HsNameS
_tlIgUniq :: UID
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppL :: ([PP_Doc])
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 478, column 9)
_lhsOppL =
_hdIpp : _tlIppL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 335, column 33)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 78, column 44)
_lhsOfldrefnames =
_hdIfldrefnames ++ _tlIfldrefnames
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_hdIfreeTvarS `Set.union` _tlIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIeh,_hdIerrSq,_hdIfldrefnames,_hdIfreeTvarS,_hdIgUniq,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIerrSq,_tlIfldrefnames,_tlIfreeTvarS,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOfldrefnames,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_FieldDeclarations_Nil :: T_FieldDeclarations
sem_FieldDeclarations_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.DataField])
_lhsOerrSq :: ErrSq
_lhsOfldrefnames :: Names
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 480, column 9)
_lhsOppL =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 335, column 33)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 78, column 44)
_lhsOfldrefnames =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfldrefnames,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- FunctionBinding ---------------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nameDeclCxt : NameDeclCxt
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.Decl
errSq : ErrSq
idDefOccGam : IdDefOccGam
idDpdMp : IdDpdMp
idOccDefs : [IdOcc]
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative FunctionBinding:
child range : {Range}
child lefthandside : LeftHandSide
child righthandside : RightHandSide
visit 0:
local trpp : _
local idDefOccGam : _
local idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idDpdMp : _
local idOccDef : _
local idOccDefs : _
local nmLev : _
local nmLevFun : _
local errDupIntro : _
local errSq : _
local pp : _
local caseId : _
local lUniq : {UID}
-}
-- cata
sem_FunctionBinding :: FunctionBinding ->
T_FunctionBinding
sem_FunctionBinding (FunctionBinding_FunctionBinding _range _lefthandside _righthandside) =
(sem_FunctionBinding_FunctionBinding _range (sem_LeftHandSide _lefthandside) (sem_RightHandSide _righthandside))
-- semantic domain
type T_FunctionBinding = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NameDeclCxt ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (EH.Decl),ErrSq,UID,IdDefOccGam,IdDpdMp,([IdOcc]),IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_FunctionBinding_FunctionBinding :: Range ->
T_LeftHandSide ->
T_RightHandSide ->
T_FunctionBinding
sem_FunctionBinding_FunctionBinding range_ lefthandside_ righthandside_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _righthandsideOidGam :: IdDefOccGam
_lhsOundefOccGam :: IdUseOccGam
_righthandsideOpatchEhNmInInstance :: PatchEhNmInInstance
_righthandsideOsepPP :: PP_Doc
_lhsOeh :: (EH.Decl)
_righthandsideOmustBeMono :: Bool
_lefthandsideOgUniq :: UID
_lUniq :: UID
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_lefthandsideOcaseId :: UID
_lefthandsideOfixityGam :: FixityGam
_lefthandsideOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_lefthandsideOidGam :: IdDefOccGam
_lefthandsideOmoduleNm :: HsName
_lefthandsideOnmLev :: NmLev
_lefthandsideOnmLevFun :: NmLev
_lefthandsideOopts :: EHCOpts
_lefthandsideOpatchEhNmInInstance :: PatchEhNmInInstance
_lefthandsideOpragmas :: (Set.Set Pragma.Pragma)
_lefthandsideOtopInstanceNmL :: ([HsName])
_lefthandsideOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_righthandsideOcaseId :: UID
_righthandsideOfixityGam :: FixityGam
_righthandsideOgUniq :: UID
_righthandsideOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_righthandsideOmoduleNm :: HsName
_righthandsideOnmLev :: NmLev
_righthandsideOopts :: EHCOpts
_righthandsideOpragmas :: (Set.Set Pragma.Pragma)
_righthandsideOtopInstanceNmL :: ([HsName])
_righthandsideOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_lefthandsideIeh :: ([EH.PatExpr])
_lefthandsideIehTyMk :: (EH.Expr -> EH.Expr)
_lefthandsideIerrSq :: ErrSq
_lefthandsideIgUniq :: UID
_lefthandsideIidDefOccGam :: IdDefOccGam
_lefthandsideIidOccDefs :: ([IdOcc])
_lefthandsideIidUseOccGam :: IdUseOccGam
_lefthandsideIpp :: PP_Doc
_lefthandsideIppWrap :: (PP_Doc -> PP_Doc)
_lefthandsideIrefname :: HsName
_lefthandsideItopInstanceNmL :: ([HsName])
_lefthandsideItrpp :: TrPP
_lefthandsideIundefOccGam :: IdUseOccGam
_righthandsideIeh :: (EH.Expr)
_righthandsideIerrSq :: ErrSq
_righthandsideIgUniq :: UID
_righthandsideIidUseOccGam :: IdUseOccGam
_righthandsideIpp :: PP_Doc
_righthandsideIppWrap :: (PP_Doc -> PP_Doc)
_righthandsideItopInstanceNmL :: ([HsName])
_righthandsideItrpp :: TrPP
_righthandsideIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 19, column 9)
_trpp =
(_lhsItr TraceOn_HsOcc $ [_idOccDef >#< " = FunctionBinding"] ++ [ "idUseHereOccL=" >#< ppBracketsCommas _idUseHereOccL ])
>< _lefthandsideItrpp >< _righthandsideItrpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 272, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev range_
(IdAsp_Val_Fun _lefthandsideIeh
(_lefthandsideIehTyMk _righthandsideIeh)
_lUniq)
_idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 456, column 9)
_righthandsideOidGam =
gamUnion _lefthandsideIidDefOccGam _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 846, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam' (_lhsInameDeclCxt == NameDeclCxt_Instance) _lhsInmLev
(gamUnions [_lefthandsideIidUseOccGam,_righthandsideIidUseOccGam])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 846, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 850, column 9)
_lhsOundefOccGam =
gamUnions [_undefOccGam,_lefthandsideIundefOccGam,_righthandsideIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1268, column 9)
_righthandsideOpatchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 167, column 9)
_idOccDef =
IdOcc _lefthandsideIrefname IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 167, column 9)
_idOccDefs =
[_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 64, column 9)
_nmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 64, column 9)
_nmLevFun =
_lhsInmLev
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 108, column 9)
_errDupIntro =
idDefOccGamCheckDupNames _lefthandsideIidDefOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 40, column 9)
_errSq =
Seq.unions [Seq.fromList _errDupIntro, _lefthandsideIerrSq, _righthandsideIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 311, column 9)
_pp =
_lefthandsideIpp >#< _righthandsideIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 312, column 9)
_righthandsideOsepPP =
pp "="
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 719, column 9)
_lhsOeh =
let (h,t) = hdAndTl _lefthandsideIeh
in rngLift range_ EH.Decl_Val h
(foldr (rngLift range_ EH.Expr_Lam)
(_lefthandsideIehTyMk _righthandsideIeh)
t)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 874, column 9)
_caseId =
_lUniq
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 285, column 9)
_righthandsideOmustBeMono =
False
-- -- generated by the unique rule mechanism.
(_lefthandsideOgUniq,_lUniq) =
let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_lefthandsideIppWrap . _righthandsideIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_trpp
-- copy rule (up)
_lhsOgUniq =
_righthandsideIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_righthandsideItopInstanceNmL
-- copy rule (from local)
_lefthandsideOcaseId =
_caseId
-- copy rule (down)
_lefthandsideOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_lefthandsideOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_lefthandsideOidGam =
_lhsIidGam
-- copy rule (down)
_lefthandsideOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_lefthandsideOnmLev =
_nmLev
-- copy rule (from local)
_lefthandsideOnmLevFun =
_nmLevFun
-- copy rule (down)
_lefthandsideOopts =
_lhsIopts
-- copy rule (down)
_lefthandsideOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_lefthandsideOpragmas =
_lhsIpragmas
-- copy rule (down)
_lefthandsideOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_lefthandsideOtr =
_lhsItr
-- copy rule (from local)
_righthandsideOcaseId =
_caseId
-- copy rule (down)
_righthandsideOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_righthandsideOgUniq =
_lefthandsideIgUniq
-- copy rule (down)
_righthandsideOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_righthandsideOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_righthandsideOnmLev =
_nmLev
-- copy rule (down)
_righthandsideOopts =
_lhsIopts
-- copy rule (down)
_righthandsideOpragmas =
_lhsIpragmas
-- copy rule (chain)
_righthandsideOtopInstanceNmL =
_lefthandsideItopInstanceNmL
-- copy rule (down)
_righthandsideOtr =
_lhsItr
( _lefthandsideIeh,_lefthandsideIehTyMk,_lefthandsideIerrSq,_lefthandsideIgUniq,_lefthandsideIidDefOccGam,_lefthandsideIidOccDefs,_lefthandsideIidUseOccGam,_lefthandsideIpp,_lefthandsideIppWrap,_lefthandsideIrefname,_lefthandsideItopInstanceNmL,_lefthandsideItrpp,_lefthandsideIundefOccGam) =
lefthandside_ _lefthandsideOcaseId _lefthandsideOfixityGam _lefthandsideOgUniq _lefthandsideOgenerDerivMp _lefthandsideOidGam _lefthandsideOmoduleNm _lefthandsideOnmLev _lefthandsideOnmLevFun _lefthandsideOopts _lefthandsideOpatchEhNmInInstance _lefthandsideOpragmas _lefthandsideOtopInstanceNmL _lefthandsideOtr
( _righthandsideIeh,_righthandsideIerrSq,_righthandsideIgUniq,_righthandsideIidUseOccGam,_righthandsideIpp,_righthandsideIppWrap,_righthandsideItopInstanceNmL,_righthandsideItrpp,_righthandsideIundefOccGam) =
righthandside_ _righthandsideOcaseId _righthandsideOfixityGam _righthandsideOgUniq _righthandsideOgenerDerivMp _righthandsideOidGam _righthandsideOmoduleNm _righthandsideOmustBeMono _righthandsideOnmLev _righthandsideOopts _righthandsideOpatchEhNmInInstance _righthandsideOpragmas _righthandsideOsepPP _righthandsideOtopInstanceNmL _righthandsideOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- FunctionBindings --------------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nameDeclCxt : NameDeclCxt
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.Decl]
errSq : ErrSq
idDefOccGam : IdDefOccGam
idDpdMp : IdDpdMp
idOccDefs : [IdOcc]
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : FunctionBinding
child tl : FunctionBindings
alternative Nil:
-}
-- cata
sem_FunctionBindings :: FunctionBindings ->
T_FunctionBindings
sem_FunctionBindings list =
(Prelude.foldr sem_FunctionBindings_Cons sem_FunctionBindings_Nil (Prelude.map sem_FunctionBinding list))
-- semantic domain
type T_FunctionBindings = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NameDeclCxt ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.Decl]),ErrSq,UID,IdDefOccGam,IdDpdMp,([IdOcc]),IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_FunctionBindings_Cons :: T_FunctionBinding ->
T_FunctionBindings ->
T_FunctionBindings
sem_FunctionBindings_Cons hd_ tl_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOcaseId :: UID
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnameDeclCxt :: NameDeclCxt
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOpragmas :: (Set.Set Pragma.Pragma)
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOcaseId :: UID
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnameDeclCxt :: NameDeclCxt
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOpragmas :: (Set.Set Pragma.Pragma)
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIeh :: (EH.Decl)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIidDefOccGam :: IdDefOccGam
_hdIidDpdMp :: IdDpdMp
_hdIidOccDefs :: ([IdOcc])
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.Decl])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIidDefOccGam :: IdDefOccGam
_tlIidDpdMp :: IdDpdMp
_tlIidOccDefs :: ([IdOcc])
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 713, column 32)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_hdIidDefOccGam `gamAddGam` _tlIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_hdIidDpdMp `idDpdMpUnion` _tlIidDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_hdIidOccDefs ++ _tlIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOcaseId =
_lhsIcaseId
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnameDeclCxt =
_lhsInameDeclCxt
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOpragmas =
_lhsIpragmas
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOcaseId =
_lhsIcaseId
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_tlOnameDeclCxt =
_lhsInameDeclCxt
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_tlOpragmas =
_lhsIpragmas
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIidDefOccGam,_hdIidDpdMp,_hdIidOccDefs,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOcaseId _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOnameDeclCxt _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidDefOccGam,_tlIidDpdMp,_tlIidOccDefs,_tlIidUseOccGam,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOcaseId _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOnameDeclCxt _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_FunctionBindings_Nil :: T_FunctionBindings
sem_FunctionBindings_Nil =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 713, column 32)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- FunctionalDependencies --------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nameDeclCxt : NameDeclCxt
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.FuncDep]
errSq : ErrSq
gathFixityGam : FixityGam
gathPragmas : Set.Set Pragma.Pragma
idDefOccGam : IdDefOccGam
idDpdMp : IdDpdMp
idInClassTySigDefOccGam : IdDefOccGam
idInInstanceValDefOccGam : IdDefOccGam
idOccDefs : [IdOcc]
idUseOccGam : IdUseOccGam
needsError : Bool
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : FunctionalDependency
child tl : FunctionalDependencies
alternative Nil:
-}
-- cata
sem_FunctionalDependencies :: FunctionalDependencies ->
T_FunctionalDependencies
sem_FunctionalDependencies list =
(Prelude.foldr sem_FunctionalDependencies_Cons sem_FunctionalDependencies_Nil (Prelude.map sem_FunctionalDependency list))
-- semantic domain
type T_FunctionalDependencies = FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NameDeclCxt ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.FuncDep]),ErrSq,UID,FixityGam,(Set.Set Pragma.Pragma),IdDefOccGam,IdDpdMp,IdDefOccGam,IdDefOccGam,([IdOcc]),IdUseOccGam,Bool,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_FunctionalDependencies_Cons :: T_FunctionalDependency ->
T_FunctionalDependencies ->
T_FunctionalDependencies
sem_FunctionalDependencies_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([EH.FuncDep])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnameDeclCxt :: NameDeclCxt
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOpragmas :: (Set.Set Pragma.Pragma)
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnameDeclCxt :: NameDeclCxt
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOpragmas :: (Set.Set Pragma.Pragma)
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIeh :: (EH.FuncDep)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIgathFixityGam :: FixityGam
_hdIgathPragmas :: (Set.Set Pragma.Pragma)
_hdIidDefOccGam :: IdDefOccGam
_hdIidDpdMp :: IdDpdMp
_hdIidInClassTySigDefOccGam :: IdDefOccGam
_hdIidInInstanceValDefOccGam :: IdDefOccGam
_hdIidOccDefs :: ([IdOcc])
_hdIidUseOccGam :: IdUseOccGam
_hdIneedsError :: Bool
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.FuncDep])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIgathFixityGam :: FixityGam
_tlIgathPragmas :: (Set.Set Pragma.Pragma)
_tlIidDefOccGam :: IdDefOccGam
_tlIidDpdMp :: IdDpdMp
_tlIidInClassTySigDefOccGam :: IdDefOccGam
_tlIidInInstanceValDefOccGam :: IdDefOccGam
_tlIidOccDefs :: ([IdOcc])
_tlIidUseOccGam :: IdUseOccGam
_tlIneedsError :: Bool
_tlIpp :: PP_Doc
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 151, column 38)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_hdIgathFixityGam `gamAddGam` _tlIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
_hdIgathPragmas `Set.union` _tlIgathPragmas
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_hdIidDefOccGam `gamAddGam` _tlIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_hdIidDpdMp `idDpdMpUnion` _tlIidDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
_hdIidInClassTySigDefOccGam `gamAddGam` _tlIidInClassTySigDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
_hdIidInInstanceValDefOccGam `gamAddGam` _tlIidInInstanceValDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_hdIidOccDefs ++ _tlIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
_hdIneedsError || _tlIneedsError
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnameDeclCxt =
_lhsInameDeclCxt
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOpragmas =
_lhsIpragmas
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_tlOnameDeclCxt =
_lhsInameDeclCxt
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_tlOpragmas =
_lhsIpragmas
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIgathFixityGam,_hdIgathPragmas,_hdIidDefOccGam,_hdIidDpdMp,_hdIidInClassTySigDefOccGam,_hdIidInInstanceValDefOccGam,_hdIidOccDefs,_hdIidUseOccGam,_hdIneedsError,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOnameDeclCxt _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIgathFixityGam,_tlIgathPragmas,_tlIidDefOccGam,_tlIidDpdMp,_tlIidInClassTySigDefOccGam,_tlIidInInstanceValDefOccGam,_tlIidOccDefs,_tlIidUseOccGam,_tlIneedsError,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOnameDeclCxt _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_FunctionalDependencies_Nil :: T_FunctionalDependencies
sem_FunctionalDependencies_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([EH.FuncDep])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 151, column 38)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- FunctionalDependency ----------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nameDeclCxt : NameDeclCxt
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.FuncDep
errSq : ErrSq
gathFixityGam : FixityGam
gathPragmas : Set.Set Pragma.Pragma
idDefOccGam : IdDefOccGam
idDpdMp : IdDpdMp
idInClassTySigDefOccGam : IdDefOccGam
idInInstanceValDefOccGam : IdDefOccGam
idOccDefs : [IdOcc]
idUseOccGam : IdUseOccGam
needsError : Bool
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Dependency:
child range : {Range}
child fromtypevariables : {Names}
child totypevariables : {Names}
visit 0:
local pp : _
-}
-- cata
sem_FunctionalDependency :: FunctionalDependency ->
T_FunctionalDependency
sem_FunctionalDependency (FunctionalDependency_Dependency _range _fromtypevariables _totypevariables) =
(sem_FunctionalDependency_Dependency _range _fromtypevariables _totypevariables)
-- semantic domain
type T_FunctionalDependency = FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NameDeclCxt ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (EH.FuncDep),ErrSq,UID,FixityGam,(Set.Set Pragma.Pragma),IdDefOccGam,IdDpdMp,IdDefOccGam,IdDefOccGam,([IdOcc]),IdUseOccGam,Bool,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_FunctionalDependency_Dependency :: Range ->
Names ->
Names ->
T_FunctionalDependency
sem_FunctionalDependency_Dependency range_ fromtypevariables_ totypevariables_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: (EH.FuncDep)
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 79, column 9)
_pp =
ppSpaces fromtypevariables_ >#< "->" >#< totypevariables_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 157, column 9)
_lhsOeh =
rngLift range_ EH.FuncDep_Dep
(map (rngLift range_ EH.TyVar_Var) fromtypevariables_)
(map (rngLift range_ EH.TyVar_Var) totypevariables_)
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- GuardedExpression -------------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
mustBeMono : Bool
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
sepPP : PP_Doc
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : UIDS -> EH.Expr -> EH.Expr
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative GuardedExpression:
child range : {Range}
child guard : Expression
child expression : Expression
visit 0:
local valrefnames : _
local idUseOccGamVal : _
local errIdUseVal : _
local typerefname : _
local idUseOccGamType : _
local errIdUseType : _
local idUseOccGam : _
local errSq : _
local pp : _
-}
-- cata
sem_GuardedExpression :: GuardedExpression ->
T_GuardedExpression
sem_GuardedExpression (GuardedExpression_GuardedExpression _range _guard _expression) =
(sem_GuardedExpression_GuardedExpression _range (sem_Expression _guard) (sem_Expression _expression))
-- semantic domain
type T_GuardedExpression = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
Bool ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
PP_Doc ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (UIDS -> EH.Expr -> EH.Expr),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_GuardedExpression_GuardedExpression :: Range ->
T_Expression ->
T_Expression ->
T_GuardedExpression
sem_GuardedExpression_GuardedExpression range_ guard_ expression_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsImustBeMono
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsIsepPP
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOeh :: (UIDS -> EH.Expr -> EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_guardOcaseId :: UID
_guardOfixityGam :: FixityGam
_guardOgUniq :: UID
_guardOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_guardOidGam :: IdDefOccGam
_guardOmoduleNm :: HsName
_guardOnmLev :: NmLev
_guardOopts :: EHCOpts
_guardOpatchEhNmInInstance :: PatchEhNmInInstance
_guardOpragmas :: (Set.Set Pragma.Pragma)
_guardOtopInstanceNmL :: ([HsName])
_guardOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOidGam :: IdDefOccGam
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_guardIconNm :: Name
_guardIeh :: (EH.Expr)
_guardIerrSq :: ErrSq
_guardIgUniq :: UID
_guardIidUseOccGam :: IdUseOccGam
_guardIopChain :: (OpChain EH.Expr)
_guardIoperatorName :: MaybeName
_guardIpp :: PP_Doc
_guardIppWrap :: (PP_Doc -> PP_Doc)
_guardItopInstanceNmL :: ([HsName])
_guardItrpp :: TrPP
_guardIundefOccGam :: IdUseOccGam
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 627, column 29)
(_,_valrefnames,_idUseOccGamVal,_errIdUseVal) =
mkUseOccGam _lhsIopts _lhsIidGam [hsnTrue,hsnFalse] IdOcc_Val IdAsp_Val_Var range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 629, column 29)
(_typerefname,_,_idUseOccGamType,_errIdUseType) =
mkUseOccGam _lhsIopts _lhsIidGam [hsnBool] IdOcc_Type IdAsp_Type_Con range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 627, column 9)
_idUseOccGam =
gamUnions [_idUseOccGamVal,_idUseOccGamType]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 632, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_guardIidUseOccGam,_expressionIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 90, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUseVal, Seq.fromList _errIdUseType, _guardIerrSq, _expressionIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 281, column 9)
_pp =
"|" >#< _guardIpp >#< _lhsIsepPP >#< _expressionIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 635, column 9)
_lhsOeh =
\failS e -> EH.mkIf'' (_typerefname : _valrefnames) range_ _guardIeh (ehMkEnforceMono range_ _lhsImustBeMono _expressionIeh) e Nothing failS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_guardIppWrap . _expressionIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_guardItrpp >< _expressionItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_guardIundefOccGam `gamUnion` _expressionIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_expressionIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_guardOcaseId =
_lhsIcaseId
-- copy rule (down)
_guardOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_guardOgUniq =
_lhsIgUniq
-- copy rule (down)
_guardOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_guardOidGam =
_lhsIidGam
-- copy rule (down)
_guardOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_guardOnmLev =
_lhsInmLev
-- copy rule (down)
_guardOopts =
_lhsIopts
-- copy rule (down)
_guardOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_guardOpragmas =
_lhsIpragmas
-- copy rule (down)
_guardOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_guardOtr =
_lhsItr
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_expressionOgUniq =
_guardIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOidGam =
_lhsIidGam
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_expressionOnmLev =
_lhsInmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (chain)
_expressionOtopInstanceNmL =
_guardItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
( _guardIconNm,_guardIeh,_guardIerrSq,_guardIgUniq,_guardIidUseOccGam,_guardIopChain,_guardIoperatorName,_guardIpp,_guardIppWrap,_guardItopInstanceNmL,_guardItrpp,_guardIundefOccGam) =
guard_ _guardOcaseId _guardOfixityGam _guardOgUniq _guardOgenerDerivMp _guardOidGam _guardOmoduleNm _guardOnmLev _guardOopts _guardOpatchEhNmInInstance _guardOpragmas _guardOtopInstanceNmL _guardOtr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- GuardedExpressions ------------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
mustBeMono : Bool
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
sepPP : PP_Doc
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [UIDS -> EH.Expr -> EH.Expr]
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : GuardedExpression
child tl : GuardedExpressions
alternative Nil:
-}
-- cata
sem_GuardedExpressions :: GuardedExpressions ->
T_GuardedExpressions
sem_GuardedExpressions list =
(Prelude.foldr sem_GuardedExpressions_Cons sem_GuardedExpressions_Nil (Prelude.map sem_GuardedExpression list))
-- semantic domain
type T_GuardedExpressions = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
Bool ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
PP_Doc ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([UIDS -> EH.Expr -> EH.Expr]),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_GuardedExpressions_Cons :: T_GuardedExpression ->
T_GuardedExpressions ->
T_GuardedExpressions
sem_GuardedExpressions_Cons hd_ tl_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsImustBeMono
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsIsepPP
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([UIDS -> EH.Expr -> EH.Expr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOcaseId :: UID
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOmustBeMono :: Bool
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOpragmas :: (Set.Set Pragma.Pragma)
_hdOsepPP :: PP_Doc
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOcaseId :: UID
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOmustBeMono :: Bool
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOpragmas :: (Set.Set Pragma.Pragma)
_tlOsepPP :: PP_Doc
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIeh :: (UIDS -> EH.Expr -> EH.Expr)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([UIDS -> EH.Expr -> EH.Expr])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 630, column 34)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOcaseId =
_lhsIcaseId
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOmustBeMono =
_lhsImustBeMono
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOpragmas =
_lhsIpragmas
-- copy rule (down)
_hdOsepPP =
_lhsIsepPP
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOcaseId =
_lhsIcaseId
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_tlOmustBeMono =
_lhsImustBeMono
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_tlOpragmas =
_lhsIpragmas
-- copy rule (down)
_tlOsepPP =
_lhsIsepPP
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOcaseId _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOmustBeMono _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOsepPP _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOcaseId _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOmustBeMono _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOsepPP _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_GuardedExpressions_Nil :: T_GuardedExpressions
sem_GuardedExpressions_Nil =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsImustBeMono
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsIsepPP
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([UIDS -> EH.Expr -> EH.Expr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 630, column 34)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Import ------------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isMainMod : Bool
isTopMod : Bool
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathFixityGam : FixityGam
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Variable:
child range : {Range}
child name : {Name}
alternative TypeOrClass:
child range : {Range}
child name : {Name}
child names : {MaybeNames}
alternative TypeOrClassComplete:
child range : {Range}
child name : {Name}
-}
-- cata
sem_Import :: Import ->
T_Import
sem_Import (Import_Variable _range _name) =
(sem_Import_Variable _range _name)
sem_Import (Import_TypeOrClass _range _name _names) =
(sem_Import_TypeOrClass _range _name _names)
sem_Import (Import_TypeOrClassComplete _range _name) =
(sem_Import_TypeOrClassComplete _range _name)
-- semantic domain
type T_Import = FixityGam ->
UID ->
IdDefOccGam ->
Bool ->
Bool ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ErrSq,UID,FixityGam,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Import_Variable :: Range ->
Name ->
T_Import
sem_Import_Variable range_ name_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Import_TypeOrClass :: Range ->
Name ->
MaybeNames ->
T_Import
sem_Import_TypeOrClass range_ name_ names_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Import_TypeOrClassComplete :: Range ->
Name ->
T_Import
sem_Import_TypeOrClassComplete range_ name_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- ImportDeclaration -------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isMainMod : Bool
isTopMod : Bool
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathFixityGam : FixityGam
idUseOccGam : IdUseOccGam
modAsMp : Map.Map HsName HsName
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Import:
child range : {Range}
child qualified : {Bool}
child name : {Name}
child asname : {MaybeName}
child importspecification : MaybeImportSpecification
alternative Empty:
child range : {Range}
-}
-- cata
sem_ImportDeclaration :: ImportDeclaration ->
T_ImportDeclaration
sem_ImportDeclaration (ImportDeclaration_Import _range _qualified _name _asname _importspecification) =
(sem_ImportDeclaration_Import _range _qualified _name _asname (sem_MaybeImportSpecification _importspecification))
sem_ImportDeclaration (ImportDeclaration_Empty _range) =
(sem_ImportDeclaration_Empty _range)
-- semantic domain
type T_ImportDeclaration = FixityGam ->
UID ->
IdDefOccGam ->
Bool ->
Bool ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ErrSq,UID,FixityGam,IdUseOccGam,(Map.Map HsName HsName),PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_ImportDeclaration_Import :: Range ->
Bool ->
Name ->
MaybeName ->
T_MaybeImportSpecification ->
T_ImportDeclaration
sem_ImportDeclaration_Import range_ qualified_ name_ asname_ importspecification_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOmodAsMp :: (Map.Map HsName HsName)
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_importspecificationOfixityGam :: FixityGam
_importspecificationOgUniq :: UID
_importspecificationOidGam :: IdDefOccGam
_importspecificationOisMainMod :: Bool
_importspecificationOisTopMod :: Bool
_importspecificationOmoduleNm :: HsName
_importspecificationOnmLev :: NmLev
_importspecificationOopts :: EHCOpts
_importspecificationOpatchEhNmInInstance :: PatchEhNmInInstance
_importspecificationOtopInstanceNmL :: ([HsName])
_importspecificationOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_importspecificationIerrSq :: ErrSq
_importspecificationIgUniq :: UID
_importspecificationIgathFixityGam :: FixityGam
_importspecificationIidUseOccGam :: IdUseOccGam
_importspecificationIpp :: PP_Doc
_importspecificationIppWrap :: (PP_Doc -> PP_Doc)
_importspecificationItopInstanceNmL :: ([HsName])
_importspecificationItrpp :: TrPP
_importspecificationIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1234, column 9)
_lhsOmodAsMp =
maybe Map.empty (Map.singleton name_) asname_
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_importspecificationIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_importspecificationIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_importspecificationIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_importspecificationIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_importspecificationIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_importspecificationItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_importspecificationIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_importspecificationIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_importspecificationItopInstanceNmL
-- copy rule (down)
_importspecificationOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_importspecificationOgUniq =
_lhsIgUniq
-- copy rule (down)
_importspecificationOidGam =
_lhsIidGam
-- copy rule (down)
_importspecificationOisMainMod =
_lhsIisMainMod
-- copy rule (down)
_importspecificationOisTopMod =
_lhsIisTopMod
-- copy rule (down)
_importspecificationOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_importspecificationOnmLev =
_lhsInmLev
-- copy rule (down)
_importspecificationOopts =
_lhsIopts
-- copy rule (down)
_importspecificationOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_importspecificationOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_importspecificationOtr =
_lhsItr
( _importspecificationIerrSq,_importspecificationIgUniq,_importspecificationIgathFixityGam,_importspecificationIidUseOccGam,_importspecificationIpp,_importspecificationIppWrap,_importspecificationItopInstanceNmL,_importspecificationItrpp,_importspecificationIundefOccGam) =
importspecification_ _importspecificationOfixityGam _importspecificationOgUniq _importspecificationOidGam _importspecificationOisMainMod _importspecificationOisTopMod _importspecificationOmoduleNm _importspecificationOnmLev _importspecificationOopts _importspecificationOpatchEhNmInInstance _importspecificationOtopInstanceNmL _importspecificationOtr
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOmodAsMp,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_ImportDeclaration_Empty :: Range ->
T_ImportDeclaration
sem_ImportDeclaration_Empty range_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOmodAsMp :: (Map.Map HsName HsName)
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1236, column 9)
_lhsOmodAsMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOmodAsMp,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- ImportDeclarations ------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isMainMod : Bool
isTopMod : Bool
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathFixityGam : FixityGam
idUseOccGam : IdUseOccGam
modAsMp : Map.Map HsName HsName
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : ImportDeclaration
child tl : ImportDeclarations
alternative Nil:
-}
-- cata
sem_ImportDeclarations :: ImportDeclarations ->
T_ImportDeclarations
sem_ImportDeclarations list =
(Prelude.foldr sem_ImportDeclarations_Cons sem_ImportDeclarations_Nil (Prelude.map sem_ImportDeclaration list))
-- semantic domain
type T_ImportDeclarations = FixityGam ->
UID ->
IdDefOccGam ->
Bool ->
Bool ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ErrSq,UID,FixityGam,IdUseOccGam,(Map.Map HsName HsName),PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_ImportDeclarations_Cons :: T_ImportDeclaration ->
T_ImportDeclarations ->
T_ImportDeclarations
sem_ImportDeclarations_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOmodAsMp :: (Map.Map HsName HsName)
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOisMainMod :: Bool
_hdOisTopMod :: Bool
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOisMainMod :: Bool
_tlOisTopMod :: Bool
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIgathFixityGam :: FixityGam
_hdIidUseOccGam :: IdUseOccGam
_hdImodAsMp :: (Map.Map HsName HsName)
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIgathFixityGam :: FixityGam
_tlIidUseOccGam :: IdUseOccGam
_tlImodAsMp :: (Map.Map HsName HsName)
_tlIpp :: PP_Doc
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_hdIgathFixityGam `gamAddGam` _tlIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1230, column 41)
_lhsOmodAsMp =
_hdImodAsMp `Map.union` _tlImodAsMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOisMainMod =
_lhsIisMainMod
-- copy rule (down)
_hdOisTopMod =
_lhsIisTopMod
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOisMainMod =
_lhsIisMainMod
-- copy rule (down)
_tlOisTopMod =
_lhsIisTopMod
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIerrSq,_hdIgUniq,_hdIgathFixityGam,_hdIidUseOccGam,_hdImodAsMp,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOidGam _hdOisMainMod _hdOisTopMod _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL _hdOtr
( _tlIerrSq,_tlIgUniq,_tlIgathFixityGam,_tlIidUseOccGam,_tlImodAsMp,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOisMainMod _tlOisTopMod _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL _tlOtr
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOmodAsMp,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_ImportDeclarations_Nil :: T_ImportDeclarations
sem_ImportDeclarations_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOmodAsMp :: (Map.Map HsName HsName)
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1230, column 41)
_lhsOmodAsMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOmodAsMp,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- ImportSpecification -----------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isMainMod : Bool
isTopMod : Bool
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathFixityGam : FixityGam
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Import:
child range : {Range}
child hiding : {Bool}
child imports : Imports
-}
-- cata
sem_ImportSpecification :: ImportSpecification ->
T_ImportSpecification
sem_ImportSpecification (ImportSpecification_Import _range _hiding _imports) =
(sem_ImportSpecification_Import _range _hiding (sem_Imports _imports))
-- semantic domain
type T_ImportSpecification = FixityGam ->
UID ->
IdDefOccGam ->
Bool ->
Bool ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ErrSq,UID,FixityGam,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_ImportSpecification_Import :: Range ->
Bool ->
T_Imports ->
T_ImportSpecification
sem_ImportSpecification_Import range_ hiding_ imports_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_importsOfixityGam :: FixityGam
_importsOgUniq :: UID
_importsOidGam :: IdDefOccGam
_importsOisMainMod :: Bool
_importsOisTopMod :: Bool
_importsOmoduleNm :: HsName
_importsOnmLev :: NmLev
_importsOopts :: EHCOpts
_importsOpatchEhNmInInstance :: PatchEhNmInInstance
_importsOtopInstanceNmL :: ([HsName])
_importsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_importsIerrSq :: ErrSq
_importsIgUniq :: UID
_importsIgathFixityGam :: FixityGam
_importsIidUseOccGam :: IdUseOccGam
_importsIpp :: PP_Doc
_importsIppWrap :: (PP_Doc -> PP_Doc)
_importsItopInstanceNmL :: ([HsName])
_importsItrpp :: TrPP
_importsIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_importsIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_importsIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_importsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_importsIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_importsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_importsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_importsIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_importsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_importsItopInstanceNmL
-- copy rule (down)
_importsOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_importsOgUniq =
_lhsIgUniq
-- copy rule (down)
_importsOidGam =
_lhsIidGam
-- copy rule (down)
_importsOisMainMod =
_lhsIisMainMod
-- copy rule (down)
_importsOisTopMod =
_lhsIisTopMod
-- copy rule (down)
_importsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_importsOnmLev =
_lhsInmLev
-- copy rule (down)
_importsOopts =
_lhsIopts
-- copy rule (down)
_importsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_importsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_importsOtr =
_lhsItr
( _importsIerrSq,_importsIgUniq,_importsIgathFixityGam,_importsIidUseOccGam,_importsIpp,_importsIppWrap,_importsItopInstanceNmL,_importsItrpp,_importsIundefOccGam) =
imports_ _importsOfixityGam _importsOgUniq _importsOidGam _importsOisMainMod _importsOisTopMod _importsOmoduleNm _importsOnmLev _importsOopts _importsOpatchEhNmInInstance _importsOtopInstanceNmL _importsOtr
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Imports -----------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isMainMod : Bool
isTopMod : Bool
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathFixityGam : FixityGam
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : Import
child tl : Imports
alternative Nil:
-}
-- cata
sem_Imports :: Imports ->
T_Imports
sem_Imports list =
(Prelude.foldr sem_Imports_Cons sem_Imports_Nil (Prelude.map sem_Import list))
-- semantic domain
type T_Imports = FixityGam ->
UID ->
IdDefOccGam ->
Bool ->
Bool ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ErrSq,UID,FixityGam,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Imports_Cons :: T_Import ->
T_Imports ->
T_Imports
sem_Imports_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOisMainMod :: Bool
_hdOisTopMod :: Bool
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOisMainMod :: Bool
_tlOisTopMod :: Bool
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIgathFixityGam :: FixityGam
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIgathFixityGam :: FixityGam
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_hdIgathFixityGam `gamAddGam` _tlIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOisMainMod =
_lhsIisMainMod
-- copy rule (down)
_hdOisTopMod =
_lhsIisTopMod
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOisMainMod =
_lhsIisMainMod
-- copy rule (down)
_tlOisTopMod =
_lhsIisTopMod
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIerrSq,_hdIgUniq,_hdIgathFixityGam,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOidGam _hdOisMainMod _hdOisTopMod _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL _hdOtr
( _tlIerrSq,_tlIgUniq,_tlIgathFixityGam,_tlIidUseOccGam,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOisMainMod _tlOisTopMod _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL _tlOtr
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Imports_Nil :: T_Imports
sem_Imports_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Kind --------------------------------------------------------
{-
visit 0:
inherited attributes:
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
conNm : Name
eh : EH.KiExpr
errSq : ErrSq
freeTvarS : HsNameS
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative NormalApplication:
child range : {Range}
child function : Kind
child arguments : Kinds
visit 0:
local pp : _
alternative InfixApplication:
child range : {Range}
child leftKind : Kind
child operator : Kind
child rightKind : Kind
visit 0:
local pp : _
local eh : _
alternative Constructor:
child range : {Range}
child name : {Name}
visit 0:
local idAsp : _
local idOccKind : _
local refname : _
local idUseOccGam : _
local errIdUse : _
local pp : _
alternative Parenthesized:
child range : {Range}
child kind : Kind
visit 0:
local pp : _
alternative Variable:
child range : {Range}
child name : {Name}
visit 0:
local idAsp : _
local idOccKind : _
local refname : _
local idUseOccGam : _
local errIdUse : _
local pp : _
alternative Forall:
child range : {Range}
child kindvariables : {Names}
child kind : Kind
visit 0:
local idDefOccGamInside : _
local idGam : _
local pp : _
alternative Annotate:
child range : {Range}
child annotation : KindAnnotation
child kind : Kind
visit 0:
local eh : _
-}
-- cata
sem_Kind :: Kind ->
T_Kind
sem_Kind (Kind_NormalApplication _range _function _arguments) =
(sem_Kind_NormalApplication _range (sem_Kind _function) (sem_Kinds _arguments))
sem_Kind (Kind_InfixApplication _range _leftKind _operator _rightKind) =
(sem_Kind_InfixApplication _range (sem_Kind _leftKind) (sem_Kind _operator) (sem_Kind _rightKind))
sem_Kind (Kind_Constructor _range _name) =
(sem_Kind_Constructor _range _name)
sem_Kind (Kind_Parenthesized _range _kind) =
(sem_Kind_Parenthesized _range (sem_Kind _kind))
sem_Kind (Kind_Variable _range _name) =
(sem_Kind_Variable _range _name)
sem_Kind (Kind_Forall _range _kindvariables _kind) =
(sem_Kind_Forall _range _kindvariables (sem_Kind _kind))
sem_Kind (Kind_Annotate _range _annotation _kind) =
(sem_Kind_Annotate _range (sem_KindAnnotation _annotation) (sem_Kind _kind))
-- semantic domain
type T_Kind = UID ->
IdDefOccGam ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( Name,(EH.KiExpr),ErrSq,HsNameS,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Kind_NormalApplication :: Range ->
T_Kind ->
T_Kinds ->
T_Kind
sem_Kind_NormalApplication range_ function_ arguments_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: (EH.KiExpr)
_lhsOconNm :: Name
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_functionOgUniq :: UID
_functionOidGam :: IdDefOccGam
_functionOnmLev :: NmLev
_functionOopts :: EHCOpts
_functionOpatchEhNmInInstance :: PatchEhNmInInstance
_functionOtopInstanceNmL :: ([HsName])
_functionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_argumentsOgUniq :: UID
_argumentsOidGam :: IdDefOccGam
_argumentsOnmLev :: NmLev
_argumentsOopts :: EHCOpts
_argumentsOpatchEhNmInInstance :: PatchEhNmInInstance
_argumentsOtopInstanceNmL :: ([HsName])
_argumentsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_functionIconNm :: Name
_functionIeh :: (EH.KiExpr)
_functionIerrSq :: ErrSq
_functionIfreeTvarS :: HsNameS
_functionIgUniq :: UID
_functionIidUseOccGam :: IdUseOccGam
_functionIpp :: PP_Doc
_functionIppWrap :: (PP_Doc -> PP_Doc)
_functionItopInstanceNmL :: ([HsName])
_functionItrpp :: TrPP
_functionIundefOccGam :: IdUseOccGam
_argumentsIeh :: ([EH.KiExpr])
_argumentsIerrSq :: ErrSq
_argumentsIfreeTvarS :: HsNameS
_argumentsIgUniq :: UID
_argumentsIidUseOccGam :: IdUseOccGam
_argumentsIpp :: PP_Doc
_argumentsIppL :: ([PP_Doc])
_argumentsIppWrap :: (PP_Doc -> PP_Doc)
_argumentsItopInstanceNmL :: ([HsName])
_argumentsItrpp :: TrPP
_argumentsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 99, column 9)
_pp =
ppAppTop (_functionIconNm, _functionIpp)
_argumentsIppL (_functionIpp >#< ppSpaces _argumentsIppL)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 179, column 9)
_lhsOeh =
appTopApp (_functionIeh : _argumentsIeh)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 115, column 9)
_lhsOconNm =
hsnUnknown
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_functionIerrSq `Seq.union` _argumentsIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 117, column 30)
_lhsOfreeTvarS =
_functionIfreeTvarS `Set.union` _argumentsIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_functionIidUseOccGam `gamAddGam` _argumentsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_functionIppWrap . _argumentsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_functionItrpp >< _argumentsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_functionIundefOccGam `gamUnion` _argumentsIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_argumentsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_argumentsItopInstanceNmL
-- copy rule (down)
_functionOgUniq =
_lhsIgUniq
-- copy rule (down)
_functionOidGam =
_lhsIidGam
-- copy rule (down)
_functionOnmLev =
_lhsInmLev
-- copy rule (down)
_functionOopts =
_lhsIopts
-- copy rule (down)
_functionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_functionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_functionOtr =
_lhsItr
-- copy rule (chain)
_argumentsOgUniq =
_functionIgUniq
-- copy rule (down)
_argumentsOidGam =
_lhsIidGam
-- copy rule (down)
_argumentsOnmLev =
_lhsInmLev
-- copy rule (down)
_argumentsOopts =
_lhsIopts
-- copy rule (down)
_argumentsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_argumentsOtopInstanceNmL =
_functionItopInstanceNmL
-- copy rule (down)
_argumentsOtr =
_lhsItr
( _functionIconNm,_functionIeh,_functionIerrSq,_functionIfreeTvarS,_functionIgUniq,_functionIidUseOccGam,_functionIpp,_functionIppWrap,_functionItopInstanceNmL,_functionItrpp,_functionIundefOccGam) =
function_ _functionOgUniq _functionOidGam _functionOnmLev _functionOopts _functionOpatchEhNmInInstance _functionOtopInstanceNmL _functionOtr
( _argumentsIeh,_argumentsIerrSq,_argumentsIfreeTvarS,_argumentsIgUniq,_argumentsIidUseOccGam,_argumentsIpp,_argumentsIppL,_argumentsIppWrap,_argumentsItopInstanceNmL,_argumentsItrpp,_argumentsIundefOccGam) =
arguments_ _argumentsOgUniq _argumentsOidGam _argumentsOnmLev _argumentsOopts _argumentsOpatchEhNmInInstance _argumentsOtopInstanceNmL _argumentsOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Kind_InfixApplication :: Range ->
T_Kind ->
T_Kind ->
T_Kind ->
T_Kind
sem_Kind_InfixApplication range_ leftKind_ operator_ rightKind_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.KiExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_leftKindOgUniq :: UID
_leftKindOidGam :: IdDefOccGam
_leftKindOnmLev :: NmLev
_leftKindOopts :: EHCOpts
_leftKindOpatchEhNmInInstance :: PatchEhNmInInstance
_leftKindOtopInstanceNmL :: ([HsName])
_leftKindOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_operatorOgUniq :: UID
_operatorOidGam :: IdDefOccGam
_operatorOnmLev :: NmLev
_operatorOopts :: EHCOpts
_operatorOpatchEhNmInInstance :: PatchEhNmInInstance
_operatorOtopInstanceNmL :: ([HsName])
_operatorOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_rightKindOgUniq :: UID
_rightKindOidGam :: IdDefOccGam
_rightKindOnmLev :: NmLev
_rightKindOopts :: EHCOpts
_rightKindOpatchEhNmInInstance :: PatchEhNmInInstance
_rightKindOtopInstanceNmL :: ([HsName])
_rightKindOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_leftKindIconNm :: Name
_leftKindIeh :: (EH.KiExpr)
_leftKindIerrSq :: ErrSq
_leftKindIfreeTvarS :: HsNameS
_leftKindIgUniq :: UID
_leftKindIidUseOccGam :: IdUseOccGam
_leftKindIpp :: PP_Doc
_leftKindIppWrap :: (PP_Doc -> PP_Doc)
_leftKindItopInstanceNmL :: ([HsName])
_leftKindItrpp :: TrPP
_leftKindIundefOccGam :: IdUseOccGam
_operatorIconNm :: Name
_operatorIeh :: (EH.KiExpr)
_operatorIerrSq :: ErrSq
_operatorIfreeTvarS :: HsNameS
_operatorIgUniq :: UID
_operatorIidUseOccGam :: IdUseOccGam
_operatorIpp :: PP_Doc
_operatorIppWrap :: (PP_Doc -> PP_Doc)
_operatorItopInstanceNmL :: ([HsName])
_operatorItrpp :: TrPP
_operatorIundefOccGam :: IdUseOccGam
_rightKindIconNm :: Name
_rightKindIeh :: (EH.KiExpr)
_rightKindIerrSq :: ErrSq
_rightKindIfreeTvarS :: HsNameS
_rightKindIgUniq :: UID
_rightKindIidUseOccGam :: IdUseOccGam
_rightKindIpp :: PP_Doc
_rightKindIppWrap :: (PP_Doc -> PP_Doc)
_rightKindItopInstanceNmL :: ([HsName])
_rightKindItrpp :: TrPP
_rightKindIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 102, column 9)
_pp =
let args = [_leftKindIpp,_rightKindIpp]
in ppAppTop (_operatorIconNm, _operatorIpp)
args (_operatorIpp >#< ppSpaces args)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 181, column 9)
_eh =
appRngParApp range_ [_operatorIeh,_leftKindIeh,_rightKindIeh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 115, column 9)
_lhsOconNm =
hsnUnknown
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_leftKindIerrSq `Seq.union` _operatorIerrSq `Seq.union` _rightKindIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 117, column 30)
_lhsOfreeTvarS =
_leftKindIfreeTvarS `Set.union` _operatorIfreeTvarS `Set.union` _rightKindIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_leftKindIidUseOccGam `gamAddGam` _operatorIidUseOccGam `gamAddGam` _rightKindIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_leftKindIppWrap . _operatorIppWrap . _rightKindIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_leftKindItrpp >< _operatorItrpp >< _rightKindItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_leftKindIundefOccGam `gamUnion` _operatorIundefOccGam `gamUnion` _rightKindIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_rightKindIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_rightKindItopInstanceNmL
-- copy rule (down)
_leftKindOgUniq =
_lhsIgUniq
-- copy rule (down)
_leftKindOidGam =
_lhsIidGam
-- copy rule (down)
_leftKindOnmLev =
_lhsInmLev
-- copy rule (down)
_leftKindOopts =
_lhsIopts
-- copy rule (down)
_leftKindOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_leftKindOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_leftKindOtr =
_lhsItr
-- copy rule (chain)
_operatorOgUniq =
_leftKindIgUniq
-- copy rule (down)
_operatorOidGam =
_lhsIidGam
-- copy rule (down)
_operatorOnmLev =
_lhsInmLev
-- copy rule (down)
_operatorOopts =
_lhsIopts
-- copy rule (down)
_operatorOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_operatorOtopInstanceNmL =
_leftKindItopInstanceNmL
-- copy rule (down)
_operatorOtr =
_lhsItr
-- copy rule (chain)
_rightKindOgUniq =
_operatorIgUniq
-- copy rule (down)
_rightKindOidGam =
_lhsIidGam
-- copy rule (down)
_rightKindOnmLev =
_lhsInmLev
-- copy rule (down)
_rightKindOopts =
_lhsIopts
-- copy rule (down)
_rightKindOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_rightKindOtopInstanceNmL =
_operatorItopInstanceNmL
-- copy rule (down)
_rightKindOtr =
_lhsItr
( _leftKindIconNm,_leftKindIeh,_leftKindIerrSq,_leftKindIfreeTvarS,_leftKindIgUniq,_leftKindIidUseOccGam,_leftKindIpp,_leftKindIppWrap,_leftKindItopInstanceNmL,_leftKindItrpp,_leftKindIundefOccGam) =
leftKind_ _leftKindOgUniq _leftKindOidGam _leftKindOnmLev _leftKindOopts _leftKindOpatchEhNmInInstance _leftKindOtopInstanceNmL _leftKindOtr
( _operatorIconNm,_operatorIeh,_operatorIerrSq,_operatorIfreeTvarS,_operatorIgUniq,_operatorIidUseOccGam,_operatorIpp,_operatorIppWrap,_operatorItopInstanceNmL,_operatorItrpp,_operatorIundefOccGam) =
operator_ _operatorOgUniq _operatorOidGam _operatorOnmLev _operatorOopts _operatorOpatchEhNmInInstance _operatorOtopInstanceNmL _operatorOtr
( _rightKindIconNm,_rightKindIeh,_rightKindIerrSq,_rightKindIfreeTvarS,_rightKindIgUniq,_rightKindIidUseOccGam,_rightKindIpp,_rightKindIppWrap,_rightKindItopInstanceNmL,_rightKindItrpp,_rightKindIundefOccGam) =
rightKind_ _rightKindOgUniq _rightKindOidGam _rightKindOnmLev _rightKindOopts _rightKindOpatchEhNmInInstance _rightKindOtopInstanceNmL _rightKindOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Kind_Constructor :: Range ->
Name ->
T_Kind
sem_Kind_Constructor range_ name_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: (EH.KiExpr)
_lhsOconNm :: Name
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 665, column 9)
_idAsp =
IdAsp_Kind_Con
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 665, column 9)
_idOccKind =
IdOcc_Kind
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 671, column 29)
(_refname,_,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [name_] _idOccKind _idAsp range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 106, column 9)
_pp =
ppCon name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 183, column 9)
_lhsOeh =
rngLift range_ EH.KiExpr_Con _refname
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 113, column 9)
_lhsOconNm =
name_
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 117, column 30)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Kind_Parenthesized :: Range ->
T_Kind ->
T_Kind
sem_Kind_Parenthesized range_ kind_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: (EH.KiExpr)
_lhsOconNm :: Name
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_kindOgUniq :: UID
_kindOidGam :: IdDefOccGam
_kindOnmLev :: NmLev
_kindOopts :: EHCOpts
_kindOpatchEhNmInInstance :: PatchEhNmInInstance
_kindOtopInstanceNmL :: ([HsName])
_kindOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_kindIconNm :: Name
_kindIeh :: (EH.KiExpr)
_kindIerrSq :: ErrSq
_kindIfreeTvarS :: HsNameS
_kindIgUniq :: UID
_kindIidUseOccGam :: IdUseOccGam
_kindIpp :: PP_Doc
_kindIppWrap :: (PP_Doc -> PP_Doc)
_kindItopInstanceNmL :: ([HsName])
_kindItrpp :: TrPP
_kindIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 108, column 9)
_pp =
ppParens _kindIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 185, column 9)
_lhsOeh =
rngLift range_ EH.KiExpr_Parens _kindIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 115, column 9)
_lhsOconNm =
hsnUnknown
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_kindIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 117, column 30)
_lhsOfreeTvarS =
_kindIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_kindIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_kindIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_kindItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_kindIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_kindIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_kindItopInstanceNmL
-- copy rule (down)
_kindOgUniq =
_lhsIgUniq
-- copy rule (down)
_kindOidGam =
_lhsIidGam
-- copy rule (down)
_kindOnmLev =
_lhsInmLev
-- copy rule (down)
_kindOopts =
_lhsIopts
-- copy rule (down)
_kindOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_kindOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_kindOtr =
_lhsItr
( _kindIconNm,_kindIeh,_kindIerrSq,_kindIfreeTvarS,_kindIgUniq,_kindIidUseOccGam,_kindIpp,_kindIppWrap,_kindItopInstanceNmL,_kindItrpp,_kindIundefOccGam) =
kind_ _kindOgUniq _kindOidGam _kindOnmLev _kindOopts _kindOpatchEhNmInInstance _kindOtopInstanceNmL _kindOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Kind_Variable :: Range ->
Name ->
T_Kind
sem_Kind_Variable range_ name_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: (EH.KiExpr)
_lhsOconNm :: Name
_lhsOfreeTvarS :: HsNameS
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 668, column 9)
_idAsp =
IdAsp_Kind_Var
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 668, column 9)
_idOccKind =
IdOcc_Kind
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 671, column 29)
(_refname,_,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [name_] _idOccKind _idAsp range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 110, column 9)
_pp =
pp name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 187, column 9)
_lhsOeh =
rngLift range_ EH.KiExpr_Var name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 115, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 121, column 9)
_lhsOfreeTvarS =
Set.singleton name_
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Kind_Forall :: Range ->
Names ->
T_Kind ->
T_Kind
sem_Kind_Forall range_ kindvariables_ kind_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: (EH.KiExpr)
_lhsOconNm :: Name
_lhsOfreeTvarS :: HsNameS
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_kindOgUniq :: UID
_kindOidGam :: IdDefOccGam
_kindOnmLev :: NmLev
_kindOopts :: EHCOpts
_kindOpatchEhNmInInstance :: PatchEhNmInInstance
_kindOtopInstanceNmL :: ([HsName])
_kindOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_kindIconNm :: Name
_kindIeh :: (EH.KiExpr)
_kindIerrSq :: ErrSq
_kindIfreeTvarS :: HsNameS
_kindIgUniq :: UID
_kindIidUseOccGam :: IdUseOccGam
_kindIpp :: PP_Doc
_kindIppWrap :: (PP_Doc -> PP_Doc)
_kindItopInstanceNmL :: ([HsName])
_kindItrpp :: TrPP
_kindIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 312, column 9)
_idDefOccGamInside =
kvarL2IdDefOccGam _lhsInmLev range_ kindvariables_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 485, column 9)
_idGam =
gamUnion _idDefOccGamInside _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 112, column 9)
_pp =
"forall" >#< ppSpaces kindvariables_ >#< "." >#< _kindIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 189, column 9)
_lhsOeh =
_kindIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 115, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 123, column 9)
_lhsOfreeTvarS =
_kindIfreeTvarS `Set.difference` Set.fromList kindvariables_
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_kindIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_kindIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_kindIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_kindItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_kindIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_kindIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_kindItopInstanceNmL
-- copy rule (down)
_kindOgUniq =
_lhsIgUniq
-- copy rule (from local)
_kindOidGam =
_idGam
-- copy rule (down)
_kindOnmLev =
_lhsInmLev
-- copy rule (down)
_kindOopts =
_lhsIopts
-- copy rule (down)
_kindOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_kindOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_kindOtr =
_lhsItr
( _kindIconNm,_kindIeh,_kindIerrSq,_kindIfreeTvarS,_kindIgUniq,_kindIidUseOccGam,_kindIpp,_kindIppWrap,_kindItopInstanceNmL,_kindItrpp,_kindIundefOccGam) =
kind_ _kindOgUniq _kindOidGam _kindOnmLev _kindOopts _kindOpatchEhNmInInstance _kindOtopInstanceNmL _kindOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Kind_Annotate :: Range ->
T_KindAnnotation ->
T_Kind ->
T_Kind
sem_Kind_Annotate range_ annotation_ kind_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.KiExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_annotationOgUniq :: UID
_annotationOidGam :: IdDefOccGam
_annotationOnmLev :: NmLev
_annotationOopts :: EHCOpts
_annotationOpatchEhNmInInstance :: PatchEhNmInInstance
_annotationOtopInstanceNmL :: ([HsName])
_annotationOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_kindOgUniq :: UID
_kindOidGam :: IdDefOccGam
_kindOnmLev :: NmLev
_kindOopts :: EHCOpts
_kindOpatchEhNmInInstance :: PatchEhNmInInstance
_kindOtopInstanceNmL :: ([HsName])
_kindOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_annotationIeh :: (EH.KiExprAnn)
_annotationIerrSq :: ErrSq
_annotationIfreeTvarS :: HsNameS
_annotationIgUniq :: UID
_annotationIidUseOccGam :: IdUseOccGam
_annotationIpp :: PP_Doc
_annotationIppWrap :: (PP_Doc -> PP_Doc)
_annotationItopInstanceNmL :: ([HsName])
_annotationItrpp :: TrPP
_annotationIundefOccGam :: IdUseOccGam
_kindIconNm :: Name
_kindIeh :: (EH.KiExpr)
_kindIerrSq :: ErrSq
_kindIfreeTvarS :: HsNameS
_kindIgUniq :: UID
_kindIidUseOccGam :: IdUseOccGam
_kindIpp :: PP_Doc
_kindIppWrap :: (PP_Doc -> PP_Doc)
_kindItopInstanceNmL :: ([HsName])
_kindItrpp :: TrPP
_kindIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 191, column 17)
_eh =
rngLift range_ EH.KiExpr_Ann _annotationIeh _kindIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 115, column 9)
_lhsOconNm =
hsnUnknown
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_annotationIerrSq `Seq.union` _kindIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 117, column 30)
_lhsOfreeTvarS =
_annotationIfreeTvarS `Set.union` _kindIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_annotationIidUseOccGam `gamAddGam` _kindIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_annotationIpp >-< _kindIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_annotationIppWrap . _kindIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_annotationItrpp >< _kindItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_annotationIundefOccGam `gamUnion` _kindIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_kindIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_kindItopInstanceNmL
-- copy rule (down)
_annotationOgUniq =
_lhsIgUniq
-- copy rule (down)
_annotationOidGam =
_lhsIidGam
-- copy rule (down)
_annotationOnmLev =
_lhsInmLev
-- copy rule (down)
_annotationOopts =
_lhsIopts
-- copy rule (down)
_annotationOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_annotationOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_annotationOtr =
_lhsItr
-- copy rule (chain)
_kindOgUniq =
_annotationIgUniq
-- copy rule (down)
_kindOidGam =
_lhsIidGam
-- copy rule (down)
_kindOnmLev =
_lhsInmLev
-- copy rule (down)
_kindOopts =
_lhsIopts
-- copy rule (down)
_kindOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_kindOtopInstanceNmL =
_annotationItopInstanceNmL
-- copy rule (down)
_kindOtr =
_lhsItr
( _annotationIeh,_annotationIerrSq,_annotationIfreeTvarS,_annotationIgUniq,_annotationIidUseOccGam,_annotationIpp,_annotationIppWrap,_annotationItopInstanceNmL,_annotationItrpp,_annotationIundefOccGam) =
annotation_ _annotationOgUniq _annotationOidGam _annotationOnmLev _annotationOopts _annotationOpatchEhNmInInstance _annotationOtopInstanceNmL _annotationOtr
( _kindIconNm,_kindIeh,_kindIerrSq,_kindIfreeTvarS,_kindIgUniq,_kindIidUseOccGam,_kindIpp,_kindIppWrap,_kindItopInstanceNmL,_kindItrpp,_kindIundefOccGam) =
kind_ _kindOgUniq _kindOidGam _kindOnmLev _kindOopts _kindOpatchEhNmInInstance _kindOtopInstanceNmL _kindOtr
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- KindAnnotation ----------------------------------------------
{-
visit 0:
inherited attributes:
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.KiExprAnn
errSq : ErrSq
freeTvarS : HsNameS
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Empty:
visit 0:
local eh : _
-}
-- cata
sem_KindAnnotation :: KindAnnotation ->
T_KindAnnotation
sem_KindAnnotation (KindAnnotation_Empty) =
(sem_KindAnnotation_Empty)
-- semantic domain
type T_KindAnnotation = UID ->
IdDefOccGam ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (EH.KiExprAnn),ErrSq,HsNameS,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_KindAnnotation_Empty :: T_KindAnnotation
sem_KindAnnotation_Empty =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.KiExprAnn)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 915, column 17)
_eh =
EH.KiExprAnn_Empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 117, column 30)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Kinds -------------------------------------------------------
{-
visit 0:
inherited attributes:
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.KiExpr]
errSq : ErrSq
freeTvarS : HsNameS
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppL : [PP_Doc]
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : Kind
child tl : Kinds
alternative Nil:
-}
-- cata
sem_Kinds :: Kinds ->
T_Kinds
sem_Kinds list =
(Prelude.foldr sem_Kinds_Cons sem_Kinds_Nil (Prelude.map sem_Kind list))
-- semantic domain
type T_Kinds = UID ->
IdDefOccGam ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.KiExpr]),ErrSq,HsNameS,UID,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Kinds_Cons :: T_Kind ->
T_Kinds ->
T_Kinds
sem_Kinds_Cons hd_ tl_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.KiExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIconNm :: Name
_hdIeh :: (EH.KiExpr)
_hdIerrSq :: ErrSq
_hdIfreeTvarS :: HsNameS
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.KiExpr])
_tlIerrSq :: ErrSq
_tlIfreeTvarS :: HsNameS
_tlIgUniq :: UID
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppL :: ([PP_Doc])
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 448, column 9)
_lhsOppL =
_hdIpp : _tlIppL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 173, column 21)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 117, column 30)
_lhsOfreeTvarS =
_hdIfreeTvarS `Set.union` _tlIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIconNm,_hdIeh,_hdIerrSq,_hdIfreeTvarS,_hdIgUniq,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOgUniq _hdOidGam _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIerrSq,_tlIfreeTvarS,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOgUniq _tlOidGam _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Kinds_Nil :: T_Kinds
sem_Kinds_Nil =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.KiExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 450, column 9)
_lhsOppL =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 173, column 21)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 117, column 30)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- LeftHandSide ------------------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
nmLevFun : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.PatExpr]
ehTyMk : EH.Expr -> EH.Expr
errSq : ErrSq
idDefOccGam : IdDefOccGam
idOccDefs : [IdOcc]
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
refname : HsName
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Function:
child range : {Range}
child name : {Name}
child patterns : Patterns
visit 0:
local refname : _
local pp : _
alternative Infix:
child range : {Range}
child leftPattern : Pattern
child operator : {Name}
child rightPattern : Pattern
visit 0:
local patchEhNmInInstance : _
local refname : _
local pp : _
alternative Parenthesized:
child range : {Range}
child lefthandside : LeftHandSide
child patterns : Patterns
visit 0:
local pp : _
alternative Typed:
child range : {Range}
child lefthandside : LeftHandSide
child type : Type
visit 0:
local idDefOccGamType : _
local pp : _
local isAsPred : _
local doGenVarWild : _
-}
-- cata
sem_LeftHandSide :: LeftHandSide ->
T_LeftHandSide
sem_LeftHandSide (LeftHandSide_Function _range _name _patterns) =
(sem_LeftHandSide_Function _range _name (sem_Patterns _patterns))
sem_LeftHandSide (LeftHandSide_Infix _range _leftPattern _operator _rightPattern) =
(sem_LeftHandSide_Infix _range (sem_Pattern _leftPattern) _operator (sem_Pattern _rightPattern))
sem_LeftHandSide (LeftHandSide_Parenthesized _range _lefthandside _patterns) =
(sem_LeftHandSide_Parenthesized _range (sem_LeftHandSide _lefthandside) (sem_Patterns _patterns))
sem_LeftHandSide (LeftHandSide_Typed _range _lefthandside _type) =
(sem_LeftHandSide_Typed _range (sem_LeftHandSide _lefthandside) (sem_Type _type))
-- semantic domain
type T_LeftHandSide = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NmLev ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.PatExpr]),(EH.Expr -> EH.Expr),ErrSq,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),HsName,([HsName]),TrPP,IdUseOccGam)
sem_LeftHandSide_Function :: Range ->
Name ->
T_Patterns ->
T_LeftHandSide
sem_LeftHandSide_Function range_ name_ patterns_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsInmLevFun
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _patternsOpatchEhNmInInstance :: PatchEhNmInInstance
_lhsOeh :: ([EH.PatExpr])
_lhsOehTyMk :: (EH.Expr -> EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOrefname :: HsName
_lhsOtopInstanceNmL :: ([HsName])
_patternsOfixityGam :: FixityGam
_patternsOgUniq :: UID
_patternsOidGam :: IdDefOccGam
_patternsOmoduleNm :: HsName
_patternsOnmLev :: NmLev
_patternsOopts :: EHCOpts
_patternsOtopInstanceNmL :: ([HsName])
_patternsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternsIeh :: ([EH.PatExpr])
_patternsIerrSq :: ErrSq
_patternsIgUniq :: UID
_patternsIidDefOccGam :: IdDefOccGam
_patternsIidOccDefs :: ([IdOcc])
_patternsIidUseOccGam :: IdUseOccGam
_patternsIpp :: PP_Doc
_patternsIppL :: ([PP_Doc])
_patternsIppWrap :: (PP_Doc -> PP_Doc)
_patternsItopInstanceNmL :: ([HsName])
_patternsItrpp :: TrPP
_patternsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1273, column 9)
_patternsOpatchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 47, column 9)
_refname =
hsnSetLevQual _lhsInmLevFun _lhsImoduleNm name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 317, column 9)
_pp =
name_ >#< ppSpaces _patternsIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 736, column 9)
_lhsOeh =
rngLift range_ EH.PatExpr_Var
(_lhsIpatchEhNmInInstance _refname)
: _patternsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 756, column 9)
_lhsOehTyMk =
id
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_patternsIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_patternsIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_patternsIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_patternsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_patternsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_patternsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_patternsIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_patternsIgUniq
-- copy rule (from local)
_lhsOrefname =
_refname
-- copy rule (up)
_lhsOtopInstanceNmL =
_patternsItopInstanceNmL
-- copy rule (down)
_patternsOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_patternsOgUniq =
_lhsIgUniq
-- copy rule (down)
_patternsOidGam =
_lhsIidGam
-- copy rule (down)
_patternsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_patternsOnmLev =
_lhsInmLev
-- copy rule (down)
_patternsOopts =
_lhsIopts
-- copy rule (down)
_patternsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_patternsOtr =
_lhsItr
( _patternsIeh,_patternsIerrSq,_patternsIgUniq,_patternsIidDefOccGam,_patternsIidOccDefs,_patternsIidUseOccGam,_patternsIpp,_patternsIppL,_patternsIppWrap,_patternsItopInstanceNmL,_patternsItrpp,_patternsIundefOccGam) =
patterns_ _patternsOfixityGam _patternsOgUniq _patternsOidGam _patternsOmoduleNm _patternsOnmLev _patternsOopts _patternsOpatchEhNmInInstance _patternsOtopInstanceNmL _patternsOtr
in ( _lhsOeh,_lhsOehTyMk,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOrefname,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_LeftHandSide_Infix :: Range ->
T_Pattern ->
Name ->
T_Pattern ->
T_LeftHandSide
sem_LeftHandSide_Infix range_ leftPattern_ operator_ rightPattern_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsInmLevFun
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([EH.PatExpr])
_lhsOehTyMk :: (EH.Expr -> EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOrefname :: HsName
_lhsOtopInstanceNmL :: ([HsName])
_leftPatternOfixityGam :: FixityGam
_leftPatternOgUniq :: UID
_leftPatternOidGam :: IdDefOccGam
_leftPatternOmoduleNm :: HsName
_leftPatternOnmLev :: NmLev
_leftPatternOopts :: EHCOpts
_leftPatternOpatchEhNmInInstance :: PatchEhNmInInstance
_leftPatternOtopInstanceNmL :: ([HsName])
_leftPatternOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_rightPatternOfixityGam :: FixityGam
_rightPatternOgUniq :: UID
_rightPatternOidGam :: IdDefOccGam
_rightPatternOmoduleNm :: HsName
_rightPatternOnmLev :: NmLev
_rightPatternOopts :: EHCOpts
_rightPatternOpatchEhNmInInstance :: PatchEhNmInInstance
_rightPatternOtopInstanceNmL :: ([HsName])
_rightPatternOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_leftPatternIeh :: (EH.PatExpr)
_leftPatternIerrSq :: ErrSq
_leftPatternIgUniq :: UID
_leftPatternIidDefOccGam :: IdDefOccGam
_leftPatternIidOccDefs :: ([IdOcc])
_leftPatternIidUseOccGam :: IdUseOccGam
_leftPatternIisVar :: Bool
_leftPatternImbTopRefname :: (Maybe HsName)
_leftPatternIpp :: PP_Doc
_leftPatternIppWrap :: (PP_Doc -> PP_Doc)
_leftPatternItopInstanceNmL :: ([HsName])
_leftPatternItrpp :: TrPP
_leftPatternIundefOccGam :: IdUseOccGam
_rightPatternIeh :: (EH.PatExpr)
_rightPatternIerrSq :: ErrSq
_rightPatternIgUniq :: UID
_rightPatternIidDefOccGam :: IdDefOccGam
_rightPatternIidOccDefs :: ([IdOcc])
_rightPatternIidUseOccGam :: IdUseOccGam
_rightPatternIisVar :: Bool
_rightPatternImbTopRefname :: (Maybe HsName)
_rightPatternIpp :: PP_Doc
_rightPatternIppWrap :: (PP_Doc -> PP_Doc)
_rightPatternItopInstanceNmL :: ([HsName])
_rightPatternItrpp :: TrPP
_rightPatternIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1276, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 49, column 9)
_refname =
hsnSetLevQual _lhsInmLevFun _lhsImoduleNm operator_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 319, column 9)
_pp =
_leftPatternIpp >#< operator_ >#< _rightPatternIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 740, column 9)
_lhsOeh =
[ rngLift range_ EH.PatExpr_Var
(_lhsIpatchEhNmInInstance _refname)
, _leftPatternIeh
, _rightPatternIeh
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 756, column 9)
_lhsOehTyMk =
id
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_leftPatternIerrSq `Seq.union` _rightPatternIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_leftPatternIidDefOccGam `gamAddGam` _rightPatternIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_leftPatternIidOccDefs ++ _rightPatternIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_leftPatternIidUseOccGam `gamAddGam` _rightPatternIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_leftPatternIppWrap . _rightPatternIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_leftPatternItrpp >< _rightPatternItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_leftPatternIundefOccGam `gamUnion` _rightPatternIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_rightPatternIgUniq
-- copy rule (from local)
_lhsOrefname =
_refname
-- copy rule (up)
_lhsOtopInstanceNmL =
_rightPatternItopInstanceNmL
-- copy rule (down)
_leftPatternOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_leftPatternOgUniq =
_lhsIgUniq
-- copy rule (down)
_leftPatternOidGam =
_lhsIidGam
-- copy rule (down)
_leftPatternOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_leftPatternOnmLev =
_lhsInmLev
-- copy rule (down)
_leftPatternOopts =
_lhsIopts
-- copy rule (from local)
_leftPatternOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_leftPatternOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_leftPatternOtr =
_lhsItr
-- copy rule (down)
_rightPatternOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_rightPatternOgUniq =
_leftPatternIgUniq
-- copy rule (down)
_rightPatternOidGam =
_lhsIidGam
-- copy rule (down)
_rightPatternOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_rightPatternOnmLev =
_lhsInmLev
-- copy rule (down)
_rightPatternOopts =
_lhsIopts
-- copy rule (from local)
_rightPatternOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (chain)
_rightPatternOtopInstanceNmL =
_leftPatternItopInstanceNmL
-- copy rule (down)
_rightPatternOtr =
_lhsItr
( _leftPatternIeh,_leftPatternIerrSq,_leftPatternIgUniq,_leftPatternIidDefOccGam,_leftPatternIidOccDefs,_leftPatternIidUseOccGam,_leftPatternIisVar,_leftPatternImbTopRefname,_leftPatternIpp,_leftPatternIppWrap,_leftPatternItopInstanceNmL,_leftPatternItrpp,_leftPatternIundefOccGam) =
leftPattern_ _leftPatternOfixityGam _leftPatternOgUniq _leftPatternOidGam _leftPatternOmoduleNm _leftPatternOnmLev _leftPatternOopts _leftPatternOpatchEhNmInInstance _leftPatternOtopInstanceNmL _leftPatternOtr
( _rightPatternIeh,_rightPatternIerrSq,_rightPatternIgUniq,_rightPatternIidDefOccGam,_rightPatternIidOccDefs,_rightPatternIidUseOccGam,_rightPatternIisVar,_rightPatternImbTopRefname,_rightPatternIpp,_rightPatternIppWrap,_rightPatternItopInstanceNmL,_rightPatternItrpp,_rightPatternIundefOccGam) =
rightPattern_ _rightPatternOfixityGam _rightPatternOgUniq _rightPatternOidGam _rightPatternOmoduleNm _rightPatternOnmLev _rightPatternOopts _rightPatternOpatchEhNmInInstance _rightPatternOtopInstanceNmL _rightPatternOtr
in ( _lhsOeh,_lhsOehTyMk,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOrefname,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_LeftHandSide_Parenthesized :: Range ->
T_LeftHandSide ->
T_Patterns ->
T_LeftHandSide
sem_LeftHandSide_Parenthesized range_ lefthandside_ patterns_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsInmLevFun
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([EH.PatExpr])
_lhsOehTyMk :: (EH.Expr -> EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOrefname :: HsName
_lhsOtopInstanceNmL :: ([HsName])
_lefthandsideOcaseId :: UID
_lefthandsideOfixityGam :: FixityGam
_lefthandsideOgUniq :: UID
_lefthandsideOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_lefthandsideOidGam :: IdDefOccGam
_lefthandsideOmoduleNm :: HsName
_lefthandsideOnmLev :: NmLev
_lefthandsideOnmLevFun :: NmLev
_lefthandsideOopts :: EHCOpts
_lefthandsideOpatchEhNmInInstance :: PatchEhNmInInstance
_lefthandsideOpragmas :: (Set.Set Pragma.Pragma)
_lefthandsideOtopInstanceNmL :: ([HsName])
_lefthandsideOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternsOfixityGam :: FixityGam
_patternsOgUniq :: UID
_patternsOidGam :: IdDefOccGam
_patternsOmoduleNm :: HsName
_patternsOnmLev :: NmLev
_patternsOopts :: EHCOpts
_patternsOpatchEhNmInInstance :: PatchEhNmInInstance
_patternsOtopInstanceNmL :: ([HsName])
_patternsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_lefthandsideIeh :: ([EH.PatExpr])
_lefthandsideIehTyMk :: (EH.Expr -> EH.Expr)
_lefthandsideIerrSq :: ErrSq
_lefthandsideIgUniq :: UID
_lefthandsideIidDefOccGam :: IdDefOccGam
_lefthandsideIidOccDefs :: ([IdOcc])
_lefthandsideIidUseOccGam :: IdUseOccGam
_lefthandsideIpp :: PP_Doc
_lefthandsideIppWrap :: (PP_Doc -> PP_Doc)
_lefthandsideIrefname :: HsName
_lefthandsideItopInstanceNmL :: ([HsName])
_lefthandsideItrpp :: TrPP
_lefthandsideIundefOccGam :: IdUseOccGam
_patternsIeh :: ([EH.PatExpr])
_patternsIerrSq :: ErrSq
_patternsIgUniq :: UID
_patternsIidDefOccGam :: IdDefOccGam
_patternsIidOccDefs :: ([IdOcc])
_patternsIidUseOccGam :: IdUseOccGam
_patternsIpp :: PP_Doc
_patternsIppL :: ([PP_Doc])
_patternsIppWrap :: (PP_Doc -> PP_Doc)
_patternsItopInstanceNmL :: ([HsName])
_patternsItrpp :: TrPP
_patternsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 321, column 9)
_pp =
ppParens _lefthandsideIpp >#< ppSpaces _patternsIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 746, column 9)
_lhsOeh =
_lefthandsideIeh ++ _patternsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 756, column 9)
_lhsOehTyMk =
id
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_lefthandsideIerrSq `Seq.union` _patternsIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_lefthandsideIidDefOccGam `gamAddGam` _patternsIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_lefthandsideIidOccDefs ++ _patternsIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_lefthandsideIidUseOccGam `gamAddGam` _patternsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_lefthandsideIppWrap . _patternsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_lefthandsideItrpp >< _patternsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_lefthandsideIundefOccGam `gamUnion` _patternsIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_patternsIgUniq
-- copy rule (up)
_lhsOrefname =
_lefthandsideIrefname
-- copy rule (up)
_lhsOtopInstanceNmL =
_patternsItopInstanceNmL
-- copy rule (down)
_lefthandsideOcaseId =
_lhsIcaseId
-- copy rule (down)
_lefthandsideOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_lefthandsideOgUniq =
_lhsIgUniq
-- copy rule (down)
_lefthandsideOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_lefthandsideOidGam =
_lhsIidGam
-- copy rule (down)
_lefthandsideOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_lefthandsideOnmLev =
_lhsInmLev
-- copy rule (down)
_lefthandsideOnmLevFun =
_lhsInmLevFun
-- copy rule (down)
_lefthandsideOopts =
_lhsIopts
-- copy rule (down)
_lefthandsideOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_lefthandsideOpragmas =
_lhsIpragmas
-- copy rule (down)
_lefthandsideOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_lefthandsideOtr =
_lhsItr
-- copy rule (down)
_patternsOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_patternsOgUniq =
_lefthandsideIgUniq
-- copy rule (down)
_patternsOidGam =
_lhsIidGam
-- copy rule (down)
_patternsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_patternsOnmLev =
_lhsInmLev
-- copy rule (down)
_patternsOopts =
_lhsIopts
-- copy rule (down)
_patternsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_patternsOtopInstanceNmL =
_lefthandsideItopInstanceNmL
-- copy rule (down)
_patternsOtr =
_lhsItr
( _lefthandsideIeh,_lefthandsideIehTyMk,_lefthandsideIerrSq,_lefthandsideIgUniq,_lefthandsideIidDefOccGam,_lefthandsideIidOccDefs,_lefthandsideIidUseOccGam,_lefthandsideIpp,_lefthandsideIppWrap,_lefthandsideIrefname,_lefthandsideItopInstanceNmL,_lefthandsideItrpp,_lefthandsideIundefOccGam) =
lefthandside_ _lefthandsideOcaseId _lefthandsideOfixityGam _lefthandsideOgUniq _lefthandsideOgenerDerivMp _lefthandsideOidGam _lefthandsideOmoduleNm _lefthandsideOnmLev _lefthandsideOnmLevFun _lefthandsideOopts _lefthandsideOpatchEhNmInInstance _lefthandsideOpragmas _lefthandsideOtopInstanceNmL _lefthandsideOtr
( _patternsIeh,_patternsIerrSq,_patternsIgUniq,_patternsIidDefOccGam,_patternsIidOccDefs,_patternsIidUseOccGam,_patternsIpp,_patternsIppL,_patternsIppWrap,_patternsItopInstanceNmL,_patternsItrpp,_patternsIundefOccGam) =
patterns_ _patternsOfixityGam _patternsOgUniq _patternsOidGam _patternsOmoduleNm _patternsOnmLev _patternsOopts _patternsOpatchEhNmInInstance _patternsOtopInstanceNmL _patternsOtr
in ( _lhsOeh,_lhsOehTyMk,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOrefname,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_LeftHandSide_Typed :: Range ->
T_LeftHandSide ->
T_Type ->
T_LeftHandSide
sem_LeftHandSide_Typed range_ lefthandside_ type_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsInmLevFun
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _typeOidGam :: IdDefOccGam
_typeOnmLev :: NmLev
_lhsOeh :: ([EH.PatExpr])
_lhsOehTyMk :: (EH.Expr -> EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOrefname :: HsName
_lhsOtopInstanceNmL :: ([HsName])
_lefthandsideOcaseId :: UID
_lefthandsideOfixityGam :: FixityGam
_lefthandsideOgUniq :: UID
_lefthandsideOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_lefthandsideOidGam :: IdDefOccGam
_lefthandsideOmoduleNm :: HsName
_lefthandsideOnmLev :: NmLev
_lefthandsideOnmLevFun :: NmLev
_lefthandsideOopts :: EHCOpts
_lefthandsideOpatchEhNmInInstance :: PatchEhNmInInstance
_lefthandsideOpragmas :: (Set.Set Pragma.Pragma)
_lefthandsideOtopInstanceNmL :: ([HsName])
_lefthandsideOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOisAsPred :: Bool
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_lefthandsideIeh :: ([EH.PatExpr])
_lefthandsideIehTyMk :: (EH.Expr -> EH.Expr)
_lefthandsideIerrSq :: ErrSq
_lefthandsideIgUniq :: UID
_lefthandsideIidDefOccGam :: IdDefOccGam
_lefthandsideIidOccDefs :: ([IdOcc])
_lefthandsideIidUseOccGam :: IdUseOccGam
_lefthandsideIpp :: PP_Doc
_lefthandsideIppWrap :: (PP_Doc -> PP_Doc)
_lefthandsideIrefname :: HsName
_lefthandsideItopInstanceNmL :: ([HsName])
_lefthandsideItrpp :: TrPP
_lefthandsideIundefOccGam :: IdUseOccGam
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 290, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _lhsInmLev range_ _typeIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 433, column 9)
_typeOidGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 60, column 9)
_typeOnmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 323, column 9)
_pp =
_lefthandsideIpp >#< "::" >#< _typeIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 748, column 9)
_lhsOeh =
_lefthandsideIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 754, column 9)
_lhsOehTyMk =
rngLift range_ EH.Expr_TypeAs True _typeIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 208, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 217, column 9)
_doGenVarWild =
True
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_lefthandsideIerrSq `Seq.union` _typeIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_lefthandsideIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_lefthandsideIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_lefthandsideIidUseOccGam `gamAddGam` _typeIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_lefthandsideIppWrap . _typeIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_lefthandsideItrpp >< _typeItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_lefthandsideIundefOccGam `gamUnion` _typeIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_typeIgUniq
-- copy rule (up)
_lhsOrefname =
_lefthandsideIrefname
-- copy rule (up)
_lhsOtopInstanceNmL =
_typeItopInstanceNmL
-- copy rule (down)
_lefthandsideOcaseId =
_lhsIcaseId
-- copy rule (down)
_lefthandsideOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_lefthandsideOgUniq =
_lhsIgUniq
-- copy rule (down)
_lefthandsideOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_lefthandsideOidGam =
_lhsIidGam
-- copy rule (down)
_lefthandsideOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_lefthandsideOnmLev =
_lhsInmLev
-- copy rule (down)
_lefthandsideOnmLevFun =
_lhsInmLevFun
-- copy rule (down)
_lefthandsideOopts =
_lhsIopts
-- copy rule (down)
_lefthandsideOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_lefthandsideOpragmas =
_lhsIpragmas
-- copy rule (down)
_lefthandsideOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_lefthandsideOtr =
_lhsItr
-- copy rule (from local)
_typeOdoGenVarWild =
_doGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_typeOgUniq =
_lefthandsideIgUniq
-- copy rule (from local)
_typeOisAsPred =
_isAsPred
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (down)
_typeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_typeOtopInstanceNmL =
_lefthandsideItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
( _lefthandsideIeh,_lefthandsideIehTyMk,_lefthandsideIerrSq,_lefthandsideIgUniq,_lefthandsideIidDefOccGam,_lefthandsideIidOccDefs,_lefthandsideIidUseOccGam,_lefthandsideIpp,_lefthandsideIppWrap,_lefthandsideIrefname,_lefthandsideItopInstanceNmL,_lefthandsideItrpp,_lefthandsideIundefOccGam) =
lefthandside_ _lefthandsideOcaseId _lefthandsideOfixityGam _lefthandsideOgUniq _lefthandsideOgenerDerivMp _lefthandsideOidGam _lefthandsideOmoduleNm _lefthandsideOnmLev _lefthandsideOnmLevFun _lefthandsideOopts _lefthandsideOpatchEhNmInInstance _lefthandsideOpragmas _lefthandsideOtopInstanceNmL _lefthandsideOtr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
in ( _lhsOeh,_lhsOehTyMk,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOrefname,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Literal -----------------------------------------------------
{-
visit 0:
inherited attributes:
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : Literal
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Int:
child range : {Range}
child base : {Int}
child value : {String}
visit 0:
local pp : _
local eh : _
alternative Char:
child range : {Range}
child value : {String}
visit 0:
local pp : _
local eh : _
alternative String:
child range : {Range}
child value : {String}
visit 0:
local pp : _
local eh : _
alternative Float:
child range : {Range}
child value : {String}
visit 0:
local pp : _
local eh : _
-}
-- cata
sem_Literal :: Literal ->
T_Literal
sem_Literal (Literal_Int _range _base _value) =
(sem_Literal_Int _range _base _value)
sem_Literal (Literal_Char _range _value) =
(sem_Literal_Char _range _value)
sem_Literal (Literal_String _range _value) =
(sem_Literal_String _range _value)
sem_Literal (Literal_Float _range _value) =
(sem_Literal_Float _range _value)
-- semantic domain
type T_Literal = UID ->
IdDefOccGam ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( Literal,ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Literal_Int :: Range ->
Int ->
String ->
T_Literal
sem_Literal_Int range_ base_ value_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: Literal
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 384, column 9)
_pp =
pp value_
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- self rule
_eh =
Literal_Int range_ base_ value_
-- self rule
_lhsOeh =
_eh
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Literal_Char :: Range ->
String ->
T_Literal
sem_Literal_Char range_ value_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: Literal
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 386, column 9)
_pp =
pp ("'" ++ value_ ++ "'")
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- self rule
_eh =
Literal_Char range_ value_
-- self rule
_lhsOeh =
_eh
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Literal_String :: Range ->
String ->
T_Literal
sem_Literal_String range_ value_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: Literal
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 388, column 9)
_pp =
pp (show value_)
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- self rule
_eh =
Literal_String range_ value_
-- self rule
_lhsOeh =
_eh
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Literal_Float :: Range ->
String ->
T_Literal
sem_Literal_Float range_ value_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: Literal
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 390, column 9)
_pp =
pp value_
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- self rule
_eh =
Literal_Float range_ value_
-- self rule
_lhsOeh =
_eh
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- MaybeDeclarations -------------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nameDeclCxt : NameDeclCxt
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : Maybe [EH.Decl]
errSq : ErrSq
gathFixityGam : FixityGam
gathPragmas : Set.Set Pragma.Pragma
idDefOccGam : IdDefOccGam
idDpdMp : IdDpdMp
idInClassTySigDefOccGam : IdDefOccGam
idInInstanceValDefOccGam : IdDefOccGam
idOccDefs : [IdOcc]
idUseOccGam : IdUseOccGam
needsError : Bool
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Just:
child just : Declarations
visit 0:
local pp : _
alternative Nothing:
-}
-- cata
sem_MaybeDeclarations :: MaybeDeclarations ->
T_MaybeDeclarations
sem_MaybeDeclarations (Prelude.Just x) =
(sem_MaybeDeclarations_Just (sem_Declarations x))
sem_MaybeDeclarations Prelude.Nothing =
sem_MaybeDeclarations_Nothing
-- semantic domain
type T_MaybeDeclarations = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NameDeclCxt ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (Maybe [EH.Decl]),ErrSq,UID,FixityGam,(Set.Set Pragma.Pragma),IdDefOccGam,IdDpdMp,IdDefOccGam,IdDefOccGam,([IdOcc]),IdUseOccGam,Bool,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_MaybeDeclarations_Just :: T_Declarations ->
T_MaybeDeclarations
sem_MaybeDeclarations_Just just_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: (Maybe [EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_justOcaseId :: UID
_justOfixityGam :: FixityGam
_justOgUniq :: UID
_justOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_justOidGam :: IdDefOccGam
_justOmoduleNm :: HsName
_justOnameDeclCxt :: NameDeclCxt
_justOnmLev :: NmLev
_justOopts :: EHCOpts
_justOpatchEhNmInInstance :: PatchEhNmInInstance
_justOpragmas :: (Set.Set Pragma.Pragma)
_justOtopInstanceNmL :: ([HsName])
_justOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_justIeh :: ([EH.Decl])
_justIerrSq :: ErrSq
_justIgUniq :: UID
_justIgathFixityGam :: FixityGam
_justIgathPragmas :: (Set.Set Pragma.Pragma)
_justIidDefOccGam :: IdDefOccGam
_justIidDpdMp :: IdDpdMp
_justIidInClassTySigDefOccGam :: IdDefOccGam
_justIidInInstanceValDefOccGam :: IdDefOccGam
_justIidOccDefs :: ([IdOcc])
_justIidUseOccGam :: IdUseOccGam
_justIneedsError :: Bool
_justIpp :: PP_Doc
_justIppWrap :: (PP_Doc -> PP_Doc)
_justItopInstanceNmL :: ([HsName])
_justItrpp :: TrPP
_justIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 25, column 9)
_pp =
"where" >#< _justIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 72, column 9)
_lhsOeh =
Just _justIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_justIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_justIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
_justIgathPragmas
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_justIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
_justIidDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
_justIidInClassTySigDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
_justIidInInstanceValDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_justIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_justIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
_justIneedsError
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_justIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_justItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_justIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_justIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_justItopInstanceNmL
-- copy rule (down)
_justOcaseId =
_lhsIcaseId
-- copy rule (down)
_justOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_justOgUniq =
_lhsIgUniq
-- copy rule (down)
_justOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_justOidGam =
_lhsIidGam
-- copy rule (down)
_justOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_justOnameDeclCxt =
_lhsInameDeclCxt
-- copy rule (down)
_justOnmLev =
_lhsInmLev
-- copy rule (down)
_justOopts =
_lhsIopts
-- copy rule (down)
_justOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_justOpragmas =
_lhsIpragmas
-- copy rule (down)
_justOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_justOtr =
_lhsItr
( _justIeh,_justIerrSq,_justIgUniq,_justIgathFixityGam,_justIgathPragmas,_justIidDefOccGam,_justIidDpdMp,_justIidInClassTySigDefOccGam,_justIidInInstanceValDefOccGam,_justIidOccDefs,_justIidUseOccGam,_justIneedsError,_justIpp,_justIppWrap,_justItopInstanceNmL,_justItrpp,_justIundefOccGam) =
just_ _justOcaseId _justOfixityGam _justOgUniq _justOgenerDerivMp _justOidGam _justOmoduleNm _justOnameDeclCxt _justOnmLev _justOopts _justOpatchEhNmInInstance _justOpragmas _justOtopInstanceNmL _justOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_MaybeDeclarations_Nothing :: T_MaybeDeclarations
sem_MaybeDeclarations_Nothing =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInameDeclCxt
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: (Maybe [EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidInClassTySigDefOccGam :: IdDefOccGam
_lhsOidInInstanceValDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 64, column 33)
_lhsOeh =
Nothing
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 841, column 19)
_lhsOidDpdMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 338, column 35)
_lhsOidInClassTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 339, column 36)
_lhsOidInInstanceValDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 799, column 38)
_lhsOneedsError =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidInClassTySigDefOccGam,_lhsOidInInstanceValDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- MaybeExports ------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isMainMod : Bool
isTopMod : Bool
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathFixityGam : FixityGam
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Just:
child just : Exports
alternative Nothing:
-}
-- cata
sem_MaybeExports :: MaybeExports ->
T_MaybeExports
sem_MaybeExports (Prelude.Just x) =
(sem_MaybeExports_Just (sem_Exports x))
sem_MaybeExports Prelude.Nothing =
sem_MaybeExports_Nothing
-- semantic domain
type T_MaybeExports = FixityGam ->
UID ->
IdDefOccGam ->
Bool ->
Bool ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ErrSq,UID,FixityGam,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_MaybeExports_Just :: T_Exports ->
T_MaybeExports
sem_MaybeExports_Just just_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_justOfixityGam :: FixityGam
_justOgUniq :: UID
_justOidGam :: IdDefOccGam
_justOisMainMod :: Bool
_justOisTopMod :: Bool
_justOmoduleNm :: HsName
_justOnmLev :: NmLev
_justOopts :: EHCOpts
_justOpatchEhNmInInstance :: PatchEhNmInInstance
_justOtopInstanceNmL :: ([HsName])
_justOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_justIerrSq :: ErrSq
_justIgUniq :: UID
_justIgathFixityGam :: FixityGam
_justIidUseOccGam :: IdUseOccGam
_justIpp :: PP_Doc
_justIppWrap :: (PP_Doc -> PP_Doc)
_justItopInstanceNmL :: ([HsName])
_justItrpp :: TrPP
_justIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_justIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_justIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_justIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_justIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_justIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_justItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_justIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_justIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_justItopInstanceNmL
-- copy rule (down)
_justOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_justOgUniq =
_lhsIgUniq
-- copy rule (down)
_justOidGam =
_lhsIidGam
-- copy rule (down)
_justOisMainMod =
_lhsIisMainMod
-- copy rule (down)
_justOisTopMod =
_lhsIisTopMod
-- copy rule (down)
_justOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_justOnmLev =
_lhsInmLev
-- copy rule (down)
_justOopts =
_lhsIopts
-- copy rule (down)
_justOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_justOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_justOtr =
_lhsItr
( _justIerrSq,_justIgUniq,_justIgathFixityGam,_justIidUseOccGam,_justIpp,_justIppWrap,_justItopInstanceNmL,_justItrpp,_justIundefOccGam) =
just_ _justOfixityGam _justOgUniq _justOidGam _justOisMainMod _justOisTopMod _justOmoduleNm _justOnmLev _justOopts _justOpatchEhNmInInstance _justOtopInstanceNmL _justOtr
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_MaybeExports_Nothing :: T_MaybeExports
sem_MaybeExports_Nothing =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- MaybeExpression ---------------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : Maybe EH.Expr
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppMb : Maybe PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Just:
child just : Expression
alternative Nothing:
-}
-- cata
sem_MaybeExpression :: MaybeExpression ->
T_MaybeExpression
sem_MaybeExpression (Prelude.Just x) =
(sem_MaybeExpression_Just (sem_Expression x))
sem_MaybeExpression Prelude.Nothing =
sem_MaybeExpression_Nothing
-- semantic domain
type T_MaybeExpression = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (Maybe EH.Expr),ErrSq,UID,IdUseOccGam,PP_Doc,(Maybe PP_Doc),(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_MaybeExpression_Just :: T_Expression ->
T_MaybeExpression
sem_MaybeExpression_Just just_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppMb :: (Maybe PP_Doc)
_lhsOeh :: (Maybe EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_justOcaseId :: UID
_justOfixityGam :: FixityGam
_justOgUniq :: UID
_justOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_justOidGam :: IdDefOccGam
_justOmoduleNm :: HsName
_justOnmLev :: NmLev
_justOopts :: EHCOpts
_justOpatchEhNmInInstance :: PatchEhNmInInstance
_justOpragmas :: (Set.Set Pragma.Pragma)
_justOtopInstanceNmL :: ([HsName])
_justOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_justIconNm :: Name
_justIeh :: (EH.Expr)
_justIerrSq :: ErrSq
_justIgUniq :: UID
_justIidUseOccGam :: IdUseOccGam
_justIopChain :: (OpChain EH.Expr)
_justIoperatorName :: MaybeName
_justIpp :: PP_Doc
_justIppWrap :: (PP_Doc -> PP_Doc)
_justItopInstanceNmL :: ([HsName])
_justItrpp :: TrPP
_justIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 400, column 9)
_lhsOppMb =
Just _justIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 463, column 9)
_lhsOeh =
Just _justIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_justIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_justIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_justIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_justIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_justItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_justIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_justIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_justItopInstanceNmL
-- copy rule (down)
_justOcaseId =
_lhsIcaseId
-- copy rule (down)
_justOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_justOgUniq =
_lhsIgUniq
-- copy rule (down)
_justOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_justOidGam =
_lhsIidGam
-- copy rule (down)
_justOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_justOnmLev =
_lhsInmLev
-- copy rule (down)
_justOopts =
_lhsIopts
-- copy rule (down)
_justOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_justOpragmas =
_lhsIpragmas
-- copy rule (down)
_justOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_justOtr =
_lhsItr
( _justIconNm,_justIeh,_justIerrSq,_justIgUniq,_justIidUseOccGam,_justIopChain,_justIoperatorName,_justIpp,_justIppWrap,_justItopInstanceNmL,_justItrpp,_justIundefOccGam) =
just_ _justOcaseId _justOfixityGam _justOgUniq _justOgenerDerivMp _justOidGam _justOmoduleNm _justOnmLev _justOopts _justOpatchEhNmInInstance _justOpragmas _justOtopInstanceNmL _justOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppMb,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_MaybeExpression_Nothing :: T_MaybeExpression
sem_MaybeExpression_Nothing =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppMb :: (Maybe PP_Doc)
_lhsOeh :: (Maybe EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 402, column 9)
_lhsOppMb =
Nothing
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 457, column 31)
_lhsOeh =
Nothing
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppMb,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- MaybeImportSpecification ------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isMainMod : Bool
isTopMod : Bool
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathFixityGam : FixityGam
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Just:
child just : ImportSpecification
alternative Nothing:
-}
-- cata
sem_MaybeImportSpecification :: MaybeImportSpecification ->
T_MaybeImportSpecification
sem_MaybeImportSpecification (Prelude.Just x) =
(sem_MaybeImportSpecification_Just (sem_ImportSpecification x))
sem_MaybeImportSpecification Prelude.Nothing =
sem_MaybeImportSpecification_Nothing
-- semantic domain
type T_MaybeImportSpecification = FixityGam ->
UID ->
IdDefOccGam ->
Bool ->
Bool ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ErrSq,UID,FixityGam,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_MaybeImportSpecification_Just :: T_ImportSpecification ->
T_MaybeImportSpecification
sem_MaybeImportSpecification_Just just_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_justOfixityGam :: FixityGam
_justOgUniq :: UID
_justOidGam :: IdDefOccGam
_justOisMainMod :: Bool
_justOisTopMod :: Bool
_justOmoduleNm :: HsName
_justOnmLev :: NmLev
_justOopts :: EHCOpts
_justOpatchEhNmInInstance :: PatchEhNmInInstance
_justOtopInstanceNmL :: ([HsName])
_justOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_justIerrSq :: ErrSq
_justIgUniq :: UID
_justIgathFixityGam :: FixityGam
_justIidUseOccGam :: IdUseOccGam
_justIpp :: PP_Doc
_justIppWrap :: (PP_Doc -> PP_Doc)
_justItopInstanceNmL :: ([HsName])
_justItrpp :: TrPP
_justIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_justIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_justIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_justIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_justIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_justIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_justItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_justIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_justIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_justItopInstanceNmL
-- copy rule (down)
_justOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_justOgUniq =
_lhsIgUniq
-- copy rule (down)
_justOidGam =
_lhsIidGam
-- copy rule (down)
_justOisMainMod =
_lhsIisMainMod
-- copy rule (down)
_justOisTopMod =
_lhsIisTopMod
-- copy rule (down)
_justOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_justOnmLev =
_lhsInmLev
-- copy rule (down)
_justOopts =
_lhsIopts
-- copy rule (down)
_justOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_justOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_justOtr =
_lhsItr
( _justIerrSq,_justIgUniq,_justIgathFixityGam,_justIidUseOccGam,_justIpp,_justIppWrap,_justItopInstanceNmL,_justItrpp,_justIundefOccGam) =
just_ _justOfixityGam _justOgUniq _justOidGam _justOisMainMod _justOisTopMod _justOmoduleNm _justOnmLev _justOopts _justOpatchEhNmInInstance _justOtopInstanceNmL _justOtr
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_MaybeImportSpecification_Nothing :: T_MaybeImportSpecification
sem_MaybeImportSpecification_Nothing =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- MaybeType ---------------------------------------------------
{-
visit 0:
inherited attributes:
doGenVarWild : Bool
fixityGam : FixityGam
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : Maybe EH.TyExpr
errSq : ErrSq
freeTvarS : HsNameS
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppMb : Maybe PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Just:
child just : Type
visit 0:
local isAsPred : _
alternative Nothing:
visit 0:
local isAsPred : _
-}
-- cata
sem_MaybeType :: MaybeType ->
T_MaybeType
sem_MaybeType (Prelude.Just x) =
(sem_MaybeType_Just (sem_Type x))
sem_MaybeType Prelude.Nothing =
sem_MaybeType_Nothing
-- semantic domain
type T_MaybeType = Bool ->
FixityGam ->
UID ->
IdDefOccGam ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (Maybe EH.TyExpr),ErrSq,HsNameS,UID,IdUseOccGam,PP_Doc,(Maybe PP_Doc),(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_MaybeType_Just :: T_Type ->
T_MaybeType
sem_MaybeType_Just just_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppMb :: (Maybe PP_Doc)
_lhsOeh :: (Maybe EH.TyExpr)
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_justOdoGenVarWild :: Bool
_justOfixityGam :: FixityGam
_justOgUniq :: UID
_justOidGam :: IdDefOccGam
_justOisAsPred :: Bool
_justOnmLev :: NmLev
_justOopts :: EHCOpts
_justOpatchEhNmInInstance :: PatchEhNmInInstance
_justOtopInstanceNmL :: ([HsName])
_justOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_justIconNm :: Name
_justIeh :: (EH.TyExpr)
_justIehMbAsPr :: (Maybe EH.PrExpr)
_justIehMbAsPrL :: ([Maybe EH.PrExpr])
_justIehMbAsTyPr :: (Maybe EH.TyExpr)
_justIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_justIerrSq :: ErrSq
_justIfreeTvarS :: HsNameS
_justIgUniq :: UID
_justIidUseOccGam :: IdUseOccGam
_justImbRefConNm :: (Maybe Name)
_justIopChain :: (OpChain EH.TyExpr)
_justIoperatorName :: MaybeName
_justIpp :: PP_Doc
_justIppWrap :: (PP_Doc -> PP_Doc)
_justItopInstanceNmL :: ([HsName])
_justItrpp :: TrPP
_justItyConIs :: TypeConFixedMeaning
_justIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 406, column 9)
_lhsOppMb =
Just _justIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 206, column 9)
_lhsOeh =
Just _justIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_justIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_justIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_justIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_justIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_justIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_justItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_justIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_justIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_justItopInstanceNmL
-- copy rule (down)
_justOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_justOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_justOgUniq =
_lhsIgUniq
-- copy rule (down)
_justOidGam =
_lhsIidGam
-- copy rule (from local)
_justOisAsPred =
_isAsPred
-- copy rule (down)
_justOnmLev =
_lhsInmLev
-- copy rule (down)
_justOopts =
_lhsIopts
-- copy rule (down)
_justOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_justOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_justOtr =
_lhsItr
( _justIconNm,_justIeh,_justIehMbAsPr,_justIehMbAsPrL,_justIehMbAsTyPr,_justIehMbAsTyPrL,_justIerrSq,_justIfreeTvarS,_justIgUniq,_justIidUseOccGam,_justImbRefConNm,_justIopChain,_justIoperatorName,_justIpp,_justIppWrap,_justItopInstanceNmL,_justItrpp,_justItyConIs,_justIundefOccGam) =
just_ _justOdoGenVarWild _justOfixityGam _justOgUniq _justOidGam _justOisAsPred _justOnmLev _justOopts _justOpatchEhNmInInstance _justOtopInstanceNmL _justOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppMb,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_MaybeType_Nothing :: T_MaybeType
sem_MaybeType_Nothing =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppMb :: (Maybe PP_Doc)
_lhsOeh :: (Maybe EH.TyExpr)
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 408, column 9)
_lhsOppMb =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 202, column 25)
_lhsOeh =
Nothing
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppMb,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Module ------------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isMainMod : Bool
isTopMod : Bool
modEntToOrig : ModEntRngMp
modInScope : ModEntDomMp
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.Expr
errSq : ErrSq
fileHeaderPragmas : Set.Set Pragma.Pragma
gathFixityGam : FixityGam
gathIdGam : IdDefOccGam
idUseOccGam : IdUseOccGam
mainValExists : Bool
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Module:
child range : {Range}
child name : {MaybeName}
child fileheaderpragmas : Pragmas
child exports : MaybeExports
child body : Body
visit 0:
local fileHeaderPragmas : _
local opts : _
local errUndef : _
local errModName : _
-}
-- cata
sem_Module :: Module ->
T_Module
sem_Module (Module_Module _range _name _fileheaderpragmas _exports _body) =
(sem_Module_Module _range _name (sem_Pragmas _fileheaderpragmas) (sem_MaybeExports _exports) (sem_Body _body))
-- semantic domain
type T_Module = FixityGam ->
UID ->
IdDefOccGam ->
Bool ->
Bool ->
ModEntRngMp ->
ModEntDomMp ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (EH.Expr),ErrSq,(Set.Set Pragma.Pragma),UID,FixityGam,IdDefOccGam,IdUseOccGam,Bool,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Module_Module :: Range ->
MaybeName ->
T_Pragmas ->
T_MaybeExports ->
T_Body ->
T_Module
sem_Module_Module range_ name_ fileheaderpragmas_ exports_ body_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImodEntToOrig
_lhsImodInScope
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_bodyOpragmas :: (Set.Set Pragma.Pragma)
_lhsOfileHeaderPragmas :: (Set.Set Pragma.Pragma)
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOgathIdGam :: IdDefOccGam
_lhsOmainValExists :: Bool
_lhsOtopInstanceNmL :: ([HsName])
_fileheaderpragmasOgUniq :: UID
_fileheaderpragmasOidGam :: IdDefOccGam
_fileheaderpragmasOnmLev :: NmLev
_fileheaderpragmasOopts :: EHCOpts
_fileheaderpragmasOpatchEhNmInInstance :: PatchEhNmInInstance
_fileheaderpragmasOtopInstanceNmL :: ([HsName])
_fileheaderpragmasOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_exportsOfixityGam :: FixityGam
_exportsOgUniq :: UID
_exportsOidGam :: IdDefOccGam
_exportsOisMainMod :: Bool
_exportsOisTopMod :: Bool
_exportsOmoduleNm :: HsName
_exportsOnmLev :: NmLev
_exportsOopts :: EHCOpts
_exportsOpatchEhNmInInstance :: PatchEhNmInInstance
_exportsOtopInstanceNmL :: ([HsName])
_exportsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_bodyOfixityGam :: FixityGam
_bodyOgUniq :: UID
_bodyOidGam :: IdDefOccGam
_bodyOisMainMod :: Bool
_bodyOisTopMod :: Bool
_bodyOmodEntToOrig :: ModEntRngMp
_bodyOmodInScope :: ModEntDomMp
_bodyOmoduleNm :: HsName
_bodyOnmLev :: NmLev
_bodyOopts :: EHCOpts
_bodyOpatchEhNmInInstance :: PatchEhNmInInstance
_bodyOtopInstanceNmL :: ([HsName])
_bodyOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_fileheaderpragmasIerrSq :: ErrSq
_fileheaderpragmasIgUniq :: UID
_fileheaderpragmasIgathPragmas :: (Set.Set Pragma.Pragma)
_fileheaderpragmasIidUseOccGam :: IdUseOccGam
_fileheaderpragmasIpp :: PP_Doc
_fileheaderpragmasIppWrap :: (PP_Doc -> PP_Doc)
_fileheaderpragmasItopInstanceNmL :: ([HsName])
_fileheaderpragmasItrpp :: TrPP
_fileheaderpragmasIundefOccGam :: IdUseOccGam
_exportsIerrSq :: ErrSq
_exportsIgUniq :: UID
_exportsIgathFixityGam :: FixityGam
_exportsIidUseOccGam :: IdUseOccGam
_exportsIpp :: PP_Doc
_exportsIppWrap :: (PP_Doc -> PP_Doc)
_exportsItopInstanceNmL :: ([HsName])
_exportsItrpp :: TrPP
_exportsIundefOccGam :: IdUseOccGam
_bodyIeh :: (EH.Expr)
_bodyIerrSq :: ErrSq
_bodyIextraModImpL :: ([ModImp])
_bodyIgUniq :: UID
_bodyIgathFixityGam :: FixityGam
_bodyIgathIdGam :: IdDefOccGam
_bodyIidUseOccGam :: IdUseOccGam
_bodyImainValExists :: Bool
_bodyIpp :: PP_Doc
_bodyIppWrap :: (PP_Doc -> PP_Doc)
_bodyItopInstanceNmL :: ([HsName])
_bodyItrpp :: TrPP
_bodyIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 27, column 9)
_fileHeaderPragmas =
_fileheaderpragmasIgathPragmas
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 27, column 9)
_opts =
fst $ ehcOptUpdateWithPragmas _fileHeaderPragmas _lhsIopts
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 3, column 9)
_errUndef =
let ns = [ (ioccNm o >#< ppParens (ioccKind o),Just (map (\o -> (uoccRange o,Nothing)) os))
| (o,os) <- gamToAssocDupL _bodyIundefOccGam, not $ hsnIsProd $ ioccNm $ o
]
in (if null ns then [] else [rngLift range_ mkErr_NamesNotIntrod' "" ns])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 16, column 9)
_errModName =
case name_ of
Just n | n /= _lhsImoduleNm && not _lhsIisTopMod
-> [rngLift range_ Err_ModNameMismatch _lhsImoduleNm n]
_ -> []
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 5, column 9)
_lhsOerrSq =
Seq.firstNotEmpty [Seq.fromList _errUndef,Seq.fromList _errModName,_bodyIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 316, column 9)
_bodyOpragmas =
_fileHeaderPragmas
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 2, column 43)
_lhsOfileHeaderPragmas =
_fileHeaderPragmas
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_exportsIgathFixityGam `gamAddGam` _bodyIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_fileheaderpragmasIidUseOccGam `gamAddGam` _exportsIidUseOccGam `gamAddGam` _bodyIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_fileheaderpragmasIpp >-< _exportsIpp >-< _bodyIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_fileheaderpragmasIppWrap . _exportsIppWrap . _bodyIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_fileheaderpragmasItrpp >< _exportsItrpp >< _bodyItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_fileheaderpragmasIundefOccGam `gamUnion` _exportsIundefOccGam `gamUnion` _bodyIundefOccGam
-- copy rule (up)
_lhsOeh =
_bodyIeh
-- copy rule (up)
_lhsOgUniq =
_bodyIgUniq
-- copy rule (up)
_lhsOgathIdGam =
_bodyIgathIdGam
-- copy rule (up)
_lhsOmainValExists =
_bodyImainValExists
-- copy rule (up)
_lhsOtopInstanceNmL =
_bodyItopInstanceNmL
-- copy rule (down)
_fileheaderpragmasOgUniq =
_lhsIgUniq
-- copy rule (down)
_fileheaderpragmasOidGam =
_lhsIidGam
-- copy rule (down)
_fileheaderpragmasOnmLev =
_lhsInmLev
-- copy rule (from local)
_fileheaderpragmasOopts =
_opts
-- copy rule (down)
_fileheaderpragmasOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_fileheaderpragmasOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_fileheaderpragmasOtr =
_lhsItr
-- copy rule (down)
_exportsOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_exportsOgUniq =
_fileheaderpragmasIgUniq
-- copy rule (down)
_exportsOidGam =
_lhsIidGam
-- copy rule (down)
_exportsOisMainMod =
_lhsIisMainMod
-- copy rule (down)
_exportsOisTopMod =
_lhsIisTopMod
-- copy rule (down)
_exportsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_exportsOnmLev =
_lhsInmLev
-- copy rule (from local)
_exportsOopts =
_opts
-- copy rule (down)
_exportsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_exportsOtopInstanceNmL =
_fileheaderpragmasItopInstanceNmL
-- copy rule (down)
_exportsOtr =
_lhsItr
-- copy rule (down)
_bodyOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_bodyOgUniq =
_exportsIgUniq
-- copy rule (down)
_bodyOidGam =
_lhsIidGam
-- copy rule (down)
_bodyOisMainMod =
_lhsIisMainMod
-- copy rule (down)
_bodyOisTopMod =
_lhsIisTopMod
-- copy rule (down)
_bodyOmodEntToOrig =
_lhsImodEntToOrig
-- copy rule (down)
_bodyOmodInScope =
_lhsImodInScope
-- copy rule (down)
_bodyOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_bodyOnmLev =
_lhsInmLev
-- copy rule (from local)
_bodyOopts =
_opts
-- copy rule (down)
_bodyOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_bodyOtopInstanceNmL =
_exportsItopInstanceNmL
-- copy rule (down)
_bodyOtr =
_lhsItr
( _fileheaderpragmasIerrSq,_fileheaderpragmasIgUniq,_fileheaderpragmasIgathPragmas,_fileheaderpragmasIidUseOccGam,_fileheaderpragmasIpp,_fileheaderpragmasIppWrap,_fileheaderpragmasItopInstanceNmL,_fileheaderpragmasItrpp,_fileheaderpragmasIundefOccGam) =
fileheaderpragmas_ _fileheaderpragmasOgUniq _fileheaderpragmasOidGam _fileheaderpragmasOnmLev _fileheaderpragmasOopts _fileheaderpragmasOpatchEhNmInInstance _fileheaderpragmasOtopInstanceNmL _fileheaderpragmasOtr
( _exportsIerrSq,_exportsIgUniq,_exportsIgathFixityGam,_exportsIidUseOccGam,_exportsIpp,_exportsIppWrap,_exportsItopInstanceNmL,_exportsItrpp,_exportsIundefOccGam) =
exports_ _exportsOfixityGam _exportsOgUniq _exportsOidGam _exportsOisMainMod _exportsOisTopMod _exportsOmoduleNm _exportsOnmLev _exportsOopts _exportsOpatchEhNmInInstance _exportsOtopInstanceNmL _exportsOtr
( _bodyIeh,_bodyIerrSq,_bodyIextraModImpL,_bodyIgUniq,_bodyIgathFixityGam,_bodyIgathIdGam,_bodyIidUseOccGam,_bodyImainValExists,_bodyIpp,_bodyIppWrap,_bodyItopInstanceNmL,_bodyItrpp,_bodyIundefOccGam) =
body_ _bodyOfixityGam _bodyOgUniq _bodyOidGam _bodyOisMainMod _bodyOisTopMod _bodyOmodEntToOrig _bodyOmodInScope _bodyOmoduleNm _bodyOnmLev _bodyOopts _bodyOpatchEhNmInInstance _bodyOpragmas _bodyOtopInstanceNmL _bodyOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOfileHeaderPragmas,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathIdGam,_lhsOidUseOccGam,_lhsOmainValExists,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Pattern -----------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.PatExpr
errSq : ErrSq
idDefOccGam : IdDefOccGam
idOccDefs : [IdOcc]
idUseOccGam : IdUseOccGam
isVar : Bool
mbTopRefname : Maybe HsName
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Literal:
child range : {Range}
child sign : {Int}
child literal : Literal
visit 0:
local eqrefname : _
local idUseOccGamEq : _
local errIdUseEq : _
local litnames : _
local litrefname : _
local litrefnames : _
local idUseOccGam : _
local errIdUse : _
local eqclassrefname : _
local idUseOccGamCls : _
local errIdUseCls : _
local errSq : _
local isAsPred : _
alternative Variable:
child range : {Range}
child name : {Name}
visit 0:
local idDefOccGam : _
local refname : _
local isWildcard : _
local idOccDef : _
local idOccDefsNoWildcard : _
local idOccDefs : _
local pp : _
local isAsPred : _
alternative Constructor:
child range : {Range}
child name : {Name}
child patterns : Patterns
visit 0:
local refname : _
local idUseOccGam : _
local errIdUse : _
local conNm : _
local errSq : _
local pp : _
local isAsPred : _
alternative Parenthesized:
child range : {Range}
child pattern : Pattern
visit 0:
local pp : _
local isAsPred : _
alternative As:
child range : {Range}
child name : {Name}
child pattern : Pattern
visit 0:
local idDefOccGam : _
local refname : _
local isWildcard : _
local idOccDef : _
local idOccDefsNoWildcard : _
local idOccDefs : _
local pp : _
local isAsPred : _
alternative Wildcard:
child range : {Range}
visit 0:
local pp : _
local isAsPred : _
alternative Tuple:
child range : {Range}
child arity : {Int}
child patterns : Patterns
visit 0:
local errArity : _
local errSq : _
local pp : _
local isAsPred : _
alternative Annotate:
child range : {Range}
child annotation : PatternAnnotation
child pattern : Pattern
visit 0:
local eh : _
local isAsPred : _
alternative Typed:
child range : {Range}
child pattern : Pattern
child type : Type
visit 0:
local idDefOccGamType : _
local pp : _
local isAsPred : _
local doGenVarWild : _
alternative InfixConstructor:
child range : {Range}
child leftPattern : Pattern
child constructorOperator : {Name}
child rightPattern : Pattern
visit 0:
local refname : _
local idUseOccGam : _
local errIdUse : _
local conNm : _
local errSq : _
local pp : _
local isAsPred : _
alternative List:
child range : {Range}
child patterns : Patterns
visit 0:
local refnames : _
local idUseOccGam : _
local errIdUse : _
local errSq : _
local pp : _
local isAsPred : _
alternative Record:
child range : {Range}
child name : {Name}
child recordPatternBindings : RecordPatternBindings
visit 0:
local refname : _
local idUseOccGam : _
local errIdUse : _
local conNm : _
local errSq : _
local pp : _
local isAsPred : _
alternative RowRecordBinding:
child range : {Range}
child pattern : Pattern
child rowRecordPattternBindings : RowRecordPatternBindings
visit 0:
local pp : _
local isAsPred : _
alternative RowRecordEmpty:
child range : {Range}
visit 0:
local pp : _
local isAsPred : _
alternative Irrefutable:
child range : {Range}
child pattern : Pattern
visit 0:
local pp : _
local isAsPred : _
alternative Bang:
child range : {Range}
child pattern : Pattern
visit 0:
local pp : _
local isAsPred : _
-}
-- cata
sem_Pattern :: Pattern ->
T_Pattern
sem_Pattern (Pattern_Literal _range _sign _literal) =
(sem_Pattern_Literal _range _sign (sem_Literal _literal))
sem_Pattern (Pattern_Variable _range _name) =
(sem_Pattern_Variable _range _name)
sem_Pattern (Pattern_Constructor _range _name _patterns) =
(sem_Pattern_Constructor _range _name (sem_Patterns _patterns))
sem_Pattern (Pattern_Parenthesized _range _pattern) =
(sem_Pattern_Parenthesized _range (sem_Pattern _pattern))
sem_Pattern (Pattern_As _range _name _pattern) =
(sem_Pattern_As _range _name (sem_Pattern _pattern))
sem_Pattern (Pattern_Wildcard _range) =
(sem_Pattern_Wildcard _range)
sem_Pattern (Pattern_Tuple _range _arity _patterns) =
(sem_Pattern_Tuple _range _arity (sem_Patterns _patterns))
sem_Pattern (Pattern_Annotate _range _annotation _pattern) =
(sem_Pattern_Annotate _range (sem_PatternAnnotation _annotation) (sem_Pattern _pattern))
sem_Pattern (Pattern_Typed _range _pattern _type) =
(sem_Pattern_Typed _range (sem_Pattern _pattern) (sem_Type _type))
sem_Pattern (Pattern_InfixConstructor _range _leftPattern _constructorOperator _rightPattern) =
(sem_Pattern_InfixConstructor _range (sem_Pattern _leftPattern) _constructorOperator (sem_Pattern _rightPattern))
sem_Pattern (Pattern_List _range _patterns) =
(sem_Pattern_List _range (sem_Patterns _patterns))
sem_Pattern (Pattern_Record _range _name _recordPatternBindings) =
(sem_Pattern_Record _range _name (sem_RecordPatternBindings _recordPatternBindings))
sem_Pattern (Pattern_RowRecordBinding _range _pattern _rowRecordPattternBindings) =
(sem_Pattern_RowRecordBinding _range (sem_Pattern _pattern) (sem_RowRecordPatternBindings _rowRecordPattternBindings))
sem_Pattern (Pattern_RowRecordEmpty _range) =
(sem_Pattern_RowRecordEmpty _range)
sem_Pattern (Pattern_Irrefutable _range _pattern) =
(sem_Pattern_Irrefutable _range (sem_Pattern _pattern))
sem_Pattern (Pattern_Bang _range _pattern) =
(sem_Pattern_Bang _range (sem_Pattern _pattern))
-- semantic domain
type T_Pattern = FixityGam ->
UID ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (EH.PatExpr),ErrSq,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,Bool,(Maybe HsName),PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Pattern_Literal :: Range ->
Int ->
T_Literal ->
T_Pattern
sem_Pattern_Literal range_ sign_ literal_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOmbTopRefname :: (Maybe HsName)
_lhsOeh :: (EH.PatExpr)
_lhsOisVar :: Bool
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_literalOgUniq :: UID
_literalOidGam :: IdDefOccGam
_literalOnmLev :: NmLev
_literalOopts :: EHCOpts
_literalOpatchEhNmInInstance :: PatchEhNmInInstance
_literalOtopInstanceNmL :: ([HsName])
_literalOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_literalIeh :: Literal
_literalIerrSq :: ErrSq
_literalIgUniq :: UID
_literalIidUseOccGam :: IdUseOccGam
_literalIpp :: PP_Doc
_literalIppWrap :: (PP_Doc -> PP_Doc)
_literalItopInstanceNmL :: ([HsName])
_literalItrpp :: TrPP
_literalIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 596, column 29)
(_eqrefname,_,_idUseOccGamEq,_errIdUseEq) =
mkUseOccGam _lhsIopts _lhsIidGam [hsnClassEqFldEq] IdOcc_Val IdAsp_Val_Var range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 596, column 9)
_litnames =
litNames _lhsIopts _literalIeh True sign_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 599, column 29)
(_litrefname,_litrefnames,_idUseOccGam,_errIdUse) =
mkUseOccGam' _lhsIopts _lhsIidGam _litnames range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 601, column 29)
(_eqclassrefname,_,_idUseOccGamCls,_errIdUseCls) =
mkUseOccGam _lhsIopts _lhsIidGam [hsnClassEq] IdOcc_Class IdAsp_Class_Class range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 603, column 9)
_lhsOidUseOccGam =
gamUnions
[ _idUseOccGam, _idUseOccGamEq
, _idUseOccGamCls
, _literalIidUseOccGam
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 236, column 9)
_lhsOmbTopRefname =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 49, column 9)
_errSq =
Seq.unions [ Seq.fromList _errIdUse, Seq.fromList _errIdUseEq
, Seq.fromList _errIdUseCls
, _literalIerrSq
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 802, column 9)
_lhsOeh =
let
mkc r = \c -> mke r (rngLift r EH.Expr_CConst c, Just $ SrcConst_Char c)
mke r = uncurry (rngLift r EH.PatExpr_Expr)
in case _literalIeh of
Literal_Char r s -> mkc r $ head s
Literal_Int r b s -> mke r (ehExpLitInt r b s sign_ _litrefnames)
Literal_String r s
| ehcOptOverloadedStrings _lhsIopts -> mke r (ehExpLitString _lhsIopts r s _litrefnames)
| otherwise -> foldr (\c p -> ehPatConApp r (_litrefnames !! 0) [mkc r c,p]) (ehPatConApp r (_litrefnames !! 1) []) s
Literal_Float r s -> mke r (ehExpLitFloat r s sign_ _litrefnames)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 275, column 9)
_lhsOisVar =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_literalIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_literalIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_literalItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_literalIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_literalIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_literalItopInstanceNmL
-- copy rule (down)
_literalOgUniq =
_lhsIgUniq
-- copy rule (down)
_literalOidGam =
_lhsIidGam
-- copy rule (down)
_literalOnmLev =
_lhsInmLev
-- copy rule (down)
_literalOopts =
_lhsIopts
-- copy rule (down)
_literalOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_literalOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_literalOtr =
_lhsItr
( _literalIeh,_literalIerrSq,_literalIgUniq,_literalIidUseOccGam,_literalIpp,_literalIppWrap,_literalItopInstanceNmL,_literalItrpp,_literalIundefOccGam) =
literal_ _literalOgUniq _literalOidGam _literalOnmLev _literalOopts _literalOpatchEhNmInInstance _literalOtopInstanceNmL _literalOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Pattern_Variable :: Range ->
Name ->
T_Pattern
sem_Pattern_Variable range_ name_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOmbTopRefname :: (Maybe HsName)
_lhsOeh :: (EH.PatExpr)
_lhsOisVar :: Bool
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 281, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev range_ IdAsp_Val_Var _idOccDefsNoWildcard
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 54, column 9)
_refname =
hsnSetLevQual _lhsInmLev _lhsImoduleNm name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 96, column 9)
_isWildcard =
hsnIsWild name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 172, column 9)
_idOccDef =
IdOcc _refname IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 172, column 9)
_idOccDefsNoWildcard =
if _isWildcard then [] else [_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 176, column 9)
_idOccDefs =
_idOccDefsNoWildcard
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 234, column 9)
_lhsOmbTopRefname =
if _isWildcard then Just _refname else Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 341, column 9)
_pp =
pp name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 813, column 9)
_lhsOeh =
rngLift range_ EH.PatExpr_Var
(_lhsIpatchEhNmInInstance _refname)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 271, column 9)
_lhsOisVar =
True
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Pattern_Constructor :: Range ->
Name ->
T_Patterns ->
T_Pattern
sem_Pattern_Constructor range_ name_ patterns_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOmbTopRefname :: (Maybe HsName)
_lhsOeh :: (EH.PatExpr)
_lhsOisVar :: Bool
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternsOfixityGam :: FixityGam
_patternsOgUniq :: UID
_patternsOidGam :: IdDefOccGam
_patternsOmoduleNm :: HsName
_patternsOnmLev :: NmLev
_patternsOopts :: EHCOpts
_patternsOpatchEhNmInInstance :: PatchEhNmInInstance
_patternsOtopInstanceNmL :: ([HsName])
_patternsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternsIeh :: ([EH.PatExpr])
_patternsIerrSq :: ErrSq
_patternsIgUniq :: UID
_patternsIidDefOccGam :: IdDefOccGam
_patternsIidOccDefs :: ([IdOcc])
_patternsIidUseOccGam :: IdUseOccGam
_patternsIpp :: PP_Doc
_patternsIppL :: ([PP_Doc])
_patternsIppWrap :: (PP_Doc -> PP_Doc)
_patternsItopInstanceNmL :: ([HsName])
_patternsItrpp :: TrPP
_patternsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 638, column 29)
(_refname,_,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [_conNm] IdOcc_Val IdAsp_Val_Con range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 641, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_patternsIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 226, column 9)
_conNm =
name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 236, column 9)
_lhsOmbTopRefname =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 45, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUse, _patternsIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 343, column 9)
_pp =
name_ >#< ppSpaces _patternsIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 816, column 9)
_lhsOeh =
ehPatConApp range_ _refname _patternsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 275, column 9)
_lhsOisVar =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_patternsIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_patternsIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_patternsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_patternsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_patternsIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_patternsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_patternsItopInstanceNmL
-- copy rule (down)
_patternsOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_patternsOgUniq =
_lhsIgUniq
-- copy rule (down)
_patternsOidGam =
_lhsIidGam
-- copy rule (down)
_patternsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_patternsOnmLev =
_lhsInmLev
-- copy rule (down)
_patternsOopts =
_lhsIopts
-- copy rule (down)
_patternsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_patternsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_patternsOtr =
_lhsItr
( _patternsIeh,_patternsIerrSq,_patternsIgUniq,_patternsIidDefOccGam,_patternsIidOccDefs,_patternsIidUseOccGam,_patternsIpp,_patternsIppL,_patternsIppWrap,_patternsItopInstanceNmL,_patternsItrpp,_patternsIundefOccGam) =
patterns_ _patternsOfixityGam _patternsOgUniq _patternsOidGam _patternsOmoduleNm _patternsOnmLev _patternsOopts _patternsOpatchEhNmInInstance _patternsOtopInstanceNmL _patternsOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Pattern_Parenthesized :: Range ->
T_Pattern ->
T_Pattern
sem_Pattern_Parenthesized range_ pattern_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOmbTopRefname :: (Maybe HsName)
_lhsOeh :: (EH.PatExpr)
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOisVar :: Bool
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_patternOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternIeh :: (EH.PatExpr)
_patternIerrSq :: ErrSq
_patternIgUniq :: UID
_patternIidDefOccGam :: IdDefOccGam
_patternIidOccDefs :: ([IdOcc])
_patternIidUseOccGam :: IdUseOccGam
_patternIisVar :: Bool
_patternImbTopRefname :: (Maybe HsName)
_patternIpp :: PP_Doc
_patternIppWrap :: (PP_Doc -> PP_Doc)
_patternItopInstanceNmL :: ([HsName])
_patternItrpp :: TrPP
_patternIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 236, column 9)
_lhsOmbTopRefname =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 345, column 9)
_pp =
ppParens _patternIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 818, column 9)
_lhsOeh =
rngLift range_ EH.PatExpr_Parens _patternIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_patternIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_patternIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_patternIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_patternIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_patternIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_patternItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_patternIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_patternIgUniq
-- copy rule (up)
_lhsOisVar =
_patternIisVar
-- copy rule (up)
_lhsOtopInstanceNmL =
_patternItopInstanceNmL
-- copy rule (down)
_patternOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_patternOgUniq =
_lhsIgUniq
-- copy rule (down)
_patternOidGam =
_lhsIidGam
-- copy rule (down)
_patternOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_patternOnmLev =
_lhsInmLev
-- copy rule (down)
_patternOopts =
_lhsIopts
-- copy rule (down)
_patternOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_patternOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_patternOtr =
_lhsItr
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternItrpp,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL _patternOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Pattern_As :: Range ->
Name ->
T_Pattern ->
T_Pattern
sem_Pattern_As range_ name_ pattern_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidDefOccGam :: IdDefOccGam
_lhsOmbTopRefname :: (Maybe HsName)
_lhsOeh :: (EH.PatExpr)
_lhsOerrSq :: ErrSq
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOisVar :: Bool
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_patternOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternIeh :: (EH.PatExpr)
_patternIerrSq :: ErrSq
_patternIgUniq :: UID
_patternIidDefOccGam :: IdDefOccGam
_patternIidOccDefs :: ([IdOcc])
_patternIidUseOccGam :: IdUseOccGam
_patternIisVar :: Bool
_patternImbTopRefname :: (Maybe HsName)
_patternIpp :: PP_Doc
_patternIppWrap :: (PP_Doc -> PP_Doc)
_patternItopInstanceNmL :: ([HsName])
_patternItrpp :: TrPP
_patternIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 281, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev range_ IdAsp_Val_Var _idOccDefsNoWildcard
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 283, column 9)
_lhsOidDefOccGam =
_idDefOccGam `gamAddGam` _patternIidDefOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 54, column 9)
_refname =
hsnSetLevQual _lhsInmLev _lhsImoduleNm name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 96, column 9)
_isWildcard =
hsnIsWild name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 172, column 9)
_idOccDef =
IdOcc _refname IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 172, column 9)
_idOccDefsNoWildcard =
if _isWildcard then [] else [_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 178, column 9)
_idOccDefs =
_idOccDefsNoWildcard ++ _patternIidOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 234, column 9)
_lhsOmbTopRefname =
if _isWildcard then Just _refname else Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 349, column 9)
_pp =
name_ >|< "@" >|< _patternIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 824, column 9)
_lhsOeh =
rngLift range_ EH.PatExpr_VarAs
(_lhsIpatchEhNmInInstance _refname)
_patternIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_patternIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_patternIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_patternIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_patternItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_patternIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_patternIgUniq
-- copy rule (up)
_lhsOisVar =
_patternIisVar
-- copy rule (up)
_lhsOtopInstanceNmL =
_patternItopInstanceNmL
-- copy rule (down)
_patternOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_patternOgUniq =
_lhsIgUniq
-- copy rule (down)
_patternOidGam =
_lhsIidGam
-- copy rule (down)
_patternOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_patternOnmLev =
_lhsInmLev
-- copy rule (down)
_patternOopts =
_lhsIopts
-- copy rule (down)
_patternOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_patternOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_patternOtr =
_lhsItr
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternItrpp,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL _patternOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Pattern_Wildcard :: Range ->
T_Pattern
sem_Pattern_Wildcard range_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOmbTopRefname :: (Maybe HsName)
_lhsOeh :: (EH.PatExpr)
_lhsOisVar :: Bool
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 236, column 9)
_lhsOmbTopRefname =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 351, column 9)
_pp =
pp hsnWild
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 828, column 9)
_lhsOeh =
rngLift range_ EH.PatExpr_Var hsnWild
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 275, column 9)
_lhsOisVar =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Pattern_Tuple :: Range ->
Int ->
T_Patterns ->
T_Pattern
sem_Pattern_Tuple range_ arity_ patterns_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOmbTopRefname :: (Maybe HsName)
_lhsOeh :: (EH.PatExpr)
_lhsOisVar :: Bool
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternsOfixityGam :: FixityGam
_patternsOgUniq :: UID
_patternsOidGam :: IdDefOccGam
_patternsOmoduleNm :: HsName
_patternsOnmLev :: NmLev
_patternsOopts :: EHCOpts
_patternsOpatchEhNmInInstance :: PatchEhNmInInstance
_patternsOtopInstanceNmL :: ([HsName])
_patternsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternsIeh :: ([EH.PatExpr])
_patternsIerrSq :: ErrSq
_patternsIgUniq :: UID
_patternsIidDefOccGam :: IdDefOccGam
_patternsIidOccDefs :: ([IdOcc])
_patternsIidUseOccGam :: IdUseOccGam
_patternsIpp :: PP_Doc
_patternsIppL :: ([PP_Doc])
_patternsIppWrap :: (PP_Doc -> PP_Doc)
_patternsItopInstanceNmL :: ([HsName])
_patternsItrpp :: TrPP
_patternsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 236, column 9)
_lhsOmbTopRefname =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 10, column 9)
_errArity =
if arity_ == length _patternsIeh
then []
else [rngLift range_ Err_PatArity2 "pat " _pp arity_]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 56, column 9)
_errSq =
Seq.unions [Seq.fromList _errArity, _patternsIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 347, column 9)
_pp =
ppParensCommas' $ _patternsIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 820, column 9)
_lhsOeh =
foldl (\eh (n,p) -> ehRowRecPatExprUpd range_ (Just n) (rngLift range_ EH.RecPatExpr_Ext) p eh)
(rngLift range_ EH.PatExpr_Rec $ rngLift range_ EH.RecPatExpr_Empty)
$ zip positionalFldNames _patternsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 275, column 9)
_lhsOisVar =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_patternsIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_patternsIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_patternsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_patternsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_patternsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_patternsIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_patternsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_patternsItopInstanceNmL
-- copy rule (down)
_patternsOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_patternsOgUniq =
_lhsIgUniq
-- copy rule (down)
_patternsOidGam =
_lhsIidGam
-- copy rule (down)
_patternsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_patternsOnmLev =
_lhsInmLev
-- copy rule (down)
_patternsOopts =
_lhsIopts
-- copy rule (down)
_patternsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_patternsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_patternsOtr =
_lhsItr
( _patternsIeh,_patternsIerrSq,_patternsIgUniq,_patternsIidDefOccGam,_patternsIidOccDefs,_patternsIidUseOccGam,_patternsIpp,_patternsIppL,_patternsIppWrap,_patternsItopInstanceNmL,_patternsItrpp,_patternsIundefOccGam) =
patterns_ _patternsOfixityGam _patternsOgUniq _patternsOidGam _patternsOmoduleNm _patternsOnmLev _patternsOopts _patternsOpatchEhNmInInstance _patternsOtopInstanceNmL _patternsOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Pattern_Annotate :: Range ->
T_PatternAnnotation ->
T_Pattern ->
T_Pattern
sem_Pattern_Annotate range_ annotation_ pattern_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOmbTopRefname :: (Maybe HsName)
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.PatExpr)
_lhsOgUniq :: UID
_lhsOisVar :: Bool
_lhsOtopInstanceNmL :: ([HsName])
_annotationOfixityGam :: FixityGam
_annotationOgUniq :: UID
_annotationOidGam :: IdDefOccGam
_annotationOmoduleNm :: HsName
_annotationOnmLev :: NmLev
_annotationOopts :: EHCOpts
_annotationOpatchEhNmInInstance :: PatchEhNmInInstance
_annotationOtopInstanceNmL :: ([HsName])
_annotationOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_patternOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_annotationIeh :: (EH.PatExprAnn)
_annotationIerrSq :: ErrSq
_annotationIgUniq :: UID
_annotationIidDefOccGam :: IdDefOccGam
_annotationIidOccDefs :: ([IdOcc])
_annotationIidUseOccGam :: IdUseOccGam
_annotationIpp :: PP_Doc
_annotationIppWrap :: (PP_Doc -> PP_Doc)
_annotationItopInstanceNmL :: ([HsName])
_annotationItrpp :: TrPP
_annotationIundefOccGam :: IdUseOccGam
_patternIeh :: (EH.PatExpr)
_patternIerrSq :: ErrSq
_patternIgUniq :: UID
_patternIidDefOccGam :: IdDefOccGam
_patternIidOccDefs :: ([IdOcc])
_patternIidUseOccGam :: IdUseOccGam
_patternIisVar :: Bool
_patternImbTopRefname :: (Maybe HsName)
_patternIpp :: PP_Doc
_patternIppWrap :: (PP_Doc -> PP_Doc)
_patternItopInstanceNmL :: ([HsName])
_patternItrpp :: TrPP
_patternIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 236, column 9)
_lhsOmbTopRefname =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 830, column 17)
_eh =
rngLift range_ EH.PatExpr_Ann _annotationIeh _patternIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_annotationIerrSq `Seq.union` _patternIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_annotationIidDefOccGam `gamAddGam` _patternIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_annotationIidOccDefs ++ _patternIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_annotationIidUseOccGam `gamAddGam` _patternIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_annotationIpp >-< _patternIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_annotationIppWrap . _patternIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_annotationItrpp >< _patternItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_annotationIundefOccGam `gamUnion` _patternIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (up)
_lhsOgUniq =
_patternIgUniq
-- copy rule (up)
_lhsOisVar =
_patternIisVar
-- copy rule (up)
_lhsOtopInstanceNmL =
_patternItopInstanceNmL
-- copy rule (down)
_annotationOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_annotationOgUniq =
_lhsIgUniq
-- copy rule (down)
_annotationOidGam =
_lhsIidGam
-- copy rule (down)
_annotationOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_annotationOnmLev =
_lhsInmLev
-- copy rule (down)
_annotationOopts =
_lhsIopts
-- copy rule (down)
_annotationOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_annotationOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_annotationOtr =
_lhsItr
-- copy rule (down)
_patternOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_patternOgUniq =
_annotationIgUniq
-- copy rule (down)
_patternOidGam =
_lhsIidGam
-- copy rule (down)
_patternOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_patternOnmLev =
_lhsInmLev
-- copy rule (down)
_patternOopts =
_lhsIopts
-- copy rule (down)
_patternOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_patternOtopInstanceNmL =
_annotationItopInstanceNmL
-- copy rule (down)
_patternOtr =
_lhsItr
( _annotationIeh,_annotationIerrSq,_annotationIgUniq,_annotationIidDefOccGam,_annotationIidOccDefs,_annotationIidUseOccGam,_annotationIpp,_annotationIppWrap,_annotationItopInstanceNmL,_annotationItrpp,_annotationIundefOccGam) =
annotation_ _annotationOfixityGam _annotationOgUniq _annotationOidGam _annotationOmoduleNm _annotationOnmLev _annotationOopts _annotationOpatchEhNmInInstance _annotationOtopInstanceNmL _annotationOtr
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternItrpp,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL _patternOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Pattern_Typed :: Range ->
T_Pattern ->
T_Type ->
T_Pattern
sem_Pattern_Typed range_ pattern_ type_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _typeOidGam :: IdDefOccGam
_lhsOmbTopRefname :: (Maybe HsName)
_typeOnmLev :: NmLev
_lhsOeh :: (EH.PatExpr)
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOisVar :: Bool
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_patternOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOisAsPred :: Bool
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternIeh :: (EH.PatExpr)
_patternIerrSq :: ErrSq
_patternIgUniq :: UID
_patternIidDefOccGam :: IdDefOccGam
_patternIidOccDefs :: ([IdOcc])
_patternIidUseOccGam :: IdUseOccGam
_patternIisVar :: Bool
_patternImbTopRefname :: (Maybe HsName)
_patternIpp :: PP_Doc
_patternIppWrap :: (PP_Doc -> PP_Doc)
_patternItopInstanceNmL :: ([HsName])
_patternItrpp :: TrPP
_patternIundefOccGam :: IdUseOccGam
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 285, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _lhsInmLev range_ _typeIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 429, column 9)
_typeOidGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 236, column 9)
_lhsOmbTopRefname =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 56, column 9)
_typeOnmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 354, column 9)
_pp =
_patternIpp >#< "::" >#< _typeIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 832, column 9)
_lhsOeh =
rngLift range_ EH.PatExpr_TypeAs _typeIeh _patternIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 225, column 9)
_doGenVarWild =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_patternIerrSq `Seq.union` _typeIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_patternIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_patternIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_patternIidUseOccGam `gamAddGam` _typeIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_patternIppWrap . _typeIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_patternItrpp >< _typeItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_patternIundefOccGam `gamUnion` _typeIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_typeIgUniq
-- copy rule (up)
_lhsOisVar =
_patternIisVar
-- copy rule (up)
_lhsOtopInstanceNmL =
_typeItopInstanceNmL
-- copy rule (down)
_patternOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_patternOgUniq =
_lhsIgUniq
-- copy rule (down)
_patternOidGam =
_lhsIidGam
-- copy rule (down)
_patternOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_patternOnmLev =
_lhsInmLev
-- copy rule (down)
_patternOopts =
_lhsIopts
-- copy rule (down)
_patternOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_patternOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_patternOtr =
_lhsItr
-- copy rule (from local)
_typeOdoGenVarWild =
_doGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_typeOgUniq =
_patternIgUniq
-- copy rule (from local)
_typeOisAsPred =
_isAsPred
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (down)
_typeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_typeOtopInstanceNmL =
_patternItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternItrpp,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL _patternOtr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Pattern_InfixConstructor :: Range ->
T_Pattern ->
Name ->
T_Pattern ->
T_Pattern
sem_Pattern_InfixConstructor range_ leftPattern_ constructorOperator_ rightPattern_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOmbTopRefname :: (Maybe HsName)
_lhsOeh :: (EH.PatExpr)
_lhsOisVar :: Bool
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_leftPatternOfixityGam :: FixityGam
_leftPatternOgUniq :: UID
_leftPatternOidGam :: IdDefOccGam
_leftPatternOmoduleNm :: HsName
_leftPatternOnmLev :: NmLev
_leftPatternOopts :: EHCOpts
_leftPatternOpatchEhNmInInstance :: PatchEhNmInInstance
_leftPatternOtopInstanceNmL :: ([HsName])
_leftPatternOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_rightPatternOfixityGam :: FixityGam
_rightPatternOgUniq :: UID
_rightPatternOidGam :: IdDefOccGam
_rightPatternOmoduleNm :: HsName
_rightPatternOnmLev :: NmLev
_rightPatternOopts :: EHCOpts
_rightPatternOpatchEhNmInInstance :: PatchEhNmInInstance
_rightPatternOtopInstanceNmL :: ([HsName])
_rightPatternOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_leftPatternIeh :: (EH.PatExpr)
_leftPatternIerrSq :: ErrSq
_leftPatternIgUniq :: UID
_leftPatternIidDefOccGam :: IdDefOccGam
_leftPatternIidOccDefs :: ([IdOcc])
_leftPatternIidUseOccGam :: IdUseOccGam
_leftPatternIisVar :: Bool
_leftPatternImbTopRefname :: (Maybe HsName)
_leftPatternIpp :: PP_Doc
_leftPatternIppWrap :: (PP_Doc -> PP_Doc)
_leftPatternItopInstanceNmL :: ([HsName])
_leftPatternItrpp :: TrPP
_leftPatternIundefOccGam :: IdUseOccGam
_rightPatternIeh :: (EH.PatExpr)
_rightPatternIerrSq :: ErrSq
_rightPatternIgUniq :: UID
_rightPatternIidDefOccGam :: IdDefOccGam
_rightPatternIidOccDefs :: ([IdOcc])
_rightPatternIidUseOccGam :: IdUseOccGam
_rightPatternIisVar :: Bool
_rightPatternImbTopRefname :: (Maybe HsName)
_rightPatternIpp :: PP_Doc
_rightPatternIppWrap :: (PP_Doc -> PP_Doc)
_rightPatternItopInstanceNmL :: ([HsName])
_rightPatternItrpp :: TrPP
_rightPatternIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 638, column 29)
(_refname,_,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [_conNm] IdOcc_Val IdAsp_Val_Con range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 643, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_leftPatternIidUseOccGam,_rightPatternIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 228, column 9)
_conNm =
constructorOperator_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 236, column 9)
_lhsOmbTopRefname =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 47, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUse, _leftPatternIerrSq, _rightPatternIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 356, column 9)
_pp =
_leftPatternIpp >#< constructorOperator_ >#< _rightPatternIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 834, column 9)
_lhsOeh =
ehPatConApp range_ _refname [_leftPatternIeh,_rightPatternIeh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 275, column 9)
_lhsOisVar =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_leftPatternIidDefOccGam `gamAddGam` _rightPatternIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_leftPatternIidOccDefs ++ _rightPatternIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_leftPatternIppWrap . _rightPatternIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_leftPatternItrpp >< _rightPatternItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_leftPatternIundefOccGam `gamUnion` _rightPatternIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_rightPatternIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_rightPatternItopInstanceNmL
-- copy rule (down)
_leftPatternOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_leftPatternOgUniq =
_lhsIgUniq
-- copy rule (down)
_leftPatternOidGam =
_lhsIidGam
-- copy rule (down)
_leftPatternOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_leftPatternOnmLev =
_lhsInmLev
-- copy rule (down)
_leftPatternOopts =
_lhsIopts
-- copy rule (down)
_leftPatternOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_leftPatternOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_leftPatternOtr =
_lhsItr
-- copy rule (down)
_rightPatternOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_rightPatternOgUniq =
_leftPatternIgUniq
-- copy rule (down)
_rightPatternOidGam =
_lhsIidGam
-- copy rule (down)
_rightPatternOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_rightPatternOnmLev =
_lhsInmLev
-- copy rule (down)
_rightPatternOopts =
_lhsIopts
-- copy rule (down)
_rightPatternOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_rightPatternOtopInstanceNmL =
_leftPatternItopInstanceNmL
-- copy rule (down)
_rightPatternOtr =
_lhsItr
( _leftPatternIeh,_leftPatternIerrSq,_leftPatternIgUniq,_leftPatternIidDefOccGam,_leftPatternIidOccDefs,_leftPatternIidUseOccGam,_leftPatternIisVar,_leftPatternImbTopRefname,_leftPatternIpp,_leftPatternIppWrap,_leftPatternItopInstanceNmL,_leftPatternItrpp,_leftPatternIundefOccGam) =
leftPattern_ _leftPatternOfixityGam _leftPatternOgUniq _leftPatternOidGam _leftPatternOmoduleNm _leftPatternOnmLev _leftPatternOopts _leftPatternOpatchEhNmInInstance _leftPatternOtopInstanceNmL _leftPatternOtr
( _rightPatternIeh,_rightPatternIerrSq,_rightPatternIgUniq,_rightPatternIidDefOccGam,_rightPatternIidOccDefs,_rightPatternIidUseOccGam,_rightPatternIisVar,_rightPatternImbTopRefname,_rightPatternIpp,_rightPatternIppWrap,_rightPatternItopInstanceNmL,_rightPatternItrpp,_rightPatternIundefOccGam) =
rightPattern_ _rightPatternOfixityGam _rightPatternOgUniq _rightPatternOidGam _rightPatternOmoduleNm _rightPatternOnmLev _rightPatternOopts _rightPatternOpatchEhNmInInstance _rightPatternOtopInstanceNmL _rightPatternOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Pattern_List :: Range ->
T_Patterns ->
T_Pattern
sem_Pattern_List range_ patterns_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOmbTopRefname :: (Maybe HsName)
_lhsOeh :: (EH.PatExpr)
_lhsOisVar :: Bool
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternsOfixityGam :: FixityGam
_patternsOgUniq :: UID
_patternsOidGam :: IdDefOccGam
_patternsOmoduleNm :: HsName
_patternsOnmLev :: NmLev
_patternsOopts :: EHCOpts
_patternsOpatchEhNmInInstance :: PatchEhNmInInstance
_patternsOtopInstanceNmL :: ([HsName])
_patternsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternsIeh :: ([EH.PatExpr])
_patternsIerrSq :: ErrSq
_patternsIgUniq :: UID
_patternsIidDefOccGam :: IdDefOccGam
_patternsIidOccDefs :: ([IdOcc])
_patternsIidUseOccGam :: IdUseOccGam
_patternsIpp :: PP_Doc
_patternsIppL :: ([PP_Doc])
_patternsIppWrap :: (PP_Doc -> PP_Doc)
_patternsItopInstanceNmL :: ([HsName])
_patternsItrpp :: TrPP
_patternsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 645, column 29)
(_,_refnames,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [hsnDataListAltCons,hsnDataListAltNil] IdOcc_Val IdAsp_Val_Con range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 647, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_patternsIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 236, column 9)
_lhsOmbTopRefname =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 45, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUse, _patternsIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 358, column 9)
_pp =
ppBracketsCommas _patternsIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 836, column 9)
_lhsOeh =
foldr (\l r -> ehPatConApp range_ (_refnames !! 0) [l,r]) (appCon (_refnames !! 1)) _patternsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 275, column 9)
_lhsOisVar =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_patternsIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_patternsIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_patternsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_patternsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_patternsIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_patternsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_patternsItopInstanceNmL
-- copy rule (down)
_patternsOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_patternsOgUniq =
_lhsIgUniq
-- copy rule (down)
_patternsOidGam =
_lhsIidGam
-- copy rule (down)
_patternsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_patternsOnmLev =
_lhsInmLev
-- copy rule (down)
_patternsOopts =
_lhsIopts
-- copy rule (down)
_patternsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_patternsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_patternsOtr =
_lhsItr
( _patternsIeh,_patternsIerrSq,_patternsIgUniq,_patternsIidDefOccGam,_patternsIidOccDefs,_patternsIidUseOccGam,_patternsIpp,_patternsIppL,_patternsIppWrap,_patternsItopInstanceNmL,_patternsItrpp,_patternsIundefOccGam) =
patterns_ _patternsOfixityGam _patternsOgUniq _patternsOidGam _patternsOmoduleNm _patternsOnmLev _patternsOopts _patternsOpatchEhNmInInstance _patternsOtopInstanceNmL _patternsOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Pattern_Record :: Range ->
Name ->
T_RecordPatternBindings ->
T_Pattern
sem_Pattern_Record range_ name_ recordPatternBindings_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOmbTopRefname :: (Maybe HsName)
_lhsOeh :: (EH.PatExpr)
_lhsOisVar :: Bool
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_recordPatternBindingsOfixityGam :: FixityGam
_recordPatternBindingsOgUniq :: UID
_recordPatternBindingsOidGam :: IdDefOccGam
_recordPatternBindingsOmoduleNm :: HsName
_recordPatternBindingsOnmLev :: NmLev
_recordPatternBindingsOopts :: EHCOpts
_recordPatternBindingsOpatchEhNmInInstance :: PatchEhNmInInstance
_recordPatternBindingsOtopInstanceNmL :: ([HsName])
_recordPatternBindingsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_recordPatternBindingsIeh :: ([EH.DataFieldPatExpr -> EH.DataFieldPatExpr])
_recordPatternBindingsIerrSq :: ErrSq
_recordPatternBindingsIgUniq :: UID
_recordPatternBindingsIidDefOccGam :: IdDefOccGam
_recordPatternBindingsIidOccDefs :: ([IdOcc])
_recordPatternBindingsIidUseOccGam :: IdUseOccGam
_recordPatternBindingsIpp :: PP_Doc
_recordPatternBindingsIppL :: ([PP_Doc])
_recordPatternBindingsIppWrap :: (PP_Doc -> PP_Doc)
_recordPatternBindingsItopInstanceNmL :: ([HsName])
_recordPatternBindingsItrpp :: TrPP
_recordPatternBindingsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 638, column 29)
(_refname,_,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [_conNm] IdOcc_Val IdAsp_Val_Con range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 649, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_recordPatternBindingsIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 226, column 9)
_conNm =
name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 236, column 9)
_lhsOmbTopRefname =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 54, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUse, _recordPatternBindingsIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 360, column 9)
_pp =
name_ >#< ppCurlysCommas' _recordPatternBindingsIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 838, column 9)
_lhsOeh =
rngLift range_ EH.PatExpr_DataFields $ foldl (flip ($)) (rngLift range_ EH.DataFieldPatExpr_Con _refname) _recordPatternBindingsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 275, column 9)
_lhsOisVar =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_recordPatternBindingsIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_recordPatternBindingsIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_recordPatternBindingsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_recordPatternBindingsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_recordPatternBindingsIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_recordPatternBindingsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_recordPatternBindingsItopInstanceNmL
-- copy rule (down)
_recordPatternBindingsOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_recordPatternBindingsOgUniq =
_lhsIgUniq
-- copy rule (down)
_recordPatternBindingsOidGam =
_lhsIidGam
-- copy rule (down)
_recordPatternBindingsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_recordPatternBindingsOnmLev =
_lhsInmLev
-- copy rule (down)
_recordPatternBindingsOopts =
_lhsIopts
-- copy rule (down)
_recordPatternBindingsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_recordPatternBindingsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_recordPatternBindingsOtr =
_lhsItr
( _recordPatternBindingsIeh,_recordPatternBindingsIerrSq,_recordPatternBindingsIgUniq,_recordPatternBindingsIidDefOccGam,_recordPatternBindingsIidOccDefs,_recordPatternBindingsIidUseOccGam,_recordPatternBindingsIpp,_recordPatternBindingsIppL,_recordPatternBindingsIppWrap,_recordPatternBindingsItopInstanceNmL,_recordPatternBindingsItrpp,_recordPatternBindingsIundefOccGam) =
recordPatternBindings_ _recordPatternBindingsOfixityGam _recordPatternBindingsOgUniq _recordPatternBindingsOidGam _recordPatternBindingsOmoduleNm _recordPatternBindingsOnmLev _recordPatternBindingsOopts _recordPatternBindingsOpatchEhNmInInstance _recordPatternBindingsOtopInstanceNmL _recordPatternBindingsOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Pattern_RowRecordBinding :: Range ->
T_Pattern ->
T_RowRecordPatternBindings ->
T_Pattern
sem_Pattern_RowRecordBinding range_ pattern_ rowRecordPattternBindings_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOmbTopRefname :: (Maybe HsName)
_lhsOeh :: (EH.PatExpr)
_lhsOisVar :: Bool
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_patternOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_rowRecordPattternBindingsOfixityGam :: FixityGam
_rowRecordPattternBindingsOgUniq :: UID
_rowRecordPattternBindingsOidGam :: IdDefOccGam
_rowRecordPattternBindingsOmoduleNm :: HsName
_rowRecordPattternBindingsOnmLev :: NmLev
_rowRecordPattternBindingsOopts :: EHCOpts
_rowRecordPattternBindingsOpatchEhNmInInstance :: PatchEhNmInInstance
_rowRecordPattternBindingsOtopInstanceNmL :: ([HsName])
_rowRecordPattternBindingsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternIeh :: (EH.PatExpr)
_patternIerrSq :: ErrSq
_patternIgUniq :: UID
_patternIidDefOccGam :: IdDefOccGam
_patternIidOccDefs :: ([IdOcc])
_patternIidUseOccGam :: IdUseOccGam
_patternIisVar :: Bool
_patternImbTopRefname :: (Maybe HsName)
_patternIpp :: PP_Doc
_patternIppWrap :: (PP_Doc -> PP_Doc)
_patternItopInstanceNmL :: ([HsName])
_patternItrpp :: TrPP
_patternIundefOccGam :: IdUseOccGam
_rowRecordPattternBindingsIeh :: ([EH.PatExpr -> EH.PatExpr])
_rowRecordPattternBindingsIerrSq :: ErrSq
_rowRecordPattternBindingsIgUniq :: UID
_rowRecordPattternBindingsIidDefOccGam :: IdDefOccGam
_rowRecordPattternBindingsIidOccDefs :: ([IdOcc])
_rowRecordPattternBindingsIidUseOccGam :: IdUseOccGam
_rowRecordPattternBindingsIpp :: PP_Doc
_rowRecordPattternBindingsIppL :: ([PP_Doc])
_rowRecordPattternBindingsIppWrap :: (PP_Doc -> PP_Doc)
_rowRecordPattternBindingsItopInstanceNmL :: ([HsName])
_rowRecordPattternBindingsItrpp :: TrPP
_rowRecordPattternBindingsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 236, column 9)
_lhsOmbTopRefname =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 362, column 9)
_pp =
ppAppTop (hsnRec,mkPPAppFun hsnRowEmpty _patternIpp)
_rowRecordPattternBindingsIppL _patternIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 840, column 9)
_lhsOeh =
foldl (flip ($)) _patternIeh _rowRecordPattternBindingsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 275, column 9)
_lhsOisVar =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_patternIerrSq `Seq.union` _rowRecordPattternBindingsIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_patternIidDefOccGam `gamAddGam` _rowRecordPattternBindingsIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_patternIidOccDefs ++ _rowRecordPattternBindingsIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_patternIidUseOccGam `gamAddGam` _rowRecordPattternBindingsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_patternIppWrap . _rowRecordPattternBindingsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_patternItrpp >< _rowRecordPattternBindingsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_patternIundefOccGam `gamUnion` _rowRecordPattternBindingsIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_rowRecordPattternBindingsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_rowRecordPattternBindingsItopInstanceNmL
-- copy rule (down)
_patternOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_patternOgUniq =
_lhsIgUniq
-- copy rule (down)
_patternOidGam =
_lhsIidGam
-- copy rule (down)
_patternOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_patternOnmLev =
_lhsInmLev
-- copy rule (down)
_patternOopts =
_lhsIopts
-- copy rule (down)
_patternOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_patternOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_patternOtr =
_lhsItr
-- copy rule (down)
_rowRecordPattternBindingsOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_rowRecordPattternBindingsOgUniq =
_patternIgUniq
-- copy rule (down)
_rowRecordPattternBindingsOidGam =
_lhsIidGam
-- copy rule (down)
_rowRecordPattternBindingsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_rowRecordPattternBindingsOnmLev =
_lhsInmLev
-- copy rule (down)
_rowRecordPattternBindingsOopts =
_lhsIopts
-- copy rule (down)
_rowRecordPattternBindingsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_rowRecordPattternBindingsOtopInstanceNmL =
_patternItopInstanceNmL
-- copy rule (down)
_rowRecordPattternBindingsOtr =
_lhsItr
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternItrpp,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL _patternOtr
( _rowRecordPattternBindingsIeh,_rowRecordPattternBindingsIerrSq,_rowRecordPattternBindingsIgUniq,_rowRecordPattternBindingsIidDefOccGam,_rowRecordPattternBindingsIidOccDefs,_rowRecordPattternBindingsIidUseOccGam,_rowRecordPattternBindingsIpp,_rowRecordPattternBindingsIppL,_rowRecordPattternBindingsIppWrap,_rowRecordPattternBindingsItopInstanceNmL,_rowRecordPattternBindingsItrpp,_rowRecordPattternBindingsIundefOccGam) =
rowRecordPattternBindings_ _rowRecordPattternBindingsOfixityGam _rowRecordPattternBindingsOgUniq _rowRecordPattternBindingsOidGam _rowRecordPattternBindingsOmoduleNm _rowRecordPattternBindingsOnmLev _rowRecordPattternBindingsOopts _rowRecordPattternBindingsOpatchEhNmInInstance _rowRecordPattternBindingsOtopInstanceNmL _rowRecordPattternBindingsOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Pattern_RowRecordEmpty :: Range ->
T_Pattern
sem_Pattern_RowRecordEmpty range_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOmbTopRefname :: (Maybe HsName)
_lhsOeh :: (EH.PatExpr)
_lhsOisVar :: Bool
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 236, column 9)
_lhsOmbTopRefname =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 365, column 9)
_pp =
hsnORec >|< hsnCRec
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 842, column 9)
_lhsOeh =
rngLift range_ EH.PatExpr_Rec (rngLift range_ EH.RecPatExpr_Empty)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 275, column 9)
_lhsOisVar =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Pattern_Irrefutable :: Range ->
T_Pattern ->
T_Pattern
sem_Pattern_Irrefutable range_ pattern_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOmbTopRefname :: (Maybe HsName)
_lhsOeh :: (EH.PatExpr)
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOisVar :: Bool
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_patternOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternIeh :: (EH.PatExpr)
_patternIerrSq :: ErrSq
_patternIgUniq :: UID
_patternIidDefOccGam :: IdDefOccGam
_patternIidOccDefs :: ([IdOcc])
_patternIidUseOccGam :: IdUseOccGam
_patternIisVar :: Bool
_patternImbTopRefname :: (Maybe HsName)
_patternIpp :: PP_Doc
_patternIppWrap :: (PP_Doc -> PP_Doc)
_patternItopInstanceNmL :: ([HsName])
_patternItrpp :: TrPP
_patternIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 236, column 9)
_lhsOmbTopRefname =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 367, column 9)
_pp =
"~" >|< _patternIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 844, column 9)
_lhsOeh =
rngLift range_ EH.PatExpr_Irrefutable _patternIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_patternIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_patternIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_patternIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_patternIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_patternIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_patternItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_patternIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_patternIgUniq
-- copy rule (up)
_lhsOisVar =
_patternIisVar
-- copy rule (up)
_lhsOtopInstanceNmL =
_patternItopInstanceNmL
-- copy rule (down)
_patternOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_patternOgUniq =
_lhsIgUniq
-- copy rule (down)
_patternOidGam =
_lhsIidGam
-- copy rule (down)
_patternOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_patternOnmLev =
_lhsInmLev
-- copy rule (down)
_patternOopts =
_lhsIopts
-- copy rule (down)
_patternOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_patternOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_patternOtr =
_lhsItr
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternItrpp,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL _patternOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Pattern_Bang :: Range ->
T_Pattern ->
T_Pattern
sem_Pattern_Bang range_ pattern_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOmbTopRefname :: (Maybe HsName)
_lhsOeh :: (EH.PatExpr)
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOisVar :: Bool
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_patternOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternIeh :: (EH.PatExpr)
_patternIerrSq :: ErrSq
_patternIgUniq :: UID
_patternIidDefOccGam :: IdDefOccGam
_patternIidOccDefs :: ([IdOcc])
_patternIidUseOccGam :: IdUseOccGam
_patternIisVar :: Bool
_patternImbTopRefname :: (Maybe HsName)
_patternIpp :: PP_Doc
_patternIppWrap :: (PP_Doc -> PP_Doc)
_patternItopInstanceNmL :: ([HsName])
_patternItrpp :: TrPP
_patternIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 236, column 9)
_lhsOmbTopRefname =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 369, column 9)
_pp =
"!" >|< _patternIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 846, column 9)
_lhsOeh =
rngLift range_ EH.PatExpr_Bang _patternIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 199, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_patternIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_patternIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_patternIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_patternIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_patternIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_patternItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_patternIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_patternIgUniq
-- copy rule (up)
_lhsOisVar =
_patternIisVar
-- copy rule (up)
_lhsOtopInstanceNmL =
_patternItopInstanceNmL
-- copy rule (down)
_patternOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_patternOgUniq =
_lhsIgUniq
-- copy rule (down)
_patternOidGam =
_lhsIidGam
-- copy rule (down)
_patternOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_patternOnmLev =
_lhsInmLev
-- copy rule (down)
_patternOopts =
_lhsIopts
-- copy rule (down)
_patternOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_patternOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_patternOtr =
_lhsItr
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternItrpp,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL _patternOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- PatternAnnotation -------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.PatExprAnn
errSq : ErrSq
idDefOccGam : IdDefOccGam
idOccDefs : [IdOcc]
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Empty:
visit 0:
local eh : _
-}
-- cata
sem_PatternAnnotation :: PatternAnnotation ->
T_PatternAnnotation
sem_PatternAnnotation (PatternAnnotation_Empty) =
(sem_PatternAnnotation_Empty)
-- semantic domain
type T_PatternAnnotation = FixityGam ->
UID ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (EH.PatExprAnn),ErrSq,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_PatternAnnotation_Empty :: T_PatternAnnotation
sem_PatternAnnotation_Empty =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.PatExprAnn)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 903, column 17)
_eh =
EH.PatExprAnn_Empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Patterns ----------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.PatExpr]
errSq : ErrSq
idDefOccGam : IdDefOccGam
idOccDefs : [IdOcc]
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppL : [PP_Doc]
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : Pattern
child tl : Patterns
alternative Nil:
-}
-- cata
sem_Patterns :: Patterns ->
T_Patterns
sem_Patterns list =
(Prelude.foldr sem_Patterns_Cons sem_Patterns_Nil (Prelude.map sem_Pattern list))
-- semantic domain
type T_Patterns = FixityGam ->
UID ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.PatExpr]),ErrSq,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Patterns_Cons :: T_Pattern ->
T_Patterns ->
T_Patterns
sem_Patterns_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.PatExpr])
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIeh :: (EH.PatExpr)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIidDefOccGam :: IdDefOccGam
_hdIidOccDefs :: ([IdOcc])
_hdIidUseOccGam :: IdUseOccGam
_hdIisVar :: Bool
_hdImbTopRefname :: (Maybe HsName)
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.PatExpr])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIidDefOccGam :: IdDefOccGam
_tlIidOccDefs :: ([IdOcc])
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppL :: ([PP_Doc])
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 426, column 9)
_lhsOppL =
_hdIpp : _tlIppL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 796, column 24)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_hdIidDefOccGam `gamAddGam` _tlIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_hdIidOccDefs ++ _tlIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIidDefOccGam,_hdIidOccDefs,_hdIidUseOccGam,_hdIisVar,_hdImbTopRefname,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidDefOccGam,_tlIidOccDefs,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Patterns_Nil :: T_Patterns
sem_Patterns_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.PatExpr])
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 428, column 9)
_lhsOppL =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 796, column 24)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Pragma ------------------------------------------------------
{-
visit 0:
inherited attributes:
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathPragmas : Set.Set Pragma.Pragma
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Language:
child range : {Range}
child pragmas : {Names}
visit 0:
local pragmaNames : _
local pp : _
alternative OptionsUHC:
child range : {Range}
child options : {String}
visit 0:
local pragmaNames : _
alternative Derivable:
child range : {Range}
child className : {Name}
child fieldName : {Name}
child defaultName : {Name}
visit 0:
local pp : _
alternative ExcludeIfTarget:
child range : {Range}
child targetNames : {[String]}
visit 0:
local targets : _
local pp : _
alternative CHR:
child range : {Range}
child chrRules : {String}
-}
-- cata
sem_Pragma :: Pragma ->
T_Pragma
sem_Pragma (Pragma_Language _range _pragmas) =
(sem_Pragma_Language _range _pragmas)
sem_Pragma (Pragma_OptionsUHC _range _options) =
(sem_Pragma_OptionsUHC _range _options)
sem_Pragma (Pragma_Derivable _range _className _fieldName _defaultName) =
(sem_Pragma_Derivable _range _className _fieldName _defaultName)
sem_Pragma (Pragma_ExcludeIfTarget _range _targetNames) =
(sem_Pragma_ExcludeIfTarget _range _targetNames)
sem_Pragma (Pragma_CHR _range _chrRules) =
(sem_Pragma_CHR _range _chrRules)
-- semantic domain
type T_Pragma = UID ->
IdDefOccGam ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ErrSq,UID,(Set.Set Pragma.Pragma),IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Pragma_Language :: Range ->
Names ->
T_Pragma
sem_Pragma_Language range_ pragmas_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 6, column 9)
_pragmaNames =
[ p | p <- map show pragmas_ ]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 12, column 9)
_lhsOgathPragmas =
Set.fromList $ catMaybes [ Map.lookup p Pragma.allSimplePragmaMp | p <- _pragmaNames ]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 91, column 17)
_pp =
"LANGUAGE" >#< ppCommas pragmas_
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathPragmas,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Pragma_OptionsUHC :: Range ->
String ->
T_Pragma
sem_Pragma_OptionsUHC range_ options_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 8, column 9)
_pragmaNames =
[]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 16, column 9)
_lhsOgathPragmas =
Set.singleton (Pragma.Pragma_OptionsUHC options_)
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathPragmas,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Pragma_Derivable :: Range ->
Name ->
Name ->
Name ->
T_Pragma
sem_Pragma_Derivable range_ className_ fieldName_ defaultName_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 14, column 9)
_lhsOgathPragmas =
Set.singleton (Pragma.Pragma_Derivable className_ fieldName_ defaultName_)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 93, column 17)
_pp =
"DERIVABLE" >#< className_ >#< fieldName_ >#< defaultName_
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathPragmas,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Pragma_ExcludeIfTarget :: Range ->
([String]) ->
T_Pragma
sem_Pragma_ExcludeIfTarget range_ targetNames_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 18, column 9)
_targets =
catMaybes $ map (\t -> Map.lookup t supportedTargetMp) targetNames_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 19, column 9)
_lhsOgathPragmas =
Set.singleton (Pragma.Pragma_ExcludeIfTarget _targets)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 95, column 17)
_pp =
"EXCLUDE_IF_TARGET" >#< ppCommas targetNames_
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathPragmas,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Pragma_CHR :: Range ->
String ->
T_Pragma
sem_Pragma_CHR range_ chrRules_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathPragmas,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Pragmas -----------------------------------------------------
{-
visit 0:
inherited attributes:
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathPragmas : Set.Set Pragma.Pragma
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : Pragma
child tl : Pragmas
alternative Nil:
-}
-- cata
sem_Pragmas :: Pragmas ->
T_Pragmas
sem_Pragmas list =
(Prelude.foldr sem_Pragmas_Cons sem_Pragmas_Nil (Prelude.map sem_Pragma list))
-- semantic domain
type T_Pragmas = UID ->
IdDefOccGam ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ErrSq,UID,(Set.Set Pragma.Pragma),IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Pragmas_Cons :: T_Pragma ->
T_Pragmas ->
T_Pragmas
sem_Pragmas_Cons hd_ tl_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIgathPragmas :: (Set.Set Pragma.Pragma)
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIgathPragmas :: (Set.Set Pragma.Pragma)
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
_hdIgathPragmas `Set.union` _tlIgathPragmas
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIerrSq,_hdIgUniq,_hdIgathPragmas,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOgUniq _hdOidGam _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL _hdOtr
( _tlIerrSq,_tlIgUniq,_tlIgathPragmas,_tlIidUseOccGam,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOgUniq _tlOidGam _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL _tlOtr
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathPragmas,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Pragmas_Nil :: T_Pragmas
sem_Pragmas_Nil =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 1, column 49)
_lhsOgathPragmas =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathPragmas,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Qualifier ---------------------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
moduleNm : HsName
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
idGam : IdDefOccGam
nmLev : NmLev
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.Expr -> EH.Expr
errSq : ErrSq
gathFixityGam : FixityGam
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Guard:
child range : {Range}
child guard : Expression
visit 0:
local valrefnames : _
local idUseOccGamVal : _
local errIdUseVal : _
local typerefname : _
local idUseOccGamType : _
local errIdUseType : _
local idUseOccGam : _
local errSq : _
alternative Let:
child range : {Range}
child declarations : Declarations
visit 0:
local nameDeclCxt : _
local idGam : _
local sccOrder : _
local mkSccLet : _
local errReorder : _
local nmLev : _
local errDupIntro : _
local errSq : _
local pp : _
alternative Generator:
child range : {Range}
child pattern : Pattern
child expression : Expression
visit 0:
local refnames : _
local idUseOccGam : _
local errIdUse : _
local nmLev : _
local errDupIntro : _
local errSq : _
local pp : _
alternative Empty:
child range : {Range}
visit 0:
local refnames : _
local idUseOccGam : _
local errIdUse : _
local errSq : _
-}
-- cata
sem_Qualifier :: Qualifier ->
T_Qualifier
sem_Qualifier (Qualifier_Guard _range _guard) =
(sem_Qualifier_Guard _range (sem_Expression _guard))
sem_Qualifier (Qualifier_Let _range _declarations) =
(sem_Qualifier_Let _range (sem_Declarations _declarations))
sem_Qualifier (Qualifier_Generator _range _pattern _expression) =
(sem_Qualifier_Generator _range (sem_Pattern _pattern) (sem_Expression _expression))
sem_Qualifier (Qualifier_Empty _range) =
(sem_Qualifier_Empty _range)
-- semantic domain
type T_Qualifier = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (EH.Expr -> EH.Expr),ErrSq,UID,FixityGam,IdDefOccGam,IdUseOccGam,NmLev,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Qualifier_Guard :: Range ->
T_Expression ->
T_Qualifier
sem_Qualifier_Guard range_ guard_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr -> EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOidGam :: IdDefOccGam
_lhsOnmLev :: NmLev
_lhsOtopInstanceNmL :: ([HsName])
_guardOcaseId :: UID
_guardOfixityGam :: FixityGam
_guardOgUniq :: UID
_guardOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_guardOidGam :: IdDefOccGam
_guardOmoduleNm :: HsName
_guardOnmLev :: NmLev
_guardOopts :: EHCOpts
_guardOpatchEhNmInInstance :: PatchEhNmInInstance
_guardOpragmas :: (Set.Set Pragma.Pragma)
_guardOtopInstanceNmL :: ([HsName])
_guardOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_guardIconNm :: Name
_guardIeh :: (EH.Expr)
_guardIerrSq :: ErrSq
_guardIgUniq :: UID
_guardIidUseOccGam :: IdUseOccGam
_guardIopChain :: (OpChain EH.Expr)
_guardIoperatorName :: MaybeName
_guardIpp :: PP_Doc
_guardIppWrap :: (PP_Doc -> PP_Doc)
_guardItopInstanceNmL :: ([HsName])
_guardItrpp :: TrPP
_guardIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 611, column 29)
(_,_valrefnames,_idUseOccGamVal,_errIdUseVal) =
mkUseOccGam _lhsIopts _lhsIidGam [hsnTrue,hsnFalse,hsnDataListAltNil] IdOcc_Val IdAsp_Val_Var range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 613, column 29)
(_typerefname,_,_idUseOccGamType,_errIdUseType) =
mkUseOccGam _lhsIopts _lhsIidGam [hsnBool] IdOcc_Type IdAsp_Type_Con range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 611, column 9)
_idUseOccGam =
gamUnions [_idUseOccGamVal,_idUseOccGamType]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 616, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_guardIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 100, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUseVal, Seq.fromList _errIdUseType, _guardIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 609, column 9)
_lhsOeh =
\e -> EH.mkIf' (_typerefname : _valrefnames) range_ _guardIeh e (appCon (_valrefnames !! 2))
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_guardIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_guardIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_guardItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_guardIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_guardIgUniq
-- copy rule (chain)
_lhsOidGam =
_lhsIidGam
-- copy rule (chain)
_lhsOnmLev =
_lhsInmLev
-- copy rule (up)
_lhsOtopInstanceNmL =
_guardItopInstanceNmL
-- copy rule (down)
_guardOcaseId =
_lhsIcaseId
-- copy rule (down)
_guardOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_guardOgUniq =
_lhsIgUniq
-- copy rule (down)
_guardOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_guardOidGam =
_lhsIidGam
-- copy rule (down)
_guardOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_guardOnmLev =
_lhsInmLev
-- copy rule (down)
_guardOopts =
_lhsIopts
-- copy rule (down)
_guardOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_guardOpragmas =
_lhsIpragmas
-- copy rule (down)
_guardOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_guardOtr =
_lhsItr
( _guardIconNm,_guardIeh,_guardIerrSq,_guardIgUniq,_guardIidUseOccGam,_guardIopChain,_guardIoperatorName,_guardIpp,_guardIppWrap,_guardItopInstanceNmL,_guardItrpp,_guardIundefOccGam) =
guard_ _guardOcaseId _guardOfixityGam _guardOgUniq _guardOgenerDerivMp _guardOidGam _guardOmoduleNm _guardOnmLev _guardOopts _guardOpatchEhNmInInstance _guardOpragmas _guardOtopInstanceNmL _guardOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidGam,_lhsOidUseOccGam,_lhsOnmLev,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Qualifier_Let :: Range ->
T_Declarations ->
T_Qualifier
sem_Qualifier_Let range_ declarations_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: (EH.Expr -> EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOidGam :: IdDefOccGam
_lhsOnmLev :: NmLev
_lhsOtopInstanceNmL :: ([HsName])
_declarationsOcaseId :: UID
_declarationsOfixityGam :: FixityGam
_declarationsOgUniq :: UID
_declarationsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_declarationsOidGam :: IdDefOccGam
_declarationsOmoduleNm :: HsName
_declarationsOnameDeclCxt :: NameDeclCxt
_declarationsOnmLev :: NmLev
_declarationsOopts :: EHCOpts
_declarationsOpatchEhNmInInstance :: PatchEhNmInInstance
_declarationsOpragmas :: (Set.Set Pragma.Pragma)
_declarationsOtopInstanceNmL :: ([HsName])
_declarationsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_declarationsIeh :: ([EH.Decl])
_declarationsIerrSq :: ErrSq
_declarationsIgUniq :: UID
_declarationsIgathFixityGam :: FixityGam
_declarationsIgathPragmas :: (Set.Set Pragma.Pragma)
_declarationsIidDefOccGam :: IdDefOccGam
_declarationsIidDpdMp :: IdDpdMp
_declarationsIidInClassTySigDefOccGam :: IdDefOccGam
_declarationsIidInInstanceValDefOccGam :: IdDefOccGam
_declarationsIidOccDefs :: ([IdOcc])
_declarationsIidUseOccGam :: IdUseOccGam
_declarationsIneedsError :: Bool
_declarationsIpp :: PP_Doc
_declarationsIppWrap :: (PP_Doc -> PP_Doc)
_declarationsItopInstanceNmL :: ([HsName])
_declarationsItrpp :: TrPP
_declarationsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDeclCxt.ag"(line 31, column 9)
_nameDeclCxt =
NameDeclCxt_Plain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 469, column 9)
_idGam =
gamUnion _declarationsIidDefOccGam _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1083, column 9)
_sccOrder =
idDpdMp2SccOrder _declarationsIidDefOccGam _declarationsIidDpdMp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1217, column 29)
(_mkSccLet,_,_errReorder) =
mkIdOccSccEH _lhsIopts range_ False _declarationsIidDefOccGam (Just _sccOrder)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 77, column 9)
_nmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 127, column 9)
_errDupIntro =
idDefOccGamCheckDupNames _declarationsIidDefOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 98, column 9)
_errSq =
Seq.firstNotEmpty [Seq.fromList _errDupIntro, _declarationsIerrSq, Seq.fromList _errReorder]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 269, column 9)
_pp =
"let" >#< _declarationsIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 611, column 9)
_lhsOeh =
_mkSccLet
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_declarationsIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_declarationsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_declarationsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_declarationsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_declarationsIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_declarationsIgUniq
-- copy rule (from local)
_lhsOidGam =
_idGam
-- copy rule (from local)
_lhsOnmLev =
_nmLev
-- copy rule (up)
_lhsOtopInstanceNmL =
_declarationsItopInstanceNmL
-- copy rule (down)
_declarationsOcaseId =
_lhsIcaseId
-- copy rule (down)
_declarationsOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_declarationsOgUniq =
_lhsIgUniq
-- copy rule (down)
_declarationsOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (from local)
_declarationsOidGam =
_idGam
-- copy rule (down)
_declarationsOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_declarationsOnameDeclCxt =
_nameDeclCxt
-- copy rule (from local)
_declarationsOnmLev =
_nmLev
-- copy rule (down)
_declarationsOopts =
_lhsIopts
-- copy rule (down)
_declarationsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_declarationsOpragmas =
_lhsIpragmas
-- copy rule (down)
_declarationsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_declarationsOtr =
_lhsItr
( _declarationsIeh,_declarationsIerrSq,_declarationsIgUniq,_declarationsIgathFixityGam,_declarationsIgathPragmas,_declarationsIidDefOccGam,_declarationsIidDpdMp,_declarationsIidInClassTySigDefOccGam,_declarationsIidInInstanceValDefOccGam,_declarationsIidOccDefs,_declarationsIidUseOccGam,_declarationsIneedsError,_declarationsIpp,_declarationsIppWrap,_declarationsItopInstanceNmL,_declarationsItrpp,_declarationsIundefOccGam) =
declarations_ _declarationsOcaseId _declarationsOfixityGam _declarationsOgUniq _declarationsOgenerDerivMp _declarationsOidGam _declarationsOmoduleNm _declarationsOnameDeclCxt _declarationsOnmLev _declarationsOopts _declarationsOpatchEhNmInInstance _declarationsOpragmas _declarationsOtopInstanceNmL _declarationsOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidGam,_lhsOidUseOccGam,_lhsOnmLev,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Qualifier_Generator :: Range ->
T_Pattern ->
T_Expression ->
T_Qualifier
sem_Qualifier_Generator range_ pattern_ expression_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr -> EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOnmLev :: NmLev
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_patternOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOidGam :: IdDefOccGam
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternIeh :: (EH.PatExpr)
_patternIerrSq :: ErrSq
_patternIgUniq :: UID
_patternIidDefOccGam :: IdDefOccGam
_patternIidOccDefs :: ([IdOcc])
_patternIidUseOccGam :: IdUseOccGam
_patternIisVar :: Bool
_patternImbTopRefname :: (Maybe HsName)
_patternIpp :: PP_Doc
_patternIppWrap :: (PP_Doc -> PP_Doc)
_patternItopInstanceNmL :: ([HsName])
_patternItrpp :: TrPP
_patternIundefOccGam :: IdUseOccGam
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 9)
_lhsOidGam =
gamUnion _patternIidDefOccGam _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 618, column 29)
(_,_refnames,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [hsnPrelConcatMap,hsnDataListAltNil] IdOcc_Val IdAsp_Val_Var range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 620, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_patternIidUseOccGam,_expressionIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 77, column 9)
_nmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 125, column 9)
_errDupIntro =
idDefOccGamCheckDupNames _patternIidDefOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 102, column 9)
_errSq =
Seq.unions [Seq.fromList _errDupIntro, Seq.fromList _errIdUse, _patternIerrSq, _expressionIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 271, column 9)
_pp =
_patternIpp >#< "<-" >#< _expressionIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 613, column 9)
_lhsOeh =
ehGenerator
range_ _patternIeh
(\e -> ehExpVarApp range_ (_refnames !! 0) [e,_expressionIeh])
(appCon (_refnames !! 1))
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_patternIppWrap . _expressionIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_patternItrpp >< _expressionItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_patternIundefOccGam `gamUnion` _expressionIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_expressionIgUniq
-- copy rule (from local)
_lhsOnmLev =
_nmLev
-- copy rule (up)
_lhsOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_patternOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_patternOgUniq =
_lhsIgUniq
-- copy rule (down)
_patternOidGam =
_lhsIidGam
-- copy rule (down)
_patternOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_patternOnmLev =
_nmLev
-- copy rule (down)
_patternOopts =
_lhsIopts
-- copy rule (down)
_patternOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_patternOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_patternOtr =
_lhsItr
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_expressionOgUniq =
_patternIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOidGam =
_lhsIidGam
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_expressionOnmLev =
_nmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (chain)
_expressionOtopInstanceNmL =
_patternItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternItrpp,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL _patternOtr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidGam,_lhsOidUseOccGam,_lhsOnmLev,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Qualifier_Empty :: Range ->
T_Qualifier
sem_Qualifier_Empty range_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: (EH.Expr -> EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOidGam :: IdDefOccGam
_lhsOnmLev :: NmLev
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 622, column 29)
(_,_refnames,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [hsnDataListAltCons,hsnDataListAltNil] IdOcc_Val IdAsp_Val_Var range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 104, column 9)
_errSq =
Seq.fromList _errIdUse
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 618, column 9)
_lhsOeh =
\e -> ehExpConApp range_ (_refnames !! 0) [e,appCon (_refnames !! 1)]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOidGam =
_lhsIidGam
-- copy rule (chain)
_lhsOnmLev =
_lhsInmLev
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidGam,_lhsOidUseOccGam,_lhsOnmLev,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Qualifiers --------------------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
idGam : IdDefOccGam
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.Expr -> EH.Expr]
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppL : [PP_Doc]
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : Qualifier
child tl : Qualifiers
visit 0:
local fixityGam : _
alternative Nil:
-}
-- cata
sem_Qualifiers :: Qualifiers ->
T_Qualifiers
sem_Qualifiers list =
(Prelude.foldr sem_Qualifiers_Cons sem_Qualifiers_Nil (Prelude.map sem_Qualifier list))
-- semantic domain
type T_Qualifiers = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.Expr -> EH.Expr]),ErrSq,UID,IdDefOccGam,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Qualifiers_Cons :: T_Qualifier ->
T_Qualifiers ->
T_Qualifiers
sem_Qualifiers_Cons hd_ tl_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.Expr -> EH.Expr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOidGam :: IdDefOccGam
_lhsOtopInstanceNmL :: ([HsName])
_hdOcaseId :: UID
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOpragmas :: (Set.Set Pragma.Pragma)
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOcaseId :: UID
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOpragmas :: (Set.Set Pragma.Pragma)
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIeh :: (EH.Expr -> EH.Expr)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIgathFixityGam :: FixityGam
_hdIidGam :: IdDefOccGam
_hdIidUseOccGam :: IdUseOccGam
_hdInmLev :: NmLev
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.Expr -> EH.Expr])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIidGam :: IdDefOccGam
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppL :: ([PP_Doc])
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 434, column 9)
_lhsOppL =
_hdIpp : _tlIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 35, column 9)
_fixityGam =
_hdIgathFixityGam `gamUnion` _lhsIfixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 603, column 26)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOidGam =
_tlIidGam
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOcaseId =
_lhsIcaseId
-- copy rule (from local)
_hdOfixityGam =
_fixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOpragmas =
_lhsIpragmas
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOcaseId =
_lhsIcaseId
-- copy rule (from local)
_tlOfixityGam =
_fixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (chain)
_tlOidGam =
_hdIidGam
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (chain)
_tlOnmLev =
_hdInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_tlOpragmas =
_lhsIpragmas
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIgathFixityGam,_hdIidGam,_hdIidUseOccGam,_hdInmLev,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOcaseId _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidGam,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOcaseId _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Qualifiers_Nil :: T_Qualifiers
sem_Qualifiers_Nil =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.Expr -> EH.Expr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOidGam :: IdDefOccGam
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 436, column 9)
_lhsOppL =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 603, column 26)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOidGam =
_lhsIidGam
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- RecordExpressionBinding -------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.DataFieldExpr -> EH.DataFieldExpr
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Binding:
child range : {Range}
child name : {Name}
child expression : Expression
visit 0:
local refname : _
local idUseOccGam : _
local errIdUse : _
local errSq : _
local pp : _
-}
-- cata
sem_RecordExpressionBinding :: RecordExpressionBinding ->
T_RecordExpressionBinding
sem_RecordExpressionBinding (RecordExpressionBinding_Binding _range _name _expression) =
(sem_RecordExpressionBinding_Binding _range _name (sem_Expression _expression))
-- semantic domain
type T_RecordExpressionBinding = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (EH.DataFieldExpr -> EH.DataFieldExpr),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_RecordExpressionBinding_Binding :: Range ->
Name ->
T_Expression ->
T_RecordExpressionBinding
sem_RecordExpressionBinding_Binding range_ name_ expression_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOeh :: (EH.DataFieldExpr -> EH.DataFieldExpr)
_lhsOerrSq :: ErrSq
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOidGam :: IdDefOccGam
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 683, column 29)
(_refname,_,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [name_] IdOcc_Fld (IdAsp_Val_Fld hsnUnknown hsnUnknown) range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 685, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_expressionIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 108, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUse, _expressionIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 285, column 9)
_pp =
name_ >|< "=" >|< _expressionIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 643, column 9)
_lhsOeh =
\df -> rngLift range_ EH.DataFieldExpr_Upd df _refname _expressionIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_expressionIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_expressionItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_expressionIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_expressionIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_expressionOgUniq =
_lhsIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOidGam =
_lhsIidGam
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_expressionOnmLev =
_lhsInmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (down)
_expressionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- RecordExpressionBindings ------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.DataFieldExpr -> EH.DataFieldExpr]
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppL : [PP_Doc]
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : RecordExpressionBinding
child tl : RecordExpressionBindings
alternative Nil:
-}
-- cata
sem_RecordExpressionBindings :: RecordExpressionBindings ->
T_RecordExpressionBindings
sem_RecordExpressionBindings list =
(Prelude.foldr sem_RecordExpressionBindings_Cons sem_RecordExpressionBindings_Nil (Prelude.map sem_RecordExpressionBinding list))
-- semantic domain
type T_RecordExpressionBindings = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.DataFieldExpr -> EH.DataFieldExpr]),ErrSq,UID,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_RecordExpressionBindings_Cons :: T_RecordExpressionBinding ->
T_RecordExpressionBindings ->
T_RecordExpressionBindings
sem_RecordExpressionBindings_Cons hd_ tl_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.DataFieldExpr -> EH.DataFieldExpr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOcaseId :: UID
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOpragmas :: (Set.Set Pragma.Pragma)
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOcaseId :: UID
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOpragmas :: (Set.Set Pragma.Pragma)
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIeh :: (EH.DataFieldExpr -> EH.DataFieldExpr)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.DataFieldExpr -> EH.DataFieldExpr])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppL :: ([PP_Doc])
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 466, column 9)
_lhsOppL =
_hdIpp : _tlIppL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 637, column 40)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOcaseId =
_lhsIcaseId
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOpragmas =
_lhsIpragmas
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOcaseId =
_lhsIcaseId
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_tlOpragmas =
_lhsIpragmas
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOcaseId _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOcaseId _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_RecordExpressionBindings_Nil :: T_RecordExpressionBindings
sem_RecordExpressionBindings_Nil =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.DataFieldExpr -> EH.DataFieldExpr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 468, column 9)
_lhsOppL =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 637, column 40)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- RecordPatternBinding ----------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.DataFieldPatExpr -> EH.DataFieldPatExpr
errSq : ErrSq
idDefOccGam : IdDefOccGam
idOccDefs : [IdOcc]
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Binding:
child range : {Range}
child name : {Name}
child pattern : Pattern
visit 0:
local fldrefname : _
local idUseOccGam : _
local errIdUse : _
local errSq : _
local pp : _
alternative Pun:
child range : {Range}
child name : {Name}
visit 0:
local idDefOccGam : _
local fldrefname : _
local idUseOccGam : _
local errIdUse : _
local refname : _
local idOccDef : _
local errSq : _
local pp : _
-}
-- cata
sem_RecordPatternBinding :: RecordPatternBinding ->
T_RecordPatternBinding
sem_RecordPatternBinding (RecordPatternBinding_Binding _range _name _pattern) =
(sem_RecordPatternBinding_Binding _range _name (sem_Pattern _pattern))
sem_RecordPatternBinding (RecordPatternBinding_Pun _range _name) =
(sem_RecordPatternBinding_Pun _range _name)
-- semantic domain
type T_RecordPatternBinding = FixityGam ->
UID ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (EH.DataFieldPatExpr -> EH.DataFieldPatExpr),ErrSq,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_RecordPatternBinding_Binding :: Range ->
Name ->
T_Pattern ->
T_RecordPatternBinding
sem_RecordPatternBinding_Binding range_ name_ pattern_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOeh :: (EH.DataFieldPatExpr -> EH.DataFieldPatExpr)
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_patternOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternIeh :: (EH.PatExpr)
_patternIerrSq :: ErrSq
_patternIgUniq :: UID
_patternIidDefOccGam :: IdDefOccGam
_patternIidOccDefs :: ([IdOcc])
_patternIidUseOccGam :: IdUseOccGam
_patternIisVar :: Bool
_patternImbTopRefname :: (Maybe HsName)
_patternIpp :: PP_Doc
_patternIppWrap :: (PP_Doc -> PP_Doc)
_patternItopInstanceNmL :: ([HsName])
_patternItrpp :: TrPP
_patternIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 689, column 29)
(_fldrefname,_,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [name_] IdOcc_Fld (IdAsp_Val_Fld hsnUnknown hsnUnknown) range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 692, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_patternIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 112, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUse, _patternIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 305, column 9)
_pp =
name_ >|< "=" >|< _patternIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 709, column 9)
_lhsOeh =
\df -> rngLift range_ EH.DataFieldPatExpr_Ext df _fldrefname _patternIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_patternIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_patternIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_patternIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_patternItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_patternIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_patternIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_patternItopInstanceNmL
-- copy rule (down)
_patternOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_patternOgUniq =
_lhsIgUniq
-- copy rule (down)
_patternOidGam =
_lhsIidGam
-- copy rule (down)
_patternOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_patternOnmLev =
_lhsInmLev
-- copy rule (down)
_patternOopts =
_lhsIopts
-- copy rule (down)
_patternOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_patternOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_patternOtr =
_lhsItr
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternItrpp,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL _patternOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_RecordPatternBinding_Pun :: Range ->
Name ->
T_RecordPatternBinding
sem_RecordPatternBinding_Pun range_ name_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: (EH.DataFieldPatExpr -> EH.DataFieldPatExpr)
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 295, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev range_ IdAsp_Val_Var [_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 689, column 29)
(_fldrefname,_,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [name_] IdOcc_Fld (IdAsp_Val_Fld hsnUnknown hsnUnknown) range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 92, column 9)
_refname =
hsnSetLevQual _lhsInmLev _lhsImoduleNm name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 182, column 9)
_idOccDef =
IdOcc _refname IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 114, column 9)
_errSq =
Seq.fromList _errIdUse
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 307, column 9)
_pp =
pp name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 711, column 9)
_lhsOeh =
\df -> rngLift range_ EH.DataFieldPatExpr_Ext df _fldrefname (rngLift range_ EH.PatExpr_Var _refname)
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- RecordPatternBindings ---------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.DataFieldPatExpr -> EH.DataFieldPatExpr]
errSq : ErrSq
idDefOccGam : IdDefOccGam
idOccDefs : [IdOcc]
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppL : [PP_Doc]
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : RecordPatternBinding
child tl : RecordPatternBindings
alternative Nil:
-}
-- cata
sem_RecordPatternBindings :: RecordPatternBindings ->
T_RecordPatternBindings
sem_RecordPatternBindings list =
(Prelude.foldr sem_RecordPatternBindings_Cons sem_RecordPatternBindings_Nil (Prelude.map sem_RecordPatternBinding list))
-- semantic domain
type T_RecordPatternBindings = FixityGam ->
UID ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.DataFieldPatExpr -> EH.DataFieldPatExpr]),ErrSq,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_RecordPatternBindings_Cons :: T_RecordPatternBinding ->
T_RecordPatternBindings ->
T_RecordPatternBindings
sem_RecordPatternBindings_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.DataFieldPatExpr -> EH.DataFieldPatExpr])
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIeh :: (EH.DataFieldPatExpr -> EH.DataFieldPatExpr)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIidDefOccGam :: IdDefOccGam
_hdIidOccDefs :: ([IdOcc])
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.DataFieldPatExpr -> EH.DataFieldPatExpr])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIidDefOccGam :: IdDefOccGam
_tlIidOccDefs :: ([IdOcc])
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppL :: ([PP_Doc])
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 472, column 9)
_lhsOppL =
_hdIpp : _tlIppL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 703, column 37)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_hdIidDefOccGam `gamAddGam` _tlIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_hdIidOccDefs ++ _tlIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIidDefOccGam,_hdIidOccDefs,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidDefOccGam,_tlIidOccDefs,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_RecordPatternBindings_Nil :: T_RecordPatternBindings
sem_RecordPatternBindings_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.DataFieldPatExpr -> EH.DataFieldPatExpr])
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 474, column 9)
_lhsOppL =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 703, column 37)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- RightHandSide -----------------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
mustBeMono : Bool
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
sepPP : PP_Doc
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.Expr
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Expression:
child range : {Range}
child expression : Expression
child where : MaybeDeclarations
visit 0:
local nameDeclCxt : _
local idGam : _
local sccOrder : _
local mkSccLet : _
local errReorder : _
local nmLev : _
local errSq : _
local pp : _
local fixityGam : _
alternative Guarded:
child range : {Range}
child guardedexpressions : GuardedExpressions
child where : MaybeDeclarations
visit 0:
local nameDeclCxt : _
local idGam : _
local sccOrder : _
local mkSccLet : _
local errReorder : _
local nmLev : _
local pp : _
local fixityGam : _
-}
-- cata
sem_RightHandSide :: RightHandSide ->
T_RightHandSide
sem_RightHandSide (RightHandSide_Expression _range _expression _where) =
(sem_RightHandSide_Expression _range (sem_Expression _expression) (sem_MaybeDeclarations _where))
sem_RightHandSide (RightHandSide_Guarded _range _guardedexpressions _where) =
(sem_RightHandSide_Guarded _range (sem_GuardedExpressions _guardedexpressions) (sem_MaybeDeclarations _where))
-- semantic domain
type T_RightHandSide = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
Bool ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
PP_Doc ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (EH.Expr),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_RightHandSide_Expression :: Range ->
T_Expression ->
T_MaybeDeclarations ->
T_RightHandSide
sem_RightHandSide_Expression range_ expression_ where_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsImustBeMono
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsIsepPP
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: (EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOidGam :: IdDefOccGam
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_whereOcaseId :: UID
_whereOfixityGam :: FixityGam
_whereOgUniq :: UID
_whereOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_whereOidGam :: IdDefOccGam
_whereOmoduleNm :: HsName
_whereOnameDeclCxt :: NameDeclCxt
_whereOnmLev :: NmLev
_whereOopts :: EHCOpts
_whereOpatchEhNmInInstance :: PatchEhNmInInstance
_whereOpragmas :: (Set.Set Pragma.Pragma)
_whereOtopInstanceNmL :: ([HsName])
_whereOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
_whereIeh :: (Maybe [EH.Decl])
_whereIerrSq :: ErrSq
_whereIgUniq :: UID
_whereIgathFixityGam :: FixityGam
_whereIgathPragmas :: (Set.Set Pragma.Pragma)
_whereIidDefOccGam :: IdDefOccGam
_whereIidDpdMp :: IdDpdMp
_whereIidInClassTySigDefOccGam :: IdDefOccGam
_whereIidInInstanceValDefOccGam :: IdDefOccGam
_whereIidOccDefs :: ([IdOcc])
_whereIidUseOccGam :: IdUseOccGam
_whereIneedsError :: Bool
_whereIpp :: PP_Doc
_whereIppWrap :: (PP_Doc -> PP_Doc)
_whereItopInstanceNmL :: ([HsName])
_whereItrpp :: TrPP
_whereIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDeclCxt.ag"(line 36, column 9)
_nameDeclCxt =
NameDeclCxt_Plain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 461, column 9)
_idGam =
gamUnion _whereIidDefOccGam _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1079, column 9)
_sccOrder =
idDpdMp2SccOrder _whereIidDefOccGam _whereIidDpdMp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1212, column 29)
(_mkSccLet,_,_errReorder) =
mkIdOccSccEH _lhsIopts range_ False _whereIidDefOccGam (Just _sccOrder)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 69, column 9)
_nmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 36, column 9)
_errSq =
Seq.unions [Seq.fromList _errReorder, _expressionIerrSq, _whereIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 327, column 9)
_pp =
_lhsIsepPP >#< _expressionIpp >-< _whereIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 31, column 9)
_fixityGam =
_whereIgathFixityGam `gamUnion` _lhsIfixityGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 762, column 9)
_lhsOeh =
_mkSccLet
$ ehMkEnforceMono range_ _lhsImustBeMono
_expressionIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_expressionIidUseOccGam `gamAddGam` _whereIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_expressionIppWrap . _whereIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_expressionItrpp >< _whereItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_expressionIundefOccGam `gamUnion` _whereIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_whereIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_whereItopInstanceNmL
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (from local)
_expressionOfixityGam =
_fixityGam
-- copy rule (down)
_expressionOgUniq =
_lhsIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (from local)
_expressionOidGam =
_idGam
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_expressionOnmLev =
_nmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (down)
_expressionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
-- copy rule (down)
_whereOcaseId =
_lhsIcaseId
-- copy rule (from local)
_whereOfixityGam =
_fixityGam
-- copy rule (chain)
_whereOgUniq =
_expressionIgUniq
-- copy rule (down)
_whereOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (from local)
_whereOidGam =
_idGam
-- copy rule (down)
_whereOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_whereOnameDeclCxt =
_nameDeclCxt
-- copy rule (from local)
_whereOnmLev =
_nmLev
-- copy rule (down)
_whereOopts =
_lhsIopts
-- copy rule (down)
_whereOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_whereOpragmas =
_lhsIpragmas
-- copy rule (chain)
_whereOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_whereOtr =
_lhsItr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
( _whereIeh,_whereIerrSq,_whereIgUniq,_whereIgathFixityGam,_whereIgathPragmas,_whereIidDefOccGam,_whereIidDpdMp,_whereIidInClassTySigDefOccGam,_whereIidInInstanceValDefOccGam,_whereIidOccDefs,_whereIidUseOccGam,_whereIneedsError,_whereIpp,_whereIppWrap,_whereItopInstanceNmL,_whereItrpp,_whereIundefOccGam) =
where_ _whereOcaseId _whereOfixityGam _whereOgUniq _whereOgenerDerivMp _whereOidGam _whereOmoduleNm _whereOnameDeclCxt _whereOnmLev _whereOopts _whereOpatchEhNmInInstance _whereOpragmas _whereOtopInstanceNmL _whereOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_RightHandSide_Guarded :: Range ->
T_GuardedExpressions ->
T_MaybeDeclarations ->
T_RightHandSide
sem_RightHandSide_Guarded range_ guardedexpressions_ where_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsImustBeMono
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsIsepPP
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: (EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_guardedexpressionsOcaseId :: UID
_guardedexpressionsOfixityGam :: FixityGam
_guardedexpressionsOgUniq :: UID
_guardedexpressionsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_guardedexpressionsOidGam :: IdDefOccGam
_guardedexpressionsOmoduleNm :: HsName
_guardedexpressionsOmustBeMono :: Bool
_guardedexpressionsOnmLev :: NmLev
_guardedexpressionsOopts :: EHCOpts
_guardedexpressionsOpatchEhNmInInstance :: PatchEhNmInInstance
_guardedexpressionsOpragmas :: (Set.Set Pragma.Pragma)
_guardedexpressionsOsepPP :: PP_Doc
_guardedexpressionsOtopInstanceNmL :: ([HsName])
_guardedexpressionsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_whereOcaseId :: UID
_whereOfixityGam :: FixityGam
_whereOgUniq :: UID
_whereOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_whereOidGam :: IdDefOccGam
_whereOmoduleNm :: HsName
_whereOnameDeclCxt :: NameDeclCxt
_whereOnmLev :: NmLev
_whereOopts :: EHCOpts
_whereOpatchEhNmInInstance :: PatchEhNmInInstance
_whereOpragmas :: (Set.Set Pragma.Pragma)
_whereOtopInstanceNmL :: ([HsName])
_whereOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_guardedexpressionsIeh :: ([UIDS -> EH.Expr -> EH.Expr])
_guardedexpressionsIerrSq :: ErrSq
_guardedexpressionsIgUniq :: UID
_guardedexpressionsIidUseOccGam :: IdUseOccGam
_guardedexpressionsIpp :: PP_Doc
_guardedexpressionsIppWrap :: (PP_Doc -> PP_Doc)
_guardedexpressionsItopInstanceNmL :: ([HsName])
_guardedexpressionsItrpp :: TrPP
_guardedexpressionsIundefOccGam :: IdUseOccGam
_whereIeh :: (Maybe [EH.Decl])
_whereIerrSq :: ErrSq
_whereIgUniq :: UID
_whereIgathFixityGam :: FixityGam
_whereIgathPragmas :: (Set.Set Pragma.Pragma)
_whereIidDefOccGam :: IdDefOccGam
_whereIidDpdMp :: IdDpdMp
_whereIidInClassTySigDefOccGam :: IdDefOccGam
_whereIidInInstanceValDefOccGam :: IdDefOccGam
_whereIidOccDefs :: ([IdOcc])
_whereIidUseOccGam :: IdUseOccGam
_whereIneedsError :: Bool
_whereIpp :: PP_Doc
_whereIppWrap :: (PP_Doc -> PP_Doc)
_whereItopInstanceNmL :: ([HsName])
_whereItrpp :: TrPP
_whereIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDeclCxt.ag"(line 36, column 9)
_nameDeclCxt =
NameDeclCxt_Plain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 461, column 9)
_idGam =
gamUnion _whereIidDefOccGam _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1079, column 9)
_sccOrder =
idDpdMp2SccOrder _whereIidDefOccGam _whereIidDpdMp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1212, column 29)
(_mkSccLet,_,_errReorder) =
mkIdOccSccEH _lhsIopts range_ False _whereIidDefOccGam (Just _sccOrder)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 69, column 9)
_nmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 329, column 9)
_pp =
_guardedexpressionsIpp >-< _whereIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 31, column 9)
_fixityGam =
_whereIgathFixityGam `gamUnion` _lhsIfixityGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 766, column 9)
_lhsOeh =
_mkSccLet (foldr (\(mk,failS) e -> mk failS e)
(rngLift range_ EH.Expr_CaseAltFail _lhsIcaseId)
(zip _guardedexpressionsIeh (Set.singleton _lhsIcaseId : repeat Set.empty)))
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_guardedexpressionsIerrSq `Seq.union` _whereIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_guardedexpressionsIidUseOccGam `gamAddGam` _whereIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_guardedexpressionsIppWrap . _whereIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_guardedexpressionsItrpp >< _whereItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_guardedexpressionsIundefOccGam `gamUnion` _whereIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_whereIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_whereItopInstanceNmL
-- copy rule (down)
_guardedexpressionsOcaseId =
_lhsIcaseId
-- copy rule (from local)
_guardedexpressionsOfixityGam =
_fixityGam
-- copy rule (down)
_guardedexpressionsOgUniq =
_lhsIgUniq
-- copy rule (down)
_guardedexpressionsOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (from local)
_guardedexpressionsOidGam =
_idGam
-- copy rule (down)
_guardedexpressionsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_guardedexpressionsOmustBeMono =
_lhsImustBeMono
-- copy rule (from local)
_guardedexpressionsOnmLev =
_nmLev
-- copy rule (down)
_guardedexpressionsOopts =
_lhsIopts
-- copy rule (down)
_guardedexpressionsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_guardedexpressionsOpragmas =
_lhsIpragmas
-- copy rule (down)
_guardedexpressionsOsepPP =
_lhsIsepPP
-- copy rule (down)
_guardedexpressionsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_guardedexpressionsOtr =
_lhsItr
-- copy rule (down)
_whereOcaseId =
_lhsIcaseId
-- copy rule (from local)
_whereOfixityGam =
_fixityGam
-- copy rule (chain)
_whereOgUniq =
_guardedexpressionsIgUniq
-- copy rule (down)
_whereOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (from local)
_whereOidGam =
_idGam
-- copy rule (down)
_whereOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_whereOnameDeclCxt =
_nameDeclCxt
-- copy rule (from local)
_whereOnmLev =
_nmLev
-- copy rule (down)
_whereOopts =
_lhsIopts
-- copy rule (down)
_whereOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_whereOpragmas =
_lhsIpragmas
-- copy rule (chain)
_whereOtopInstanceNmL =
_guardedexpressionsItopInstanceNmL
-- copy rule (down)
_whereOtr =
_lhsItr
( _guardedexpressionsIeh,_guardedexpressionsIerrSq,_guardedexpressionsIgUniq,_guardedexpressionsIidUseOccGam,_guardedexpressionsIpp,_guardedexpressionsIppWrap,_guardedexpressionsItopInstanceNmL,_guardedexpressionsItrpp,_guardedexpressionsIundefOccGam) =
guardedexpressions_ _guardedexpressionsOcaseId _guardedexpressionsOfixityGam _guardedexpressionsOgUniq _guardedexpressionsOgenerDerivMp _guardedexpressionsOidGam _guardedexpressionsOmoduleNm _guardedexpressionsOmustBeMono _guardedexpressionsOnmLev _guardedexpressionsOopts _guardedexpressionsOpatchEhNmInInstance _guardedexpressionsOpragmas _guardedexpressionsOsepPP _guardedexpressionsOtopInstanceNmL _guardedexpressionsOtr
( _whereIeh,_whereIerrSq,_whereIgUniq,_whereIgathFixityGam,_whereIgathPragmas,_whereIidDefOccGam,_whereIidDpdMp,_whereIidInClassTySigDefOccGam,_whereIidInInstanceValDefOccGam,_whereIidOccDefs,_whereIidUseOccGam,_whereIneedsError,_whereIpp,_whereIppWrap,_whereItopInstanceNmL,_whereItrpp,_whereIundefOccGam) =
where_ _whereOcaseId _whereOfixityGam _whereOgUniq _whereOgenerDerivMp _whereOidGam _whereOmoduleNm _whereOnameDeclCxt _whereOnmLev _whereOopts _whereOpatchEhNmInInstance _whereOpragmas _whereOtopInstanceNmL _whereOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- RowRecordExpressionUpdate -----------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.Expr -> EH.Expr
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Update:
child range : {Range}
child name : {Name}
child expression : Expression
visit 0:
local pp : _
alternative Extends:
child range : {Range}
child name : {MaybeName}
child expression : Expression
visit 0:
local pp : _
-}
-- cata
sem_RowRecordExpressionUpdate :: RowRecordExpressionUpdate ->
T_RowRecordExpressionUpdate
sem_RowRecordExpressionUpdate (RowRecordExpressionUpdate_Update _range _name _expression) =
(sem_RowRecordExpressionUpdate_Update _range _name (sem_Expression _expression))
sem_RowRecordExpressionUpdate (RowRecordExpressionUpdate_Extends _range _name _expression) =
(sem_RowRecordExpressionUpdate_Extends _range _name (sem_Expression _expression))
-- semantic domain
type T_RowRecordExpressionUpdate = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (EH.Expr -> EH.Expr),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_RowRecordExpressionUpdate_Update :: Range ->
Name ->
T_Expression ->
T_RowRecordExpressionUpdate
sem_RowRecordExpressionUpdate_Update range_ name_ expression_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: (EH.Expr -> EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOidGam :: IdDefOccGam
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 291, column 9)
_pp =
name_ >|< ":=" >|< _expressionIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 685, column 9)
_lhsOeh =
ehRowRecExprUpd range_ name_ (rngLift range_ EH.RecExpr_Upd) _expressionIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_expressionIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_expressionIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_expressionIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_expressionItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_expressionIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_expressionIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_expressionOgUniq =
_lhsIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOidGam =
_lhsIidGam
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_expressionOnmLev =
_lhsInmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (down)
_expressionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_RowRecordExpressionUpdate_Extends :: Range ->
MaybeName ->
T_Expression ->
T_RowRecordExpressionUpdate
sem_RowRecordExpressionUpdate_Extends range_ name_ expression_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: (EH.Expr -> EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOidGam :: IdDefOccGam
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 289, column 9)
_pp =
name_ >|< "=" >|< _expressionIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 683, column 9)
_lhsOeh =
ehRowRecExprUpd range_ name_ (rngLift range_ EH.RecExpr_Ext) _expressionIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_expressionIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_expressionIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_expressionIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_expressionItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_expressionIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_expressionIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_expressionOgUniq =
_lhsIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOidGam =
_lhsIidGam
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_expressionOnmLev =
_lhsInmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (down)
_expressionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- RowRecordExpressionUpdates ----------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.Expr -> EH.Expr]
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppL : [PP_Doc]
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : RowRecordExpressionUpdate
child tl : RowRecordExpressionUpdates
alternative Nil:
-}
-- cata
sem_RowRecordExpressionUpdates :: RowRecordExpressionUpdates ->
T_RowRecordExpressionUpdates
sem_RowRecordExpressionUpdates list =
(Prelude.foldr sem_RowRecordExpressionUpdates_Cons sem_RowRecordExpressionUpdates_Nil (Prelude.map sem_RowRecordExpressionUpdate list))
-- semantic domain
type T_RowRecordExpressionUpdates = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.Expr -> EH.Expr]),ErrSq,UID,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_RowRecordExpressionUpdates_Cons :: T_RowRecordExpressionUpdate ->
T_RowRecordExpressionUpdates ->
T_RowRecordExpressionUpdates
sem_RowRecordExpressionUpdates_Cons hd_ tl_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.Expr -> EH.Expr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOcaseId :: UID
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOpragmas :: (Set.Set Pragma.Pragma)
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOcaseId :: UID
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOpragmas :: (Set.Set Pragma.Pragma)
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIeh :: (EH.Expr -> EH.Expr)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.Expr -> EH.Expr])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppL :: ([PP_Doc])
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 484, column 9)
_lhsOppL =
_hdIpp : _tlIppL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 677, column 42)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOcaseId =
_lhsIcaseId
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOpragmas =
_lhsIpragmas
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOcaseId =
_lhsIcaseId
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_tlOpragmas =
_lhsIpragmas
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOcaseId _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOcaseId _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_RowRecordExpressionUpdates_Nil :: T_RowRecordExpressionUpdates
sem_RowRecordExpressionUpdates_Nil =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.Expr -> EH.Expr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 486, column 9)
_lhsOppL =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 677, column 42)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- RowRecordPatternBinding -------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.PatExpr -> EH.PatExpr
errSq : ErrSq
idDefOccGam : IdDefOccGam
idOccDefs : [IdOcc]
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Binding:
child range : {Range}
child name : {MaybeName}
child pattern : Pattern
visit 0:
local pp : _
-}
-- cata
sem_RowRecordPatternBinding :: RowRecordPatternBinding ->
T_RowRecordPatternBinding
sem_RowRecordPatternBinding (RowRecordPatternBinding_Binding _range _name _pattern) =
(sem_RowRecordPatternBinding_Binding _range _name (sem_Pattern _pattern))
-- semantic domain
type T_RowRecordPatternBinding = FixityGam ->
UID ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (EH.PatExpr -> EH.PatExpr),ErrSq,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_RowRecordPatternBinding_Binding :: Range ->
MaybeName ->
T_Pattern ->
T_RowRecordPatternBinding
sem_RowRecordPatternBinding_Binding range_ name_ pattern_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: (EH.PatExpr -> EH.PatExpr)
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_patternOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternIeh :: (EH.PatExpr)
_patternIerrSq :: ErrSq
_patternIgUniq :: UID
_patternIidDefOccGam :: IdDefOccGam
_patternIidOccDefs :: ([IdOcc])
_patternIidUseOccGam :: IdUseOccGam
_patternIisVar :: Bool
_patternImbTopRefname :: (Maybe HsName)
_patternIpp :: PP_Doc
_patternIppWrap :: (PP_Doc -> PP_Doc)
_patternItopInstanceNmL :: ([HsName])
_patternItrpp :: TrPP
_patternIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 295, column 9)
_pp =
case name_ of
Just n -> n >|< "=" >|< _patternIpp
Nothing -> _patternIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 693, column 9)
_lhsOeh =
ehRowRecPatExprUpd range_ name_ (rngLift range_ EH.RecPatExpr_Ext) _patternIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_patternIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_patternIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_patternIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_patternIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_patternIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_patternItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_patternIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_patternIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_patternItopInstanceNmL
-- copy rule (down)
_patternOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_patternOgUniq =
_lhsIgUniq
-- copy rule (down)
_patternOidGam =
_lhsIidGam
-- copy rule (down)
_patternOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_patternOnmLev =
_lhsInmLev
-- copy rule (down)
_patternOopts =
_lhsIopts
-- copy rule (down)
_patternOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_patternOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_patternOtr =
_lhsItr
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternItrpp,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL _patternOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- RowRecordPatternBindings ------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.PatExpr -> EH.PatExpr]
errSq : ErrSq
idDefOccGam : IdDefOccGam
idOccDefs : [IdOcc]
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppL : [PP_Doc]
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : RowRecordPatternBinding
child tl : RowRecordPatternBindings
alternative Nil:
-}
-- cata
sem_RowRecordPatternBindings :: RowRecordPatternBindings ->
T_RowRecordPatternBindings
sem_RowRecordPatternBindings list =
(Prelude.foldr sem_RowRecordPatternBindings_Cons sem_RowRecordPatternBindings_Nil (Prelude.map sem_RowRecordPatternBinding list))
-- semantic domain
type T_RowRecordPatternBindings = FixityGam ->
UID ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.PatExpr -> EH.PatExpr]),ErrSq,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_RowRecordPatternBindings_Cons :: T_RowRecordPatternBinding ->
T_RowRecordPatternBindings ->
T_RowRecordPatternBindings
sem_RowRecordPatternBindings_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.PatExpr -> EH.PatExpr])
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIeh :: (EH.PatExpr -> EH.PatExpr)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIidDefOccGam :: IdDefOccGam
_hdIidOccDefs :: ([IdOcc])
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.PatExpr -> EH.PatExpr])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIidDefOccGam :: IdDefOccGam
_tlIidOccDefs :: ([IdOcc])
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppL :: ([PP_Doc])
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 490, column 9)
_lhsOppL =
_hdIpp : _tlIppL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 687, column 40)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_hdIidDefOccGam `gamAddGam` _tlIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_hdIidOccDefs ++ _tlIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIidDefOccGam,_hdIidOccDefs,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidDefOccGam,_tlIidOccDefs,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_RowRecordPatternBindings_Nil :: T_RowRecordPatternBindings
sem_RowRecordPatternBindings_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.PatExpr -> EH.PatExpr])
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 492, column 9)
_lhsOppL =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 687, column 40)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- RowTypeUpdate -----------------------------------------------
{-
visit 0:
inherited attributes:
doGenVarWild : Bool
fixityGam : FixityGam
idGam : IdDefOccGam
isAsPred : Bool
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.TyExpr -> EH.TyExpr
ehMbAsPrL : [Maybe EH.PrExpr]
ehMbAsTyPrL : [Maybe EH.TyExpr]
errSq : ErrSq
freeTvarS : HsNameS
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Extends:
child range : {Range}
child name : {MaybeName}
child type : Type
visit 0:
local pp : _
local ehMbAsPrL : _
-}
-- cata
sem_RowTypeUpdate :: RowTypeUpdate ->
T_RowTypeUpdate
sem_RowTypeUpdate (RowTypeUpdate_Extends _range _name _type) =
(sem_RowTypeUpdate_Extends _range _name (sem_Type _type))
-- semantic domain
type T_RowTypeUpdate = Bool ->
FixityGam ->
UID ->
IdDefOccGam ->
Bool ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (EH.TyExpr -> EH.TyExpr),([Maybe EH.PrExpr]),([Maybe EH.TyExpr]),ErrSq,HsNameS,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_RowTypeUpdate_Extends :: Range ->
MaybeName ->
T_Type ->
T_RowTypeUpdate
sem_RowTypeUpdate_Extends range_ name_ type_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: (EH.TyExpr -> EH.TyExpr)
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 301, column 9)
_pp =
name_ >|< "::" >|< _typeIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 380, column 9)
_ehMbAsPrL =
[_typeIehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 701, column 9)
_lhsOeh =
ehRowRowTyExprUpd range_ name_ (rngLift range_ EH.RowTyExpr_Ext) _typeIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_typeIehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_typeIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_typeIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_typeIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_typeIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_typeItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_typeIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_typeIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_typeItopInstanceNmL
-- copy rule (down)
_typeOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_typeOgUniq =
_lhsIgUniq
-- copy rule (down)
_typeOidGam =
_lhsIidGam
-- copy rule (down)
_typeOisAsPred =
_lhsIisAsPred
-- copy rule (down)
_typeOnmLev =
_lhsInmLev
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (down)
_typeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_typeOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
in ( _lhsOeh,_lhsOehMbAsPrL,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- RowTypeUpdates ----------------------------------------------
{-
visit 0:
inherited attributes:
doGenVarWild : Bool
fixityGam : FixityGam
idGam : IdDefOccGam
isAsPred : Bool
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.TyExpr -> EH.TyExpr]
ehMbAsPrL : [Maybe EH.PrExpr]
ehMbAsTyPrL : [Maybe EH.TyExpr]
errSq : ErrSq
freeTvarS : HsNameS
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppL : [PP_Doc]
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : RowTypeUpdate
child tl : RowTypeUpdates
alternative Nil:
-}
-- cata
sem_RowTypeUpdates :: RowTypeUpdates ->
T_RowTypeUpdates
sem_RowTypeUpdates list =
(Prelude.foldr sem_RowTypeUpdates_Cons sem_RowTypeUpdates_Nil (Prelude.map sem_RowTypeUpdate list))
-- semantic domain
type T_RowTypeUpdates = Bool ->
FixityGam ->
UID ->
IdDefOccGam ->
Bool ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.TyExpr -> EH.TyExpr]),([Maybe EH.PrExpr]),([Maybe EH.TyExpr]),ErrSq,HsNameS,UID,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_RowTypeUpdates_Cons :: T_RowTypeUpdate ->
T_RowTypeUpdates ->
T_RowTypeUpdates
sem_RowTypeUpdates_Cons hd_ tl_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.TyExpr -> EH.TyExpr])
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOdoGenVarWild :: Bool
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOisAsPred :: Bool
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOdoGenVarWild :: Bool
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOisAsPred :: Bool
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIeh :: (EH.TyExpr -> EH.TyExpr)
_hdIehMbAsPrL :: ([Maybe EH.PrExpr])
_hdIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_hdIerrSq :: ErrSq
_hdIfreeTvarS :: HsNameS
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.TyExpr -> EH.TyExpr])
_tlIehMbAsPrL :: ([Maybe EH.PrExpr])
_tlIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_tlIerrSq :: ErrSq
_tlIfreeTvarS :: HsNameS
_tlIgUniq :: UID
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppL :: ([PP_Doc])
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 460, column 9)
_lhsOppL =
_hdIpp : _tlIppL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 695, column 30)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_hdIehMbAsPrL ++ _tlIehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_hdIehMbAsTyPrL ++ _tlIehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_hdIfreeTvarS `Set.union` _tlIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOisAsPred =
_lhsIisAsPred
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOisAsPred =
_lhsIisAsPred
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIeh,_hdIehMbAsPrL,_hdIehMbAsTyPrL,_hdIerrSq,_hdIfreeTvarS,_hdIgUniq,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOdoGenVarWild _hdOfixityGam _hdOgUniq _hdOidGam _hdOisAsPred _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIehMbAsPrL,_tlIehMbAsTyPrL,_tlIerrSq,_tlIfreeTvarS,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOdoGenVarWild _tlOfixityGam _tlOgUniq _tlOidGam _tlOisAsPred _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOehMbAsPrL,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_RowTypeUpdates_Nil :: T_RowTypeUpdates
sem_RowTypeUpdates_Nil =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.TyExpr -> EH.TyExpr])
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 462, column 9)
_lhsOppL =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 695, column 30)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOehMbAsPrL,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Statement ---------------------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
moduleNm : HsName
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
idGam : IdDefOccGam
nmLev : NmLev
topInstanceNmL : [HsName]
synthesized attributes:
eh : (EH.Expr,EH.Expr -> EH.Expr)
errSq : ErrSq
gathFixityGam : FixityGam
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Expression:
child range : {Range}
child expression : Expression
visit 0:
local refname : _
local idUseOccGam : _
local errIdUse : _
local errSq : _
alternative Let:
child range : {Range}
child declarations : Declarations
visit 0:
local nameDeclCxt : _
local idGam : _
local sccOrder : _
local mkSccLet : _
local errReorder : _
local nmLev : _
local errDupIntro : _
local errSq : _
local pp : _
alternative Generator:
child range : {Range}
child pattern : Pattern
child expression : Expression
visit 0:
local refnames : _
local idUseOccGam : _
local errIdUse : _
local nmLev : _
local errDupIntro : _
local errSq : _
local pp : _
alternative Empty:
child range : {Range}
-}
-- cata
sem_Statement :: Statement ->
T_Statement
sem_Statement (Statement_Expression _range _expression) =
(sem_Statement_Expression _range (sem_Expression _expression))
sem_Statement (Statement_Let _range _declarations) =
(sem_Statement_Let _range (sem_Declarations _declarations))
sem_Statement (Statement_Generator _range _pattern _expression) =
(sem_Statement_Generator _range (sem_Pattern _pattern) (sem_Expression _expression))
sem_Statement (Statement_Empty _range) =
(sem_Statement_Empty _range)
-- semantic domain
type T_Statement = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ((EH.Expr,EH.Expr -> EH.Expr)),ErrSq,UID,FixityGam,IdDefOccGam,IdUseOccGam,NmLev,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Statement_Expression :: Range ->
T_Expression ->
T_Statement
sem_Statement_Expression range_ expression_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOeh :: ((EH.Expr,EH.Expr -> EH.Expr))
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOidGam :: IdDefOccGam
_lhsOnmLev :: NmLev
_lhsOtopInstanceNmL :: ([HsName])
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOidGam :: IdDefOccGam
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 29)
(_refname,_,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [hsnMonadSeq] IdOcc_Val IdAsp_Val_Var range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 730, column 9)
_lhsOidUseOccGam =
_idUseOccGam `gamUnion` _expressionIidUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 120, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUse, _expressionIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 590, column 9)
_lhsOeh =
(_expressionIeh,\e -> ehExpVarApp range_ _refname [_expressionIeh,e])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_expressionIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_expressionIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_expressionItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_expressionIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_expressionIgUniq
-- copy rule (chain)
_lhsOidGam =
_lhsIidGam
-- copy rule (chain)
_lhsOnmLev =
_lhsInmLev
-- copy rule (up)
_lhsOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_expressionOgUniq =
_lhsIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOidGam =
_lhsIidGam
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_expressionOnmLev =
_lhsInmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (down)
_expressionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidGam,_lhsOidUseOccGam,_lhsOnmLev,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Statement_Let :: Range ->
T_Declarations ->
T_Statement
sem_Statement_Let range_ declarations_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ((EH.Expr,EH.Expr -> EH.Expr))
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOidGam :: IdDefOccGam
_lhsOnmLev :: NmLev
_lhsOtopInstanceNmL :: ([HsName])
_declarationsOcaseId :: UID
_declarationsOfixityGam :: FixityGam
_declarationsOgUniq :: UID
_declarationsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_declarationsOidGam :: IdDefOccGam
_declarationsOmoduleNm :: HsName
_declarationsOnameDeclCxt :: NameDeclCxt
_declarationsOnmLev :: NmLev
_declarationsOopts :: EHCOpts
_declarationsOpatchEhNmInInstance :: PatchEhNmInInstance
_declarationsOpragmas :: (Set.Set Pragma.Pragma)
_declarationsOtopInstanceNmL :: ([HsName])
_declarationsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_declarationsIeh :: ([EH.Decl])
_declarationsIerrSq :: ErrSq
_declarationsIgUniq :: UID
_declarationsIgathFixityGam :: FixityGam
_declarationsIgathPragmas :: (Set.Set Pragma.Pragma)
_declarationsIidDefOccGam :: IdDefOccGam
_declarationsIidDpdMp :: IdDpdMp
_declarationsIidInClassTySigDefOccGam :: IdDefOccGam
_declarationsIidInInstanceValDefOccGam :: IdDefOccGam
_declarationsIidOccDefs :: ([IdOcc])
_declarationsIidUseOccGam :: IdUseOccGam
_declarationsIneedsError :: Bool
_declarationsIpp :: PP_Doc
_declarationsIppWrap :: (PP_Doc -> PP_Doc)
_declarationsItopInstanceNmL :: ([HsName])
_declarationsItrpp :: TrPP
_declarationsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDeclCxt.ag"(line 31, column 9)
_nameDeclCxt =
NameDeclCxt_Plain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 475, column 9)
_idGam =
gamUnion _declarationsIidDefOccGam _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1087, column 9)
_sccOrder =
idDpdMp2SccOrder _declarationsIidDefOccGam _declarationsIidDpdMp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1227, column 29)
(_mkSccLet,_,_errReorder) =
mkIdOccSccEH _lhsIopts range_ False _declarationsIidDefOccGam (Just _sccOrder)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 81, column 9)
_nmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 137, column 9)
_errDupIntro =
idDefOccGamCheckDupNames _declarationsIidDefOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 118, column 9)
_errSq =
Seq.unions [Seq.fromList _errDupIntro, Seq.fromList _errReorder, _declarationsIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 263, column 9)
_pp =
"let" >#< _declarationsIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 592, column 9)
_lhsOeh =
(EH.mkUnit range_,_mkSccLet)
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
_declarationsIgathFixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_declarationsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_declarationsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_declarationsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_declarationsIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_declarationsIgUniq
-- copy rule (from local)
_lhsOidGam =
_idGam
-- copy rule (from local)
_lhsOnmLev =
_nmLev
-- copy rule (up)
_lhsOtopInstanceNmL =
_declarationsItopInstanceNmL
-- copy rule (down)
_declarationsOcaseId =
_lhsIcaseId
-- copy rule (down)
_declarationsOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_declarationsOgUniq =
_lhsIgUniq
-- copy rule (down)
_declarationsOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (from local)
_declarationsOidGam =
_idGam
-- copy rule (down)
_declarationsOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_declarationsOnameDeclCxt =
_nameDeclCxt
-- copy rule (from local)
_declarationsOnmLev =
_nmLev
-- copy rule (down)
_declarationsOopts =
_lhsIopts
-- copy rule (down)
_declarationsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_declarationsOpragmas =
_lhsIpragmas
-- copy rule (down)
_declarationsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_declarationsOtr =
_lhsItr
( _declarationsIeh,_declarationsIerrSq,_declarationsIgUniq,_declarationsIgathFixityGam,_declarationsIgathPragmas,_declarationsIidDefOccGam,_declarationsIidDpdMp,_declarationsIidInClassTySigDefOccGam,_declarationsIidInInstanceValDefOccGam,_declarationsIidOccDefs,_declarationsIidUseOccGam,_declarationsIneedsError,_declarationsIpp,_declarationsIppWrap,_declarationsItopInstanceNmL,_declarationsItrpp,_declarationsIundefOccGam) =
declarations_ _declarationsOcaseId _declarationsOfixityGam _declarationsOgUniq _declarationsOgenerDerivMp _declarationsOidGam _declarationsOmoduleNm _declarationsOnameDeclCxt _declarationsOnmLev _declarationsOopts _declarationsOpatchEhNmInInstance _declarationsOpragmas _declarationsOtopInstanceNmL _declarationsOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidGam,_lhsOidUseOccGam,_lhsOnmLev,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Statement_Generator :: Range ->
T_Pattern ->
T_Expression ->
T_Statement
sem_Statement_Generator range_ pattern_ expression_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOidGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOeh :: ((EH.Expr,EH.Expr -> EH.Expr))
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOnmLev :: NmLev
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_patternOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_expressionOcaseId :: UID
_expressionOfixityGam :: FixityGam
_expressionOgUniq :: UID
_expressionOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_expressionOidGam :: IdDefOccGam
_expressionOmoduleNm :: HsName
_expressionOnmLev :: NmLev
_expressionOopts :: EHCOpts
_expressionOpatchEhNmInInstance :: PatchEhNmInInstance
_expressionOpragmas :: (Set.Set Pragma.Pragma)
_expressionOtopInstanceNmL :: ([HsName])
_expressionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternIeh :: (EH.PatExpr)
_patternIerrSq :: ErrSq
_patternIgUniq :: UID
_patternIidDefOccGam :: IdDefOccGam
_patternIidOccDefs :: ([IdOcc])
_patternIidUseOccGam :: IdUseOccGam
_patternIisVar :: Bool
_patternImbTopRefname :: (Maybe HsName)
_patternIpp :: PP_Doc
_patternIppWrap :: (PP_Doc -> PP_Doc)
_patternItopInstanceNmL :: ([HsName])
_patternItrpp :: TrPP
_patternIundefOccGam :: IdUseOccGam
_expressionIconNm :: Name
_expressionIeh :: (EH.Expr)
_expressionIerrSq :: ErrSq
_expressionIgUniq :: UID
_expressionIidUseOccGam :: IdUseOccGam
_expressionIopChain :: (OpChain EH.Expr)
_expressionIoperatorName :: MaybeName
_expressionIpp :: PP_Doc
_expressionIppWrap :: (PP_Doc -> PP_Doc)
_expressionItopInstanceNmL :: ([HsName])
_expressionItrpp :: TrPP
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 477, column 9)
_lhsOidGam =
gamUnion _patternIidDefOccGam _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 732, column 29)
(_,_refnames,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [hsnMonadBind,hsnMonadFail] IdOcc_Val IdAsp_Val_Var range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 734, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_patternIidUseOccGam,_expressionIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 81, column 9)
_nmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 135, column 9)
_errDupIntro =
idDefOccGamCheckDupNames _patternIidDefOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 122, column 9)
_errSq =
Seq.unions [Seq.fromList _errDupIntro, Seq.fromList _errIdUse, _patternIerrSq, _expressionIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 265, column 9)
_pp =
_patternIpp >#< "<-" >#< _expressionIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 594, column 9)
_lhsOeh =
(_expressionIeh
,ehGenerator
range_ _patternIeh
(\e -> ehExpVarApp range_ (_refnames !! 0) [_expressionIeh,e])
(EH.mkError' (_refnames !! 1) range_ "monadic bind")
)
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_patternIppWrap . _expressionIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_patternItrpp >< _expressionItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_patternIundefOccGam `gamUnion` _expressionIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_expressionIgUniq
-- copy rule (from local)
_lhsOnmLev =
_nmLev
-- copy rule (up)
_lhsOtopInstanceNmL =
_expressionItopInstanceNmL
-- copy rule (down)
_patternOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_patternOgUniq =
_lhsIgUniq
-- copy rule (down)
_patternOidGam =
_lhsIidGam
-- copy rule (down)
_patternOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_patternOnmLev =
_nmLev
-- copy rule (down)
_patternOopts =
_lhsIopts
-- copy rule (down)
_patternOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_patternOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_patternOtr =
_lhsItr
-- copy rule (down)
_expressionOcaseId =
_lhsIcaseId
-- copy rule (down)
_expressionOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_expressionOgUniq =
_patternIgUniq
-- copy rule (down)
_expressionOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_expressionOidGam =
_lhsIidGam
-- copy rule (down)
_expressionOmoduleNm =
_lhsImoduleNm
-- copy rule (from local)
_expressionOnmLev =
_nmLev
-- copy rule (down)
_expressionOopts =
_lhsIopts
-- copy rule (down)
_expressionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_expressionOpragmas =
_lhsIpragmas
-- copy rule (chain)
_expressionOtopInstanceNmL =
_patternItopInstanceNmL
-- copy rule (down)
_expressionOtr =
_lhsItr
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternItrpp,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL _patternOtr
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionItrpp,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL _expressionOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidGam,_lhsOidUseOccGam,_lhsOnmLev,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Statement_Empty :: Range ->
T_Statement
sem_Statement_Empty range_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ((EH.Expr,EH.Expr -> EH.Expr))
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOidGam :: IdDefOccGam
_lhsOnmLev :: NmLev
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 601, column 9)
_lhsOeh =
(undefined,id)
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 6, column 25)
_lhsOgathFixityGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOidGam =
_lhsIidGam
-- copy rule (chain)
_lhsOnmLev =
_lhsInmLev
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidGam,_lhsOidUseOccGam,_lhsOnmLev,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Statements --------------------------------------------------
{-
visit 0:
inherited attributes:
caseId : UID
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [(EH.Expr,EH.Expr -> EH.Expr)]
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppL : [PP_Doc]
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : Statement
child tl : Statements
visit 0:
local fixityGam : _
alternative Nil:
-}
-- cata
sem_Statements :: Statements ->
T_Statements
sem_Statements list =
(Prelude.foldr sem_Statements_Cons sem_Statements_Nil (Prelude.map sem_Statement list))
-- semantic domain
type T_Statements = UID ->
FixityGam ->
UID ->
(Map.Map HsName [(HsName,HsName)]) ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([(EH.Expr,EH.Expr -> EH.Expr)]),ErrSq,UID,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Statements_Cons :: T_Statement ->
T_Statements ->
T_Statements
sem_Statements_Cons hd_ tl_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([(EH.Expr,EH.Expr -> EH.Expr)])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOcaseId :: UID
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOpragmas :: (Set.Set Pragma.Pragma)
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOcaseId :: UID
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOpragmas :: (Set.Set Pragma.Pragma)
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIeh :: ((EH.Expr,EH.Expr -> EH.Expr))
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIgathFixityGam :: FixityGam
_hdIidGam :: IdDefOccGam
_hdIidUseOccGam :: IdUseOccGam
_hdInmLev :: NmLev
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([(EH.Expr,EH.Expr -> EH.Expr)])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppL :: ([PP_Doc])
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 500, column 9)
_lhsOppL =
_hdIpp : _tlIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 39, column 9)
_fixityGam =
_hdIgathFixityGam `gamUnion` _lhsIfixityGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 584, column 26)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOcaseId =
_lhsIcaseId
-- copy rule (from local)
_hdOfixityGam =
_fixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOpragmas =
_lhsIpragmas
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOcaseId =
_lhsIcaseId
-- copy rule (from local)
_tlOfixityGam =
_fixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOgenerDerivMp =
_lhsIgenerDerivMp
-- copy rule (chain)
_tlOidGam =
_hdIidGam
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (chain)
_tlOnmLev =
_hdInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_tlOpragmas =
_lhsIpragmas
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIgathFixityGam,_hdIidGam,_hdIidUseOccGam,_hdInmLev,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdIundefOccGam) =
hd_ _hdOcaseId _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOcaseId _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Statements_Nil :: T_Statements
sem_Statements_Nil =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([(EH.Expr,EH.Expr -> EH.Expr)])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 502, column 9)
_lhsOppL =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 584, column 26)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Strings -----------------------------------------------------
{-
visit 0:
inherited attributes:
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [String]
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : {String}
child tl : Strings
alternative Nil:
-}
-- cata
sem_Strings :: Strings ->
T_Strings
sem_Strings list =
(Prelude.foldr sem_Strings_Cons sem_Strings_Nil list)
-- semantic domain
type T_Strings = UID ->
IdDefOccGam ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([String]),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Strings_Cons :: String ->
T_Strings ->
T_Strings
sem_Strings_Cons hd_ tl_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([String])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlIeh :: ([String])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 919, column 23)
_lhsOeh =
_tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_tlOgUniq =
_lhsIgUniq
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_tlOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOgUniq _tlOidGam _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Strings_Nil :: T_Strings
sem_Strings_Nil =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([String])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 919, column 23)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- Type --------------------------------------------------------
{-
visit 0:
inherited attributes:
doGenVarWild : Bool
fixityGam : FixityGam
idGam : IdDefOccGam
isAsPred : Bool
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
conNm : Name
eh : EH.TyExpr
ehMbAsPr : Maybe EH.PrExpr
ehMbAsPrL : [Maybe EH.PrExpr]
ehMbAsTyPr : Maybe EH.TyExpr
ehMbAsTyPrL : [Maybe EH.TyExpr]
errSq : ErrSq
freeTvarS : HsNameS
idUseOccGam : IdUseOccGam
mbRefConNm : Maybe Name
opChain : OpChain EH.TyExpr
operatorName : MaybeName
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
tyConIs : TypeConFixedMeaning
undefOccGam : IdUseOccGam
alternatives:
alternative NormalApplication:
child range : {Range}
child function : Type
child arguments : Types
visit 0:
local pp : _
local eh : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
local ehMbAsTyPrL : _
alternative InfixApplication:
child range : {Range}
child leftType : Type
child operator : Type
child rightType : Type
visit 0:
local errSq : _
local pp : _
local fgi : _
local eh : _
local ctxtFormErrs : _
local isPredOp : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
local ehMbAsTyPrL : _
alternative InfixApplicationChainTop:
child range : {Range}
child type : Type
visit 0:
local errSq : _
local ehRearrOpChain : _
local errRearr : _
local ehFromOpChain : _
local eh : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
local ehMbAsTyPrL : _
alternative Constructor:
child range : {Range}
child name : {Name}
visit 0:
local refname : _
local idUseOccGam : _
local errIdUse : _
local idOccKind : _
local idAsp : _
local errSq : _
local pp : _
local eh : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
local ehMbAsTyPrL : _
local tyConIs : _
local isAsPred : _
alternative Parenthesized:
child range : {Range}
child type : Type
visit 0:
local pp : _
local eh : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
alternative SectionApplication:
child range : {Range}
child leftType : MaybeType
child operator : Type
child rightType : MaybeType
visit 0:
local eh : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
local ehMbAsTyPrL : _
local isAsPred : _
local lUniq_1_nm : {UID}
alternative Annotate:
child range : {Range}
child annotation : TypeAnnotation
child type : Type
visit 0:
local pp : _
local eh : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
local ehMbAsTyPrL : _
alternative Wildcard:
child range : {Range}
visit 0:
local pp : _
local eh : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
local ehMbAsTyPrL : _
local isAsPred : _
alternative MonoWildcard:
child range : {Range}
visit 0:
local pp : _
local eh : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
local ehMbAsTyPrL : _
local isAsPred : _
alternative Variable:
child range : {Range}
child name : {Name}
visit 0:
local idAsp : _
local idOccKind : _
local refname : _
local idUseOccGam : _
local errIdUse : _
local errSq : _
local pp : _
local eh : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
local ehMbAsTyPrL : _
local isAsPred : _
alternative NamedWildcard:
child range : {Range}
child name : {Name}
visit 0:
local idAsp : _
local idOccKind : _
local refname : _
local idUseOccGam : _
local errIdUse : _
local errSq : _
local pp : _
local eh : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
local ehMbAsTyPrL : _
local isAsPred : _
alternative Forall:
child range : {Range}
child typevariables : {Names}
child type : Type
visit 0:
local idDefOccGamInside : _
local idGam : _
local nmLev : _
local errDupIntro : _
local errSq : _
local pp : _
local eh : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
local ehMbAsTyPrL : _
local isAsPred : _
alternative Exists:
child range : {Range}
child typevariables : {Names}
child type : Type
visit 0:
local idDefOccGamInside : _
local idGam : _
local nmLev : _
local errDupIntro : _
local errSq : _
local pp : _
local eh : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
local ehMbAsTyPrL : _
local isAsPred : _
alternative RowUpdate:
child range : {Range}
child type : Type
child rowTypeUpdates : RowTypeUpdates
visit 0:
local pp : _
local eh : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
local ehMbAsTyPrL : _
local isAsPred : _
alternative RowEmpty:
child range : {Range}
visit 0:
local pp : _
local eh : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
local ehMbAsTyPrL : _
local isAsPred : _
alternative RowRecUpdate:
child range : {Range}
child type : Type
child rowTypeUpdates : RowTypeUpdates
visit 0:
local pp : _
local eh : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
local ehMbAsTyPrL : _
alternative RowRecEmpty:
child range : {Range}
visit 0:
local pp : _
local eh : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
local ehMbAsTyPrL : _
local isAsPred : _
alternative RowSumUpdate:
child range : {Range}
child type : Type
child rowTypeUpdates : RowTypeUpdates
visit 0:
local pp : _
local eh : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
local ehMbAsTyPrL : _
local isAsPred : _
alternative RowSumEmpty:
child range : {Range}
visit 0:
local pp : _
local eh : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
local ehMbAsTyPrL : _
local isAsPred : _
alternative Qualified:
child range : {Range}
child context : ContextItems
child type : Type
visit 0:
local pp : _
local eh : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
local ehMbAsTyPrL : _
local isAsPred : _
alternative TupleConstructor:
child range : {Range}
child arity : {Int}
visit 0:
local eh : _
local ehMbAsPr : _
local ehMbAsPrL : _
local ehMbAsTyPr : _
local ehMbAsTyPrL : _
-}
-- cata
sem_Type :: Type ->
T_Type
sem_Type (Type_NormalApplication _range _function _arguments) =
(sem_Type_NormalApplication _range (sem_Type _function) (sem_Types _arguments))
sem_Type (Type_InfixApplication _range _leftType _operator _rightType) =
(sem_Type_InfixApplication _range (sem_Type _leftType) (sem_Type _operator) (sem_Type _rightType))
sem_Type (Type_InfixApplicationChainTop _range _type) =
(sem_Type_InfixApplicationChainTop _range (sem_Type _type))
sem_Type (Type_Constructor _range _name) =
(sem_Type_Constructor _range _name)
sem_Type (Type_Parenthesized _range _type) =
(sem_Type_Parenthesized _range (sem_Type _type))
sem_Type (Type_SectionApplication _range _leftType _operator _rightType) =
(sem_Type_SectionApplication _range (sem_MaybeType _leftType) (sem_Type _operator) (sem_MaybeType _rightType))
sem_Type (Type_Annotate _range _annotation _type) =
(sem_Type_Annotate _range (sem_TypeAnnotation _annotation) (sem_Type _type))
sem_Type (Type_Wildcard _range) =
(sem_Type_Wildcard _range)
sem_Type (Type_MonoWildcard _range) =
(sem_Type_MonoWildcard _range)
sem_Type (Type_Variable _range _name) =
(sem_Type_Variable _range _name)
sem_Type (Type_NamedWildcard _range _name) =
(sem_Type_NamedWildcard _range _name)
sem_Type (Type_Forall _range _typevariables _type) =
(sem_Type_Forall _range _typevariables (sem_Type _type))
sem_Type (Type_Exists _range _typevariables _type) =
(sem_Type_Exists _range _typevariables (sem_Type _type))
sem_Type (Type_RowUpdate _range _type _rowTypeUpdates) =
(sem_Type_RowUpdate _range (sem_Type _type) (sem_RowTypeUpdates _rowTypeUpdates))
sem_Type (Type_RowEmpty _range) =
(sem_Type_RowEmpty _range)
sem_Type (Type_RowRecUpdate _range _type _rowTypeUpdates) =
(sem_Type_RowRecUpdate _range (sem_Type _type) (sem_RowTypeUpdates _rowTypeUpdates))
sem_Type (Type_RowRecEmpty _range) =
(sem_Type_RowRecEmpty _range)
sem_Type (Type_RowSumUpdate _range _type _rowTypeUpdates) =
(sem_Type_RowSumUpdate _range (sem_Type _type) (sem_RowTypeUpdates _rowTypeUpdates))
sem_Type (Type_RowSumEmpty _range) =
(sem_Type_RowSumEmpty _range)
sem_Type (Type_Qualified _range _context _type) =
(sem_Type_Qualified _range (sem_ContextItems _context) (sem_Type _type))
sem_Type (Type_TupleConstructor _range _arity) =
(sem_Type_TupleConstructor _range _arity)
-- semantic domain
type T_Type = Bool ->
FixityGam ->
UID ->
IdDefOccGam ->
Bool ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( Name,(EH.TyExpr),(Maybe EH.PrExpr),([Maybe EH.PrExpr]),(Maybe EH.TyExpr),([Maybe EH.TyExpr]),ErrSq,HsNameS,UID,IdUseOccGam,(Maybe Name),(OpChain EH.TyExpr),MaybeName,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,TypeConFixedMeaning,IdUseOccGam)
sem_Type_NormalApplication :: Range ->
T_Type ->
T_Types ->
T_Type
sem_Type_NormalApplication range_ function_ arguments_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOmbRefConNm :: (Maybe Name)
_lhsOtyConIs :: TypeConFixedMeaning
_argumentsOisAsPred :: Bool
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOconNm :: Name
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_functionOdoGenVarWild :: Bool
_functionOfixityGam :: FixityGam
_functionOgUniq :: UID
_functionOidGam :: IdDefOccGam
_functionOisAsPred :: Bool
_functionOnmLev :: NmLev
_functionOopts :: EHCOpts
_functionOpatchEhNmInInstance :: PatchEhNmInInstance
_functionOtopInstanceNmL :: ([HsName])
_functionOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_argumentsOfixityGam :: FixityGam
_argumentsOgUniq :: UID
_argumentsOidGam :: IdDefOccGam
_argumentsOnmLev :: NmLev
_argumentsOopts :: EHCOpts
_argumentsOpatchEhNmInInstance :: PatchEhNmInInstance
_argumentsOtopInstanceNmL :: ([HsName])
_argumentsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_functionIconNm :: Name
_functionIeh :: (EH.TyExpr)
_functionIehMbAsPr :: (Maybe EH.PrExpr)
_functionIehMbAsPrL :: ([Maybe EH.PrExpr])
_functionIehMbAsTyPr :: (Maybe EH.TyExpr)
_functionIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_functionIerrSq :: ErrSq
_functionIfreeTvarS :: HsNameS
_functionIgUniq :: UID
_functionIidUseOccGam :: IdUseOccGam
_functionImbRefConNm :: (Maybe Name)
_functionIopChain :: (OpChain EH.TyExpr)
_functionIoperatorName :: MaybeName
_functionIpp :: PP_Doc
_functionIppWrap :: (PP_Doc -> PP_Doc)
_functionItopInstanceNmL :: ([HsName])
_functionItrpp :: TrPP
_functionItyConIs :: TypeConFixedMeaning
_functionIundefOccGam :: IdUseOccGam
_argumentsIeh :: ([EH.TyExpr])
_argumentsIerrSq :: ErrSq
_argumentsIfreeTvarS :: HsNameS
_argumentsIgUniq :: UID
_argumentsIidUseOccGam :: IdUseOccGam
_argumentsIpp :: PP_Doc
_argumentsIppL :: ([PP_Doc])
_argumentsIppWrap :: (PP_Doc -> PP_Doc)
_argumentsItopInstanceNmL :: ([HsName])
_argumentsItrpp :: TrPP
_argumentsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 116, column 9)
_pp =
let f = _functionIpp
in ppAppTop (_functionIconNm, f)
_argumentsIppL (f >#< ppSpaces _argumentsIppL)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 118, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 210, column 9)
_eh =
appTopApp (_functionIeh : _argumentsIeh)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 347, column 9)
_ehMbAsPr =
case _functionImbRefConNm of
Just conNm | _lhsIisAsPred
-> Just $ rngLift range_ EH.PrExpr_Class conNm _argumentsIeh
_ -> Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 376, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 388, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 398, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 149, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 167, column 9)
_lhsOtyConIs =
_functionItyConIs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 177, column 9)
_argumentsOisAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_ehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_functionIerrSq `Seq.union` _argumentsIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_functionIfreeTvarS `Set.union` _argumentsIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_functionIidUseOccGam `gamAddGam` _argumentsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_functionIppWrap . _argumentsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_functionItrpp >< _argumentsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_functionIundefOccGam `gamUnion` _argumentsIundefOccGam
-- copy rule (up)
_lhsOconNm =
_functionIconNm
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (up)
_lhsOgUniq =
_argumentsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_argumentsItopInstanceNmL
-- copy rule (down)
_functionOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_functionOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_functionOgUniq =
_lhsIgUniq
-- copy rule (down)
_functionOidGam =
_lhsIidGam
-- copy rule (down)
_functionOisAsPred =
_lhsIisAsPred
-- copy rule (down)
_functionOnmLev =
_lhsInmLev
-- copy rule (down)
_functionOopts =
_lhsIopts
-- copy rule (down)
_functionOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_functionOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_functionOtr =
_lhsItr
-- copy rule (down)
_argumentsOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_argumentsOgUniq =
_functionIgUniq
-- copy rule (down)
_argumentsOidGam =
_lhsIidGam
-- copy rule (down)
_argumentsOnmLev =
_lhsInmLev
-- copy rule (down)
_argumentsOopts =
_lhsIopts
-- copy rule (down)
_argumentsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_argumentsOtopInstanceNmL =
_functionItopInstanceNmL
-- copy rule (down)
_argumentsOtr =
_lhsItr
( _functionIconNm,_functionIeh,_functionIehMbAsPr,_functionIehMbAsPrL,_functionIehMbAsTyPr,_functionIehMbAsTyPrL,_functionIerrSq,_functionIfreeTvarS,_functionIgUniq,_functionIidUseOccGam,_functionImbRefConNm,_functionIopChain,_functionIoperatorName,_functionIpp,_functionIppWrap,_functionItopInstanceNmL,_functionItrpp,_functionItyConIs,_functionIundefOccGam) =
function_ _functionOdoGenVarWild _functionOfixityGam _functionOgUniq _functionOidGam _functionOisAsPred _functionOnmLev _functionOopts _functionOpatchEhNmInInstance _functionOtopInstanceNmL _functionOtr
( _argumentsIeh,_argumentsIerrSq,_argumentsIfreeTvarS,_argumentsIgUniq,_argumentsIidUseOccGam,_argumentsIpp,_argumentsIppL,_argumentsIppWrap,_argumentsItopInstanceNmL,_argumentsItrpp,_argumentsIundefOccGam) =
arguments_ _argumentsOfixityGam _argumentsOgUniq _argumentsOidGam _argumentsOisAsPred _argumentsOnmLev _argumentsOopts _argumentsOpatchEhNmInInstance _argumentsOtopInstanceNmL _argumentsOtr
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_InfixApplication :: Range ->
T_Type ->
T_Type ->
T_Type ->
T_Type
sem_Type_InfixApplication range_ leftType_ operator_ rightType_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOmbRefConNm :: (Maybe Name)
_lhsOtyConIs :: TypeConFixedMeaning
_leftTypeOisAsPred :: Bool
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_leftTypeOdoGenVarWild :: Bool
_leftTypeOfixityGam :: FixityGam
_leftTypeOgUniq :: UID
_leftTypeOidGam :: IdDefOccGam
_leftTypeOnmLev :: NmLev
_leftTypeOopts :: EHCOpts
_leftTypeOpatchEhNmInInstance :: PatchEhNmInInstance
_leftTypeOtopInstanceNmL :: ([HsName])
_leftTypeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_operatorOdoGenVarWild :: Bool
_operatorOfixityGam :: FixityGam
_operatorOgUniq :: UID
_operatorOidGam :: IdDefOccGam
_operatorOisAsPred :: Bool
_operatorOnmLev :: NmLev
_operatorOopts :: EHCOpts
_operatorOpatchEhNmInInstance :: PatchEhNmInInstance
_operatorOtopInstanceNmL :: ([HsName])
_operatorOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_rightTypeOdoGenVarWild :: Bool
_rightTypeOfixityGam :: FixityGam
_rightTypeOgUniq :: UID
_rightTypeOidGam :: IdDefOccGam
_rightTypeOisAsPred :: Bool
_rightTypeOnmLev :: NmLev
_rightTypeOopts :: EHCOpts
_rightTypeOpatchEhNmInInstance :: PatchEhNmInInstance
_rightTypeOtopInstanceNmL :: ([HsName])
_rightTypeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_leftTypeIconNm :: Name
_leftTypeIeh :: (EH.TyExpr)
_leftTypeIehMbAsPr :: (Maybe EH.PrExpr)
_leftTypeIehMbAsPrL :: ([Maybe EH.PrExpr])
_leftTypeIehMbAsTyPr :: (Maybe EH.TyExpr)
_leftTypeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_leftTypeIerrSq :: ErrSq
_leftTypeIfreeTvarS :: HsNameS
_leftTypeIgUniq :: UID
_leftTypeIidUseOccGam :: IdUseOccGam
_leftTypeImbRefConNm :: (Maybe Name)
_leftTypeIopChain :: (OpChain EH.TyExpr)
_leftTypeIoperatorName :: MaybeName
_leftTypeIpp :: PP_Doc
_leftTypeIppWrap :: (PP_Doc -> PP_Doc)
_leftTypeItopInstanceNmL :: ([HsName])
_leftTypeItrpp :: TrPP
_leftTypeItyConIs :: TypeConFixedMeaning
_leftTypeIundefOccGam :: IdUseOccGam
_operatorIconNm :: Name
_operatorIeh :: (EH.TyExpr)
_operatorIehMbAsPr :: (Maybe EH.PrExpr)
_operatorIehMbAsPrL :: ([Maybe EH.PrExpr])
_operatorIehMbAsTyPr :: (Maybe EH.TyExpr)
_operatorIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_operatorIerrSq :: ErrSq
_operatorIfreeTvarS :: HsNameS
_operatorIgUniq :: UID
_operatorIidUseOccGam :: IdUseOccGam
_operatorImbRefConNm :: (Maybe Name)
_operatorIopChain :: (OpChain EH.TyExpr)
_operatorIoperatorName :: MaybeName
_operatorIpp :: PP_Doc
_operatorIppWrap :: (PP_Doc -> PP_Doc)
_operatorItopInstanceNmL :: ([HsName])
_operatorItrpp :: TrPP
_operatorItyConIs :: TypeConFixedMeaning
_operatorIundefOccGam :: IdUseOccGam
_rightTypeIconNm :: Name
_rightTypeIeh :: (EH.TyExpr)
_rightTypeIehMbAsPr :: (Maybe EH.PrExpr)
_rightTypeIehMbAsPrL :: ([Maybe EH.PrExpr])
_rightTypeIehMbAsTyPr :: (Maybe EH.TyExpr)
_rightTypeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_rightTypeIerrSq :: ErrSq
_rightTypeIfreeTvarS :: HsNameS
_rightTypeIgUniq :: UID
_rightTypeIidUseOccGam :: IdUseOccGam
_rightTypeImbRefConNm :: (Maybe Name)
_rightTypeIopChain :: (OpChain EH.TyExpr)
_rightTypeIoperatorName :: MaybeName
_rightTypeIpp :: PP_Doc
_rightTypeIppWrap :: (PP_Doc -> PP_Doc)
_rightTypeItopInstanceNmL :: ([HsName])
_rightTypeItrpp :: TrPP
_rightTypeItyConIs :: TypeConFixedMeaning
_rightTypeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 263, column 9)
_lhsOconNm =
_operatorIconNm
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 65, column 9)
_errSq =
Seq.unions [Seq.fromList _ctxtFormErrs, _leftTypeIerrSq, _operatorIerrSq, _rightTypeIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 120, column 9)
_pp =
let args = [_leftTypeIpp,_rightTypeIpp]
o = _operatorIpp
in ppAppTop (_operatorIconNm, o)
args (o >#< ppSpaces args)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 58, column 9)
_fgi =
case _operatorIoperatorName of
Just n
-> fixityGamLookup n _lhsIfixityGam
_ -> defaultFixityGamInfo
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 112, column 9)
_lhsOopChain =
if _isPredOp
then OpChain_Leaf _eh
else
OpChain_Op _operatorIeh _operatorIpp (fgiFixity _fgi) (fgiPrio _fgi) range_ _leftTypeIopChain _rightTypeIopChain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 212, column 25)
(_eh,_ctxtFormErrs,_isPredOp) =
if not _lhsIisAsPred && _operatorItyConIs == TyConIsPrArrow
then let t = foldr app1Arr _rightTypeIeh [ pr | (Just pr) <- _leftTypeIehMbAsTyPrL ]
in if all isJust _leftTypeIehMbAsTyPrL
then (t, [] , True )
else (t, [rngLift range_ Err_MalformedPred _leftTypeIpp] , False)
else (appRngParApp range_ [_operatorIeh,_leftTypeIeh,_rightTypeIeh], [], False)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 354, column 9)
_ehMbAsPr =
case (_leftTypeIehMbAsPr,_rightTypeIehMbAsPr) of
(Just l,Just r) | _operatorItyConIs == TyConIsPrArrow && _lhsIisAsPred
-> Just $ rngLift range_ EH.PrExpr_Arrow l r
(Nothing,Nothing) | _lhsIisAsPred
-> case _operatorItyConIs of
TyConIsPrArrow -> Just $ rngLift range_ EH.PrExpr_Class (fromJust _operatorImbRefConNm) [_leftTypeIeh,_rightTypeIeh]
TyConIsEqTilde -> Just $ rngLift range_ EH.PrExpr_Eq _leftTypeIeh _rightTypeIeh
TyConIsOther -> Just $ rngLift range_ EH.PrExpr_Class (fromJust _operatorImbRefConNm) [_leftTypeIeh,_rightTypeIeh]
_ -> Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 376, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 388, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 398, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 149, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 175, column 9)
_leftTypeOisAsPred =
_lhsIisAsPred || _operatorItyConIs == TyConIsPrArrow
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_ehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_leftTypeIfreeTvarS `Set.union` _operatorIfreeTvarS `Set.union` _rightTypeIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_leftTypeIidUseOccGam `gamAddGam` _operatorIidUseOccGam `gamAddGam` _rightTypeIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_leftTypeIppWrap . _operatorIppWrap . _rightTypeIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_leftTypeItrpp >< _operatorItrpp >< _rightTypeItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_leftTypeIundefOccGam `gamUnion` _operatorIundefOccGam `gamUnion` _rightTypeIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (up)
_lhsOgUniq =
_rightTypeIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_rightTypeItopInstanceNmL
-- copy rule (down)
_leftTypeOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_leftTypeOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_leftTypeOgUniq =
_lhsIgUniq
-- copy rule (down)
_leftTypeOidGam =
_lhsIidGam
-- copy rule (down)
_leftTypeOnmLev =
_lhsInmLev
-- copy rule (down)
_leftTypeOopts =
_lhsIopts
-- copy rule (down)
_leftTypeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_leftTypeOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_leftTypeOtr =
_lhsItr
-- copy rule (down)
_operatorOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_operatorOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_operatorOgUniq =
_leftTypeIgUniq
-- copy rule (down)
_operatorOidGam =
_lhsIidGam
-- copy rule (down)
_operatorOisAsPred =
_lhsIisAsPred
-- copy rule (down)
_operatorOnmLev =
_lhsInmLev
-- copy rule (down)
_operatorOopts =
_lhsIopts
-- copy rule (down)
_operatorOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_operatorOtopInstanceNmL =
_leftTypeItopInstanceNmL
-- copy rule (down)
_operatorOtr =
_lhsItr
-- copy rule (down)
_rightTypeOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_rightTypeOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_rightTypeOgUniq =
_operatorIgUniq
-- copy rule (down)
_rightTypeOidGam =
_lhsIidGam
-- copy rule (down)
_rightTypeOisAsPred =
_lhsIisAsPred
-- copy rule (down)
_rightTypeOnmLev =
_lhsInmLev
-- copy rule (down)
_rightTypeOopts =
_lhsIopts
-- copy rule (down)
_rightTypeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_rightTypeOtopInstanceNmL =
_operatorItopInstanceNmL
-- copy rule (down)
_rightTypeOtr =
_lhsItr
( _leftTypeIconNm,_leftTypeIeh,_leftTypeIehMbAsPr,_leftTypeIehMbAsPrL,_leftTypeIehMbAsTyPr,_leftTypeIehMbAsTyPrL,_leftTypeIerrSq,_leftTypeIfreeTvarS,_leftTypeIgUniq,_leftTypeIidUseOccGam,_leftTypeImbRefConNm,_leftTypeIopChain,_leftTypeIoperatorName,_leftTypeIpp,_leftTypeIppWrap,_leftTypeItopInstanceNmL,_leftTypeItrpp,_leftTypeItyConIs,_leftTypeIundefOccGam) =
leftType_ _leftTypeOdoGenVarWild _leftTypeOfixityGam _leftTypeOgUniq _leftTypeOidGam _leftTypeOisAsPred _leftTypeOnmLev _leftTypeOopts _leftTypeOpatchEhNmInInstance _leftTypeOtopInstanceNmL _leftTypeOtr
( _operatorIconNm,_operatorIeh,_operatorIehMbAsPr,_operatorIehMbAsPrL,_operatorIehMbAsTyPr,_operatorIehMbAsTyPrL,_operatorIerrSq,_operatorIfreeTvarS,_operatorIgUniq,_operatorIidUseOccGam,_operatorImbRefConNm,_operatorIopChain,_operatorIoperatorName,_operatorIpp,_operatorIppWrap,_operatorItopInstanceNmL,_operatorItrpp,_operatorItyConIs,_operatorIundefOccGam) =
operator_ _operatorOdoGenVarWild _operatorOfixityGam _operatorOgUniq _operatorOidGam _operatorOisAsPred _operatorOnmLev _operatorOopts _operatorOpatchEhNmInInstance _operatorOtopInstanceNmL _operatorOtr
( _rightTypeIconNm,_rightTypeIeh,_rightTypeIehMbAsPr,_rightTypeIehMbAsPrL,_rightTypeIehMbAsTyPr,_rightTypeIehMbAsTyPrL,_rightTypeIerrSq,_rightTypeIfreeTvarS,_rightTypeIgUniq,_rightTypeIidUseOccGam,_rightTypeImbRefConNm,_rightTypeIopChain,_rightTypeIoperatorName,_rightTypeIpp,_rightTypeIppWrap,_rightTypeItopInstanceNmL,_rightTypeItrpp,_rightTypeItyConIs,_rightTypeIundefOccGam) =
rightType_ _rightTypeOdoGenVarWild _rightTypeOfixityGam _rightTypeOgUniq _rightTypeOidGam _rightTypeOisAsPred _rightTypeOnmLev _rightTypeOopts _rightTypeOpatchEhNmInInstance _rightTypeOtopInstanceNmL _rightTypeOtr
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_InfixApplicationChainTop :: Range ->
T_Type ->
T_Type
sem_Type_InfixApplicationChainTop range_ type_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOmbRefConNm :: (Maybe Name)
_lhsOtyConIs :: TypeConFixedMeaning
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOconNm :: Name
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 67, column 9)
_errSq =
Seq.unions [Seq.fromList _errRearr, _typeIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 118, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 122, column 25)
(_ehRearrOpChain,_errRearr) =
opChainReArrange _typeIopChain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 122, column 9)
_ehFromOpChain =
unOpChain _ehRearrOpChain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 220, column 9)
_eh =
_ehFromOpChain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 364, column 9)
_ehMbAsPr =
_typeIehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 376, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 388, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 398, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 149, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 9)
_lhsOtyConIs =
TyConIsOther
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_ehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_typeIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_typeIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_typeIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_typeIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_typeItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_typeIundefOccGam
-- copy rule (up)
_lhsOconNm =
_typeIconNm
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (up)
_lhsOgUniq =
_typeIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_typeItopInstanceNmL
-- copy rule (down)
_typeOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_typeOgUniq =
_lhsIgUniq
-- copy rule (down)
_typeOidGam =
_lhsIidGam
-- copy rule (down)
_typeOisAsPred =
_lhsIisAsPred
-- copy rule (down)
_typeOnmLev =
_lhsInmLev
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (down)
_typeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_typeOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_Constructor :: Range ->
Name ->
T_Type
sem_Type_Constructor range_ name_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOmbRefConNm :: (Maybe Name)
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_lhsOtyConIs :: TypeConFixedMeaning
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 660, column 29)
(_refname,_,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [name_] _idOccKind _idAsp range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 676, column 29)
(_idOccKind,_idAsp) =
if _lhsIisAsPred && _tyConIs == TyConIsOther
then (IdOcc_Class,IdAsp_Class_Class)
else (IdOcc_Type,IdAsp_Type_Con)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 261, column 9)
_lhsOconNm =
name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 61, column 9)
_errSq =
Seq.fromList _errIdUse
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 125, column 9)
_pp =
ppCon name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 50, column 9)
_lhsOoperatorName =
Just _refname
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 118, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 230, column 9)
_eh =
rngLift range_ EH.TyExpr_Con _refname
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 366, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 376, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 388, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 398, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 147, column 9)
_lhsOmbRefConNm =
Just _refname
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 163, column 9)
_tyConIs =
if hsnIsPrArrow name_ then TyConIsPrArrow
else if hsnIsEqTilde name_ then TyConIsEqTilde
else TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 180, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_ehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (from local)
_lhsOtyConIs =
_tyConIs
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_Parenthesized :: Range ->
T_Type ->
T_Type
sem_Type_Parenthesized range_ type_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOmbRefConNm :: (Maybe Name)
_lhsOtyConIs :: TypeConFixedMeaning
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 266, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 127, column 9)
_pp =
ppParens _typeIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 118, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 232, column 9)
_eh =
rngLift range_ EH.TyExpr_Parens _typeIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 364, column 9)
_ehMbAsPr =
_typeIehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 374, column 9)
_ehMbAsPrL =
_typeIehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 388, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 149, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 9)
_lhsOtyConIs =
TyConIsOther
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_typeIehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_typeIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_typeIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_typeIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_typeIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_typeItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_typeIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (up)
_lhsOgUniq =
_typeIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_typeItopInstanceNmL
-- copy rule (down)
_typeOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_typeOgUniq =
_lhsIgUniq
-- copy rule (down)
_typeOidGam =
_lhsIidGam
-- copy rule (down)
_typeOisAsPred =
_lhsIisAsPred
-- copy rule (down)
_typeOnmLev =
_lhsInmLev
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (down)
_typeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_typeOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_SectionApplication :: Range ->
T_MaybeType ->
T_Type ->
T_MaybeType ->
T_Type
sem_Type_SectionApplication range_ leftType_ operator_ rightType_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOmbRefConNm :: (Maybe Name)
_lhsOtyConIs :: TypeConFixedMeaning
_leftTypeOgUniq :: UID
_lUniq_1_nm :: UID
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_leftTypeOdoGenVarWild :: Bool
_leftTypeOfixityGam :: FixityGam
_leftTypeOidGam :: IdDefOccGam
_leftTypeOnmLev :: NmLev
_leftTypeOopts :: EHCOpts
_leftTypeOpatchEhNmInInstance :: PatchEhNmInInstance
_leftTypeOtopInstanceNmL :: ([HsName])
_leftTypeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_operatorOdoGenVarWild :: Bool
_operatorOfixityGam :: FixityGam
_operatorOgUniq :: UID
_operatorOidGam :: IdDefOccGam
_operatorOisAsPred :: Bool
_operatorOnmLev :: NmLev
_operatorOopts :: EHCOpts
_operatorOpatchEhNmInInstance :: PatchEhNmInInstance
_operatorOtopInstanceNmL :: ([HsName])
_operatorOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_rightTypeOdoGenVarWild :: Bool
_rightTypeOfixityGam :: FixityGam
_rightTypeOgUniq :: UID
_rightTypeOidGam :: IdDefOccGam
_rightTypeOnmLev :: NmLev
_rightTypeOopts :: EHCOpts
_rightTypeOpatchEhNmInInstance :: PatchEhNmInInstance
_rightTypeOtopInstanceNmL :: ([HsName])
_rightTypeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_leftTypeIeh :: (Maybe EH.TyExpr)
_leftTypeIerrSq :: ErrSq
_leftTypeIfreeTvarS :: HsNameS
_leftTypeIgUniq :: UID
_leftTypeIidUseOccGam :: IdUseOccGam
_leftTypeIpp :: PP_Doc
_leftTypeIppMb :: (Maybe PP_Doc)
_leftTypeIppWrap :: (PP_Doc -> PP_Doc)
_leftTypeItopInstanceNmL :: ([HsName])
_leftTypeItrpp :: TrPP
_leftTypeIundefOccGam :: IdUseOccGam
_operatorIconNm :: Name
_operatorIeh :: (EH.TyExpr)
_operatorIehMbAsPr :: (Maybe EH.PrExpr)
_operatorIehMbAsPrL :: ([Maybe EH.PrExpr])
_operatorIehMbAsTyPr :: (Maybe EH.TyExpr)
_operatorIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_operatorIerrSq :: ErrSq
_operatorIfreeTvarS :: HsNameS
_operatorIgUniq :: UID
_operatorIidUseOccGam :: IdUseOccGam
_operatorImbRefConNm :: (Maybe Name)
_operatorIopChain :: (OpChain EH.TyExpr)
_operatorIoperatorName :: MaybeName
_operatorIpp :: PP_Doc
_operatorIppWrap :: (PP_Doc -> PP_Doc)
_operatorItopInstanceNmL :: ([HsName])
_operatorItrpp :: TrPP
_operatorItyConIs :: TypeConFixedMeaning
_operatorIundefOccGam :: IdUseOccGam
_rightTypeIeh :: (Maybe EH.TyExpr)
_rightTypeIerrSq :: ErrSq
_rightTypeIfreeTvarS :: HsNameS
_rightTypeIgUniq :: UID
_rightTypeIidUseOccGam :: IdUseOccGam
_rightTypeIpp :: PP_Doc
_rightTypeIppMb :: (Maybe PP_Doc)
_rightTypeIppWrap :: (PP_Doc -> PP_Doc)
_rightTypeItopInstanceNmL :: ([HsName])
_rightTypeItrpp :: TrPP
_rightTypeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 266, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 118, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 222, column 9)
_eh =
ehSection
_lUniq_1_nm range_
EH.TyExpr_Var
(rngAntilift id)
EH.TyExpr_Lam
_leftTypeIeh _operatorIeh _rightTypeIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 366, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 376, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 388, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 398, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 149, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 180, column 17)
_isAsPred =
False
-- -- generated by the unique rule mechanism.
(_leftTypeOgUniq,_lUniq_1_nm) =
let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq_1_nm) -> (__cont,lUniq_1_nm)} )
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_ehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_leftTypeIerrSq `Seq.union` _operatorIerrSq `Seq.union` _rightTypeIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_leftTypeIfreeTvarS `Set.union` _operatorIfreeTvarS `Set.union` _rightTypeIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_leftTypeIidUseOccGam `gamAddGam` _operatorIidUseOccGam `gamAddGam` _rightTypeIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_leftTypeIpp >-< _operatorIpp >-< _rightTypeIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_leftTypeIppWrap . _operatorIppWrap . _rightTypeIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_leftTypeItrpp >< _operatorItrpp >< _rightTypeItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_leftTypeIundefOccGam `gamUnion` _operatorIundefOccGam `gamUnion` _rightTypeIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (up)
_lhsOgUniq =
_rightTypeIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_rightTypeItopInstanceNmL
-- copy rule (down)
_leftTypeOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_leftTypeOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_leftTypeOidGam =
_lhsIidGam
-- copy rule (down)
_leftTypeOnmLev =
_lhsInmLev
-- copy rule (down)
_leftTypeOopts =
_lhsIopts
-- copy rule (down)
_leftTypeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_leftTypeOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_leftTypeOtr =
_lhsItr
-- copy rule (down)
_operatorOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_operatorOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_operatorOgUniq =
_leftTypeIgUniq
-- copy rule (down)
_operatorOidGam =
_lhsIidGam
-- copy rule (from local)
_operatorOisAsPred =
_isAsPred
-- copy rule (down)
_operatorOnmLev =
_lhsInmLev
-- copy rule (down)
_operatorOopts =
_lhsIopts
-- copy rule (down)
_operatorOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_operatorOtopInstanceNmL =
_leftTypeItopInstanceNmL
-- copy rule (down)
_operatorOtr =
_lhsItr
-- copy rule (down)
_rightTypeOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_rightTypeOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_rightTypeOgUniq =
_operatorIgUniq
-- copy rule (down)
_rightTypeOidGam =
_lhsIidGam
-- copy rule (down)
_rightTypeOnmLev =
_lhsInmLev
-- copy rule (down)
_rightTypeOopts =
_lhsIopts
-- copy rule (down)
_rightTypeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_rightTypeOtopInstanceNmL =
_operatorItopInstanceNmL
-- copy rule (down)
_rightTypeOtr =
_lhsItr
( _leftTypeIeh,_leftTypeIerrSq,_leftTypeIfreeTvarS,_leftTypeIgUniq,_leftTypeIidUseOccGam,_leftTypeIpp,_leftTypeIppMb,_leftTypeIppWrap,_leftTypeItopInstanceNmL,_leftTypeItrpp,_leftTypeIundefOccGam) =
leftType_ _leftTypeOdoGenVarWild _leftTypeOfixityGam _leftTypeOgUniq _leftTypeOidGam _leftTypeOnmLev _leftTypeOopts _leftTypeOpatchEhNmInInstance _leftTypeOtopInstanceNmL _leftTypeOtr
( _operatorIconNm,_operatorIeh,_operatorIehMbAsPr,_operatorIehMbAsPrL,_operatorIehMbAsTyPr,_operatorIehMbAsTyPrL,_operatorIerrSq,_operatorIfreeTvarS,_operatorIgUniq,_operatorIidUseOccGam,_operatorImbRefConNm,_operatorIopChain,_operatorIoperatorName,_operatorIpp,_operatorIppWrap,_operatorItopInstanceNmL,_operatorItrpp,_operatorItyConIs,_operatorIundefOccGam) =
operator_ _operatorOdoGenVarWild _operatorOfixityGam _operatorOgUniq _operatorOidGam _operatorOisAsPred _operatorOnmLev _operatorOopts _operatorOpatchEhNmInInstance _operatorOtopInstanceNmL _operatorOtr
( _rightTypeIeh,_rightTypeIerrSq,_rightTypeIfreeTvarS,_rightTypeIgUniq,_rightTypeIidUseOccGam,_rightTypeIpp,_rightTypeIppMb,_rightTypeIppWrap,_rightTypeItopInstanceNmL,_rightTypeItrpp,_rightTypeIundefOccGam) =
rightType_ _rightTypeOdoGenVarWild _rightTypeOfixityGam _rightTypeOgUniq _rightTypeOidGam _rightTypeOnmLev _rightTypeOopts _rightTypeOpatchEhNmInInstance _rightTypeOtopInstanceNmL _rightTypeOtr
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_Annotate :: Range ->
T_TypeAnnotation ->
T_Type ->
T_Type
sem_Type_Annotate range_ annotation_ type_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOmbRefConNm :: (Maybe Name)
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_lhsOtyConIs :: TypeConFixedMeaning
_annotationOfixityGam :: FixityGam
_annotationOgUniq :: UID
_annotationOidGam :: IdDefOccGam
_annotationOnmLev :: NmLev
_annotationOopts :: EHCOpts
_annotationOpatchEhNmInInstance :: PatchEhNmInInstance
_annotationOtopInstanceNmL :: ([HsName])
_annotationOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_annotationIeh :: (EH.TyExprAnn)
_annotationIerrSq :: ErrSq
_annotationIfreeTvarS :: HsNameS
_annotationIgUniq :: UID
_annotationIidUseOccGam :: IdUseOccGam
_annotationIpp :: PP_Doc
_annotationIppWrap :: (PP_Doc -> PP_Doc)
_annotationItopInstanceNmL :: ([HsName])
_annotationItrpp :: TrPP
_annotationIundefOccGam :: IdUseOccGam
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 266, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 129, column 9)
_pp =
_annotationIppWrap _typeIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 118, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 234, column 17)
_eh =
rngLift range_ EH.TyExpr_Ann _annotationIeh _typeIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 364, column 9)
_ehMbAsPr =
_typeIehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 374, column 9)
_ehMbAsPrL =
_typeIehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 388, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 398, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 149, column 9)
_lhsOmbRefConNm =
Nothing
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_ehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_annotationIerrSq `Seq.union` _typeIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_annotationIfreeTvarS `Set.union` _typeIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_annotationIidUseOccGam `gamAddGam` _typeIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_annotationIppWrap . _typeIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_annotationItrpp >< _typeItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_annotationIundefOccGam `gamUnion` _typeIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (up)
_lhsOgUniq =
_typeIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_typeItopInstanceNmL
-- copy rule (up)
_lhsOtyConIs =
_typeItyConIs
-- copy rule (down)
_annotationOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_annotationOgUniq =
_lhsIgUniq
-- copy rule (down)
_annotationOidGam =
_lhsIidGam
-- copy rule (down)
_annotationOnmLev =
_lhsInmLev
-- copy rule (down)
_annotationOopts =
_lhsIopts
-- copy rule (down)
_annotationOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_annotationOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_annotationOtr =
_lhsItr
-- copy rule (down)
_typeOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_typeOgUniq =
_annotationIgUniq
-- copy rule (down)
_typeOidGam =
_lhsIidGam
-- copy rule (down)
_typeOisAsPred =
_lhsIisAsPred
-- copy rule (down)
_typeOnmLev =
_lhsInmLev
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (down)
_typeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_typeOtopInstanceNmL =
_annotationItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
( _annotationIeh,_annotationIerrSq,_annotationIfreeTvarS,_annotationIgUniq,_annotationIidUseOccGam,_annotationIpp,_annotationIppWrap,_annotationItopInstanceNmL,_annotationItrpp,_annotationIundefOccGam) =
annotation_ _annotationOfixityGam _annotationOgUniq _annotationOidGam _annotationOnmLev _annotationOopts _annotationOpatchEhNmInInstance _annotationOtopInstanceNmL _annotationOtr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_Wildcard :: Range ->
T_Type
sem_Type_Wildcard range_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOmbRefConNm :: (Maybe Name)
_lhsOtyConIs :: TypeConFixedMeaning
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 266, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 131, column 9)
_pp =
pp "..."
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 118, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 236, column 9)
_eh =
rngLift range_ EH.TyExpr_Wild
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 366, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 376, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 386, column 17)
_ehMbAsTyPr =
Just $ rngLift range_ EH.TyExpr_Impls
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 396, column 17)
_ehMbAsTyPrL =
[_ehMbAsTyPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 149, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 180, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_ehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_MonoWildcard :: Range ->
T_Type
sem_Type_MonoWildcard range_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOmbRefConNm :: (Maybe Name)
_lhsOtyConIs :: TypeConFixedMeaning
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 266, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 133, column 9)
_pp =
pp "...."
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 118, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 238, column 9)
_eh =
rngLift range_ EH.TyExpr_Mono
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 366, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 376, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 386, column 17)
_ehMbAsTyPr =
Just $ rngLift range_ EH.TyExpr_Impls
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 396, column 17)
_ehMbAsTyPrL =
[_ehMbAsTyPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 149, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 180, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_ehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_Variable :: Range ->
Name ->
T_Type
sem_Type_Variable range_ name_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOfreeTvarS :: HsNameS
_lhsOmbRefConNm :: (Maybe Name)
_lhsOtyConIs :: TypeConFixedMeaning
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 656, column 9)
_idAsp =
IdAsp_Type_Var
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 656, column 9)
_idOccKind =
IdOcc_Type
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 660, column 29)
(_refname,_,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [name_] _idOccKind _idAsp range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 266, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 61, column 9)
_errSq =
Seq.fromList _errIdUse
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 135, column 9)
_pp =
pp name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 50, column 9)
_lhsOoperatorName =
Just _refname
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 118, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 240, column 9)
_eh =
rngLift range_ (if _lhsIdoGenVarWild then EH.TyExpr_VarWild else EH.TyExpr_Var) name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 366, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 376, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 388, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 398, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 133, column 9)
_lhsOfreeTvarS =
Set.singleton name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 149, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 180, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_ehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_NamedWildcard :: Range ->
Name ->
T_Type
sem_Type_NamedWildcard range_ name_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOfreeTvarS :: HsNameS
_lhsOmbRefConNm :: (Maybe Name)
_lhsOtyConIs :: TypeConFixedMeaning
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 656, column 9)
_idAsp =
IdAsp_Type_Var
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 656, column 9)
_idOccKind =
IdOcc_Type
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 660, column 29)
(_refname,_,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [name_] _idOccKind _idAsp range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 266, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 61, column 9)
_errSq =
Seq.fromList _errIdUse
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 137, column 9)
_pp =
"%" >|< name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 118, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 242, column 9)
_eh =
rngLift range_ EH.TyExpr_VarWild name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 366, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 376, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 388, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 398, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 133, column 9)
_lhsOfreeTvarS =
Set.singleton name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 149, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 180, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_ehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_Forall :: Range ->
Names ->
T_Type ->
T_Type
sem_Type_Forall range_ typevariables_ type_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOfreeTvarS :: HsNameS
_lhsOmbRefConNm :: (Maybe Name)
_lhsOtyConIs :: TypeConFixedMeaning
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 307, column 9)
_idDefOccGamInside =
tvarL2IdDefOccGam _lhsInmLev range_ typevariables_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 481, column 9)
_idGam =
gamUnion _idDefOccGamInside _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 266, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 33, column 9)
_nmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 112, column 9)
_errDupIntro =
idDefOccGamCheckDupNames _idDefOccGamInside
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 63, column 9)
_errSq =
Seq.unions [Seq.fromList _errDupIntro, _typeIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 139, column 9)
_pp =
"forall" >#< ppSpaces typevariables_ >#< "." >#< _typeIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 118, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 244, column 9)
_eh =
foldr (rngLift range_ EH.TyExpr_Quant tyQu_Forall) _typeIeh typevariables_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 352, column 9)
_ehMbAsPr =
foldr (\tv pr -> fmap (rngLift range_ EH.PrExpr_Forall tv) pr) _typeIehMbAsPr typevariables_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 376, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 388, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 398, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 135, column 9)
_lhsOfreeTvarS =
_typeIfreeTvarS `Set.difference` Set.fromList typevariables_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 149, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 180, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_ehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_typeIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_typeIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_typeItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_typeIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (up)
_lhsOgUniq =
_typeIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_typeItopInstanceNmL
-- copy rule (down)
_typeOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_typeOgUniq =
_lhsIgUniq
-- copy rule (from local)
_typeOidGam =
_idGam
-- copy rule (from local)
_typeOisAsPred =
_isAsPred
-- copy rule (from local)
_typeOnmLev =
_nmLev
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (down)
_typeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_typeOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_Exists :: Range ->
Names ->
T_Type ->
T_Type
sem_Type_Exists range_ typevariables_ type_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOfreeTvarS :: HsNameS
_lhsOmbRefConNm :: (Maybe Name)
_lhsOtyConIs :: TypeConFixedMeaning
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 307, column 9)
_idDefOccGamInside =
tvarL2IdDefOccGam _lhsInmLev range_ typevariables_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 481, column 9)
_idGam =
gamUnion _idDefOccGamInside _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 266, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameLevel.ag"(line 33, column 9)
_nmLev =
_lhsInmLev + 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ExtraChecks.ag"(line 112, column 9)
_errDupIntro =
idDefOccGamCheckDupNames _idDefOccGamInside
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 63, column 9)
_errSq =
Seq.unions [Seq.fromList _errDupIntro, _typeIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 141, column 9)
_pp =
"exists" >#< ppSpaces typevariables_ >#< "." >#< _typeIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 118, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 246, column 9)
_eh =
foldr (rngLift range_ EH.TyExpr_Quant tyQu_Exists) _typeIeh typevariables_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 366, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 376, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 388, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 398, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 135, column 9)
_lhsOfreeTvarS =
_typeIfreeTvarS `Set.difference` Set.fromList typevariables_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 149, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 180, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_ehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_errSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_typeIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_typeIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_typeItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_typeIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (up)
_lhsOgUniq =
_typeIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_typeItopInstanceNmL
-- copy rule (down)
_typeOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_typeOgUniq =
_lhsIgUniq
-- copy rule (from local)
_typeOidGam =
_idGam
-- copy rule (from local)
_typeOisAsPred =
_isAsPred
-- copy rule (from local)
_typeOnmLev =
_nmLev
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (down)
_typeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_typeOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_RowUpdate :: Range ->
T_Type ->
T_RowTypeUpdates ->
T_Type
sem_Type_RowUpdate range_ type_ rowTypeUpdates_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOmbRefConNm :: (Maybe Name)
_lhsOtyConIs :: TypeConFixedMeaning
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_rowTypeUpdatesOdoGenVarWild :: Bool
_rowTypeUpdatesOfixityGam :: FixityGam
_rowTypeUpdatesOgUniq :: UID
_rowTypeUpdatesOidGam :: IdDefOccGam
_rowTypeUpdatesOisAsPred :: Bool
_rowTypeUpdatesOnmLev :: NmLev
_rowTypeUpdatesOopts :: EHCOpts
_rowTypeUpdatesOpatchEhNmInInstance :: PatchEhNmInInstance
_rowTypeUpdatesOtopInstanceNmL :: ([HsName])
_rowTypeUpdatesOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
_rowTypeUpdatesIeh :: ([EH.TyExpr -> EH.TyExpr])
_rowTypeUpdatesIehMbAsPrL :: ([Maybe EH.PrExpr])
_rowTypeUpdatesIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_rowTypeUpdatesIerrSq :: ErrSq
_rowTypeUpdatesIfreeTvarS :: HsNameS
_rowTypeUpdatesIgUniq :: UID
_rowTypeUpdatesIidUseOccGam :: IdUseOccGam
_rowTypeUpdatesIpp :: PP_Doc
_rowTypeUpdatesIppL :: ([PP_Doc])
_rowTypeUpdatesIppWrap :: (PP_Doc -> PP_Doc)
_rowTypeUpdatesItopInstanceNmL :: ([HsName])
_rowTypeUpdatesItrpp :: TrPP
_rowTypeUpdatesIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 266, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 143, column 9)
_pp =
ppAppTop (hsnRow,mkPPAppFun hsnRowEmpty _typeIpp)
_rowTypeUpdatesIppL _typeIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 118, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 248, column 9)
_eh =
foldl (flip ($)) _typeIeh _rowTypeUpdatesIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 366, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 376, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 388, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 398, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 149, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 180, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_ehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_typeIerrSq `Seq.union` _rowTypeUpdatesIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_typeIfreeTvarS `Set.union` _rowTypeUpdatesIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_typeIidUseOccGam `gamAddGam` _rowTypeUpdatesIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_typeIppWrap . _rowTypeUpdatesIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_typeItrpp >< _rowTypeUpdatesItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_typeIundefOccGam `gamUnion` _rowTypeUpdatesIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (up)
_lhsOgUniq =
_rowTypeUpdatesIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_rowTypeUpdatesItopInstanceNmL
-- copy rule (down)
_typeOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_typeOgUniq =
_lhsIgUniq
-- copy rule (down)
_typeOidGam =
_lhsIidGam
-- copy rule (from local)
_typeOisAsPred =
_isAsPred
-- copy rule (down)
_typeOnmLev =
_lhsInmLev
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (down)
_typeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_typeOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
-- copy rule (down)
_rowTypeUpdatesOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_rowTypeUpdatesOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_rowTypeUpdatesOgUniq =
_typeIgUniq
-- copy rule (down)
_rowTypeUpdatesOidGam =
_lhsIidGam
-- copy rule (from local)
_rowTypeUpdatesOisAsPred =
_isAsPred
-- copy rule (down)
_rowTypeUpdatesOnmLev =
_lhsInmLev
-- copy rule (down)
_rowTypeUpdatesOopts =
_lhsIopts
-- copy rule (down)
_rowTypeUpdatesOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_rowTypeUpdatesOtopInstanceNmL =
_typeItopInstanceNmL
-- copy rule (down)
_rowTypeUpdatesOtr =
_lhsItr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
( _rowTypeUpdatesIeh,_rowTypeUpdatesIehMbAsPrL,_rowTypeUpdatesIehMbAsTyPrL,_rowTypeUpdatesIerrSq,_rowTypeUpdatesIfreeTvarS,_rowTypeUpdatesIgUniq,_rowTypeUpdatesIidUseOccGam,_rowTypeUpdatesIpp,_rowTypeUpdatesIppL,_rowTypeUpdatesIppWrap,_rowTypeUpdatesItopInstanceNmL,_rowTypeUpdatesItrpp,_rowTypeUpdatesIundefOccGam) =
rowTypeUpdates_ _rowTypeUpdatesOdoGenVarWild _rowTypeUpdatesOfixityGam _rowTypeUpdatesOgUniq _rowTypeUpdatesOidGam _rowTypeUpdatesOisAsPred _rowTypeUpdatesOnmLev _rowTypeUpdatesOopts _rowTypeUpdatesOpatchEhNmInInstance _rowTypeUpdatesOtopInstanceNmL _rowTypeUpdatesOtr
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_RowEmpty :: Range ->
T_Type
sem_Type_RowEmpty range_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOmbRefConNm :: (Maybe Name)
_lhsOtyConIs :: TypeConFixedMeaning
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 266, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 146, column 9)
_pp =
hsnORow >|< hsnCRow
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 118, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 250, column 9)
_eh =
rngLift range_ EH.TyExpr_Row (rngLift range_ EH.RowTyExpr_Empty)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 366, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 376, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 388, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 398, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 149, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 180, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_ehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_RowRecUpdate :: Range ->
T_Type ->
T_RowTypeUpdates ->
T_Type
sem_Type_RowRecUpdate range_ type_ rowTypeUpdates_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOmbRefConNm :: (Maybe Name)
_lhsOtyConIs :: TypeConFixedMeaning
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_rowTypeUpdatesOdoGenVarWild :: Bool
_rowTypeUpdatesOfixityGam :: FixityGam
_rowTypeUpdatesOgUniq :: UID
_rowTypeUpdatesOidGam :: IdDefOccGam
_rowTypeUpdatesOisAsPred :: Bool
_rowTypeUpdatesOnmLev :: NmLev
_rowTypeUpdatesOopts :: EHCOpts
_rowTypeUpdatesOpatchEhNmInInstance :: PatchEhNmInInstance
_rowTypeUpdatesOtopInstanceNmL :: ([HsName])
_rowTypeUpdatesOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
_rowTypeUpdatesIeh :: ([EH.TyExpr -> EH.TyExpr])
_rowTypeUpdatesIehMbAsPrL :: ([Maybe EH.PrExpr])
_rowTypeUpdatesIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_rowTypeUpdatesIerrSq :: ErrSq
_rowTypeUpdatesIfreeTvarS :: HsNameS
_rowTypeUpdatesIgUniq :: UID
_rowTypeUpdatesIidUseOccGam :: IdUseOccGam
_rowTypeUpdatesIpp :: PP_Doc
_rowTypeUpdatesIppL :: ([PP_Doc])
_rowTypeUpdatesIppWrap :: (PP_Doc -> PP_Doc)
_rowTypeUpdatesItopInstanceNmL :: ([HsName])
_rowTypeUpdatesItrpp :: TrPP
_rowTypeUpdatesIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 266, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 148, column 9)
_pp =
ppAppTop (hsnRec,mkPPAppFun hsnRowEmpty _typeIpp)
_rowTypeUpdatesIppL _typeIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 118, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 252, column 9)
_eh =
foldl (\e u -> appCon1App hsnRec $ u $ ehTyExprArg $ e) _typeIeh _rowTypeUpdatesIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 366, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 372, column 9)
_ehMbAsPrL =
_rowTypeUpdatesIehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 388, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 394, column 9)
_ehMbAsTyPrL =
_rowTypeUpdatesIehMbAsTyPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 149, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 9)
_lhsOtyConIs =
TyConIsOther
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_ehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_typeIerrSq `Seq.union` _rowTypeUpdatesIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_typeIfreeTvarS `Set.union` _rowTypeUpdatesIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_typeIidUseOccGam `gamAddGam` _rowTypeUpdatesIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_typeIppWrap . _rowTypeUpdatesIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_typeItrpp >< _rowTypeUpdatesItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_typeIundefOccGam `gamUnion` _rowTypeUpdatesIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (up)
_lhsOgUniq =
_rowTypeUpdatesIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_rowTypeUpdatesItopInstanceNmL
-- copy rule (down)
_typeOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_typeOgUniq =
_lhsIgUniq
-- copy rule (down)
_typeOidGam =
_lhsIidGam
-- copy rule (down)
_typeOisAsPred =
_lhsIisAsPred
-- copy rule (down)
_typeOnmLev =
_lhsInmLev
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (down)
_typeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_typeOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
-- copy rule (down)
_rowTypeUpdatesOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_rowTypeUpdatesOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_rowTypeUpdatesOgUniq =
_typeIgUniq
-- copy rule (down)
_rowTypeUpdatesOidGam =
_lhsIidGam
-- copy rule (down)
_rowTypeUpdatesOisAsPred =
_lhsIisAsPred
-- copy rule (down)
_rowTypeUpdatesOnmLev =
_lhsInmLev
-- copy rule (down)
_rowTypeUpdatesOopts =
_lhsIopts
-- copy rule (down)
_rowTypeUpdatesOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_rowTypeUpdatesOtopInstanceNmL =
_typeItopInstanceNmL
-- copy rule (down)
_rowTypeUpdatesOtr =
_lhsItr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
( _rowTypeUpdatesIeh,_rowTypeUpdatesIehMbAsPrL,_rowTypeUpdatesIehMbAsTyPrL,_rowTypeUpdatesIerrSq,_rowTypeUpdatesIfreeTvarS,_rowTypeUpdatesIgUniq,_rowTypeUpdatesIidUseOccGam,_rowTypeUpdatesIpp,_rowTypeUpdatesIppL,_rowTypeUpdatesIppWrap,_rowTypeUpdatesItopInstanceNmL,_rowTypeUpdatesItrpp,_rowTypeUpdatesIundefOccGam) =
rowTypeUpdates_ _rowTypeUpdatesOdoGenVarWild _rowTypeUpdatesOfixityGam _rowTypeUpdatesOgUniq _rowTypeUpdatesOidGam _rowTypeUpdatesOisAsPred _rowTypeUpdatesOnmLev _rowTypeUpdatesOopts _rowTypeUpdatesOpatchEhNmInInstance _rowTypeUpdatesOtopInstanceNmL _rowTypeUpdatesOtr
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_RowRecEmpty :: Range ->
T_Type
sem_Type_RowRecEmpty range_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOmbRefConNm :: (Maybe Name)
_lhsOtyConIs :: TypeConFixedMeaning
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 266, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 151, column 9)
_pp =
pp hsnRec
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 118, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 254, column 9)
_eh =
appCon1App hsnRec $ rngLift range_ EH.TyExpr_Row (rngLift range_ EH.RowTyExpr_Empty)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 366, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 376, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 388, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 398, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 149, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 180, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_ehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_RowSumUpdate :: Range ->
T_Type ->
T_RowTypeUpdates ->
T_Type
sem_Type_RowSumUpdate range_ type_ rowTypeUpdates_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOmbRefConNm :: (Maybe Name)
_lhsOtyConIs :: TypeConFixedMeaning
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_rowTypeUpdatesOdoGenVarWild :: Bool
_rowTypeUpdatesOfixityGam :: FixityGam
_rowTypeUpdatesOgUniq :: UID
_rowTypeUpdatesOidGam :: IdDefOccGam
_rowTypeUpdatesOisAsPred :: Bool
_rowTypeUpdatesOnmLev :: NmLev
_rowTypeUpdatesOopts :: EHCOpts
_rowTypeUpdatesOpatchEhNmInInstance :: PatchEhNmInInstance
_rowTypeUpdatesOtopInstanceNmL :: ([HsName])
_rowTypeUpdatesOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
_rowTypeUpdatesIeh :: ([EH.TyExpr -> EH.TyExpr])
_rowTypeUpdatesIehMbAsPrL :: ([Maybe EH.PrExpr])
_rowTypeUpdatesIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_rowTypeUpdatesIerrSq :: ErrSq
_rowTypeUpdatesIfreeTvarS :: HsNameS
_rowTypeUpdatesIgUniq :: UID
_rowTypeUpdatesIidUseOccGam :: IdUseOccGam
_rowTypeUpdatesIpp :: PP_Doc
_rowTypeUpdatesIppL :: ([PP_Doc])
_rowTypeUpdatesIppWrap :: (PP_Doc -> PP_Doc)
_rowTypeUpdatesItopInstanceNmL :: ([HsName])
_rowTypeUpdatesItrpp :: TrPP
_rowTypeUpdatesIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 266, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 153, column 9)
_pp =
ppAppTop (hsnSum,mkPPAppFun hsnRowEmpty _typeIpp)
_rowTypeUpdatesIppL _typeIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 118, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 256, column 9)
_eh =
foldl (\e u -> appCon1App hsnSum $ u $ ehTyExprArg $ e) _typeIeh _rowTypeUpdatesIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 366, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 376, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 388, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 398, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 149, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 180, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_ehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_typeIerrSq `Seq.union` _rowTypeUpdatesIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_typeIfreeTvarS `Set.union` _rowTypeUpdatesIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_typeIidUseOccGam `gamAddGam` _rowTypeUpdatesIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_typeIppWrap . _rowTypeUpdatesIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_typeItrpp >< _rowTypeUpdatesItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_typeIundefOccGam `gamUnion` _rowTypeUpdatesIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (up)
_lhsOgUniq =
_rowTypeUpdatesIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_rowTypeUpdatesItopInstanceNmL
-- copy rule (down)
_typeOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_typeOgUniq =
_lhsIgUniq
-- copy rule (down)
_typeOidGam =
_lhsIidGam
-- copy rule (from local)
_typeOisAsPred =
_isAsPred
-- copy rule (down)
_typeOnmLev =
_lhsInmLev
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (down)
_typeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_typeOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
-- copy rule (down)
_rowTypeUpdatesOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_rowTypeUpdatesOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_rowTypeUpdatesOgUniq =
_typeIgUniq
-- copy rule (down)
_rowTypeUpdatesOidGam =
_lhsIidGam
-- copy rule (from local)
_rowTypeUpdatesOisAsPred =
_isAsPred
-- copy rule (down)
_rowTypeUpdatesOnmLev =
_lhsInmLev
-- copy rule (down)
_rowTypeUpdatesOopts =
_lhsIopts
-- copy rule (down)
_rowTypeUpdatesOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_rowTypeUpdatesOtopInstanceNmL =
_typeItopInstanceNmL
-- copy rule (down)
_rowTypeUpdatesOtr =
_lhsItr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
( _rowTypeUpdatesIeh,_rowTypeUpdatesIehMbAsPrL,_rowTypeUpdatesIehMbAsTyPrL,_rowTypeUpdatesIerrSq,_rowTypeUpdatesIfreeTvarS,_rowTypeUpdatesIgUniq,_rowTypeUpdatesIidUseOccGam,_rowTypeUpdatesIpp,_rowTypeUpdatesIppL,_rowTypeUpdatesIppWrap,_rowTypeUpdatesItopInstanceNmL,_rowTypeUpdatesItrpp,_rowTypeUpdatesIundefOccGam) =
rowTypeUpdates_ _rowTypeUpdatesOdoGenVarWild _rowTypeUpdatesOfixityGam _rowTypeUpdatesOgUniq _rowTypeUpdatesOidGam _rowTypeUpdatesOisAsPred _rowTypeUpdatesOnmLev _rowTypeUpdatesOopts _rowTypeUpdatesOpatchEhNmInInstance _rowTypeUpdatesOtopInstanceNmL _rowTypeUpdatesOtr
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_RowSumEmpty :: Range ->
T_Type
sem_Type_RowSumEmpty range_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOmbRefConNm :: (Maybe Name)
_lhsOtyConIs :: TypeConFixedMeaning
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 266, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 156, column 9)
_pp =
pp hsnSum
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 118, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 258, column 9)
_eh =
appCon1App hsnSum $ rngLift range_ EH.TyExpr_Row (rngLift range_ EH.RowTyExpr_Empty)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 366, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 376, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 388, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 398, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 149, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 180, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_ehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_Qualified :: Range ->
T_ContextItems ->
T_Type ->
T_Type
sem_Type_Qualified range_ context_ type_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOmbRefConNm :: (Maybe Name)
_lhsOtyConIs :: TypeConFixedMeaning
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_contextOfixityGam :: FixityGam
_contextOgUniq :: UID
_contextOidGam :: IdDefOccGam
_contextOnmLev :: NmLev
_contextOopts :: EHCOpts
_contextOpatchEhNmInInstance :: PatchEhNmInInstance
_contextOtopInstanceNmL :: ([HsName])
_contextOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_typeOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_contextIeh :: ([EH.PrExpr])
_contextIehTy :: ([EH.TyExpr])
_contextIerrSq :: ErrSq
_contextIfreeTvarS :: HsNameS
_contextIgUniq :: UID
_contextIidUseOccGam :: IdUseOccGam
_contextIpp :: PP_Doc
_contextIppWrap :: (PP_Doc -> PP_Doc)
_contextItopInstanceNmL :: ([HsName])
_contextItrpp :: TrPP
_contextIundefOccGam :: IdUseOccGam
_typeIconNm :: Name
_typeIeh :: (EH.TyExpr)
_typeIehMbAsPr :: (Maybe EH.PrExpr)
_typeIehMbAsPrL :: ([Maybe EH.PrExpr])
_typeIehMbAsTyPr :: (Maybe EH.TyExpr)
_typeIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_typeIerrSq :: ErrSq
_typeIfreeTvarS :: HsNameS
_typeIgUniq :: UID
_typeIidUseOccGam :: IdUseOccGam
_typeImbRefConNm :: (Maybe Name)
_typeIopChain :: (OpChain EH.TyExpr)
_typeIoperatorName :: MaybeName
_typeIpp :: PP_Doc
_typeIppWrap :: (PP_Doc -> PP_Doc)
_typeItopInstanceNmL :: ([HsName])
_typeItrpp :: TrPP
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 266, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 158, column 9)
_pp =
_contextIpp >#< "=>" >#< _typeIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 118, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 260, column 9)
_eh =
foldr app1Arr _typeIeh _contextIehTy
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 366, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 376, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 388, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 398, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 149, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 180, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_ehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_contextIerrSq `Seq.union` _typeIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_contextIfreeTvarS `Set.union` _typeIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_contextIidUseOccGam `gamAddGam` _typeIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_contextIppWrap . _typeIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_contextItrpp >< _typeItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_contextIundefOccGam `gamUnion` _typeIundefOccGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (up)
_lhsOgUniq =
_typeIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_typeItopInstanceNmL
-- copy rule (down)
_contextOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_contextOgUniq =
_lhsIgUniq
-- copy rule (down)
_contextOidGam =
_lhsIidGam
-- copy rule (down)
_contextOnmLev =
_lhsInmLev
-- copy rule (down)
_contextOopts =
_lhsIopts
-- copy rule (down)
_contextOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_contextOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_contextOtr =
_lhsItr
-- copy rule (down)
_typeOdoGenVarWild =
_lhsIdoGenVarWild
-- copy rule (down)
_typeOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_typeOgUniq =
_contextIgUniq
-- copy rule (down)
_typeOidGam =
_lhsIidGam
-- copy rule (from local)
_typeOisAsPred =
_isAsPred
-- copy rule (down)
_typeOnmLev =
_lhsInmLev
-- copy rule (down)
_typeOopts =
_lhsIopts
-- copy rule (down)
_typeOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_typeOtopInstanceNmL =
_contextItopInstanceNmL
-- copy rule (down)
_typeOtr =
_lhsItr
( _contextIeh,_contextIehTy,_contextIerrSq,_contextIfreeTvarS,_contextIgUniq,_contextIidUseOccGam,_contextIpp,_contextIppWrap,_contextItopInstanceNmL,_contextItrpp,_contextIundefOccGam) =
context_ _contextOfixityGam _contextOgUniq _contextOidGam _contextOnmLev _contextOopts _contextOpatchEhNmInInstance _contextOtopInstanceNmL _contextOtr
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItrpp,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL _typeOtr
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_TupleConstructor :: Range ->
Int ->
T_Type
sem_Type_TupleConstructor range_ arity_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.TyExpr)
_lhsOmbRefConNm :: (Maybe Name)
_lhsOtyConIs :: TypeConFixedMeaning
_lhsOehMbAsPrL :: ([Maybe EH.PrExpr])
_lhsOehMbAsTyPrL :: ([Maybe EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExpr)
_lhsOehMbAsPr :: (Maybe EH.PrExpr)
_lhsOehMbAsTyPr :: (Maybe EH.TyExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 266, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 52, column 9)
_lhsOoperatorName =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Fixity.ag"(line 118, column 9)
_lhsOopChain =
OpChain_Leaf _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 262, column 9)
_eh =
ehTupleConstructor range_ arity_ EH.TyExpr_Var (rngAntilift id)
EH.TyExpr_Lam
(\ps r -> r)
(rngAntilift $ \row -> appCon1App hsnRec (rngLift range_ EH.TyExpr_Row row))
EH.RowTyExpr_Ext EH.RowTyExpr_Empty
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 366, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 376, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 388, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 398, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 149, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 9)
_lhsOtyConIs =
TyConIsOther
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 368, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 390, column 46)
_lhsOehMbAsTyPrL =
_ehMbAsTyPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (from local)
_lhsOehMbAsPr =
_ehMbAsPr
-- copy rule (from local)
_lhsOehMbAsTyPr =
_ehMbAsTyPr
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtyConIs,_lhsOundefOccGam)))
-- TypeAnnotation ----------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.TyExprAnn
errSq : ErrSq
freeTvarS : HsNameS
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Strict:
visit 0:
local ppWrap : _
local eh : _
alternative AnnotationName:
child name : {Name}
visit 0:
local eh : _
alternative AnnotationVar:
child name : {Name}
child var : {Name}
visit 0:
local eh : _
-}
-- cata
sem_TypeAnnotation :: TypeAnnotation ->
T_TypeAnnotation
sem_TypeAnnotation (TypeAnnotation_Strict) =
(sem_TypeAnnotation_Strict)
sem_TypeAnnotation (TypeAnnotation_AnnotationName _name) =
(sem_TypeAnnotation_AnnotationName _name)
sem_TypeAnnotation (TypeAnnotation_AnnotationVar _name _var) =
(sem_TypeAnnotation_AnnotationVar _name _var)
-- semantic domain
type T_TypeAnnotation = FixityGam ->
UID ->
IdDefOccGam ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (EH.TyExprAnn),ErrSq,HsNameS,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_TypeAnnotation_Strict :: T_TypeAnnotation
sem_TypeAnnotation_Strict =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExprAnn)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 376, column 9)
_ppWrap =
\t -> "!" >|< t
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 888, column 9)
_eh =
EH.TyExprAnn_Strictness (Strictness_Strict)
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_ppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_TypeAnnotation_AnnotationName :: Name ->
T_TypeAnnotation
sem_TypeAnnotation_AnnotationName name_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExprAnn)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 890, column 9)
_eh =
case show name_ of
"strict" -> EH.TyExprAnn_Strictness (Strictness_Strict)
"nonStrict" -> EH.TyExprAnn_Strictness (Strictness_NonStrict)
_ -> EH.TyExprAnn_Empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_TypeAnnotation_AnnotationVar :: Name ->
Name ->
T_TypeAnnotation
sem_TypeAnnotation_AnnotationVar name_ var_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExprAnn)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 895, column 9)
_eh =
case show name_ of
"strictness" -> EH.TyExprAnn_Strictness (Strictness_Var var_)
_ -> EH.TyExprAnn_Empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (from local)
_lhsOeh =
_eh
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
-- TypeLeftHandSide --------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.TyVar]
errSq : ErrSq
freeTvarS : HsNameS
idDefOccGam : IdDefOccGam
idOccDefs : [IdOcc]
idUseOccGam : IdUseOccGam
name : Name
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
range : Range
trpp : TrPP
typevariables : Names
undefOccGam : IdUseOccGam
alternatives:
alternative Function:
child range : {Range}
child name : {Name}
child patterns : TypePatterns
visit 0:
local pp : _
alternative Infix:
child range : {Range}
child leftPattern : TypePattern
child operator : {Name}
child rightPattern : TypePattern
visit 0:
local pp : _
alternative Parenthesized:
child range : {Range}
child lefthandside : TypeLeftHandSide
child patterns : TypePatterns
visit 0:
local pp : _
-}
-- cata
sem_TypeLeftHandSide :: TypeLeftHandSide ->
T_TypeLeftHandSide
sem_TypeLeftHandSide (TypeLeftHandSide_Function _range _name _patterns) =
(sem_TypeLeftHandSide_Function _range _name (sem_TypePatterns _patterns))
sem_TypeLeftHandSide (TypeLeftHandSide_Infix _range _leftPattern _operator _rightPattern) =
(sem_TypeLeftHandSide_Infix _range (sem_TypePattern _leftPattern) _operator (sem_TypePattern _rightPattern))
sem_TypeLeftHandSide (TypeLeftHandSide_Parenthesized _range _lefthandside _patterns) =
(sem_TypeLeftHandSide_Parenthesized _range (sem_TypeLeftHandSide _lefthandside) (sem_TypePatterns _patterns))
-- semantic domain
type T_TypeLeftHandSide = FixityGam ->
UID ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.TyVar]),ErrSq,HsNameS,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,Name,PP_Doc,(PP_Doc -> PP_Doc),Range,([HsName]),TrPP,Names,IdUseOccGam)
sem_TypeLeftHandSide_Function :: Range ->
Name ->
T_TypePatterns ->
T_TypeLeftHandSide
sem_TypeLeftHandSide_Function range_ name_ patterns_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOrange :: Range
_lhsOname :: Name
_lhsOeh :: ([EH.TyVar])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOtypevariables :: Names
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternsOgUniq :: UID
_patternsOidGam :: IdDefOccGam
_patternsOmoduleNm :: HsName
_patternsOnmLev :: NmLev
_patternsOopts :: EHCOpts
_patternsOpatchEhNmInInstance :: PatchEhNmInInstance
_patternsOtopInstanceNmL :: ([HsName])
_patternsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternsIeh :: ([EH.TyVar])
_patternsIerrSq :: ErrSq
_patternsIgUniq :: UID
_patternsIidUseOccGam :: IdUseOccGam
_patternsIpp :: PP_Doc
_patternsIppL :: ([PP_Doc])
_patternsIppWrap :: (PP_Doc -> PP_Doc)
_patternsItopInstanceNmL :: ([HsName])
_patternsItrpp :: TrPP
_patternsItypevariables :: Names
_patternsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 212, column 9)
_lhsOrange =
range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 212, column 9)
_lhsOname =
name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 333, column 9)
_pp =
name_ >#< ppSpaces _patternsIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 774, column 9)
_lhsOeh =
rngLift range_ EH.TyVar_Var name_ : _patternsIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_patternsIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_patternsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_patternsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_patternsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 208, column 25)
_lhsOtypevariables =
_patternsItypevariables
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_patternsIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_patternsIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_patternsItopInstanceNmL
-- copy rule (down)
_patternsOgUniq =
_lhsIgUniq
-- copy rule (down)
_patternsOidGam =
_lhsIidGam
-- copy rule (down)
_patternsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_patternsOnmLev =
_lhsInmLev
-- copy rule (down)
_patternsOopts =
_lhsIopts
-- copy rule (down)
_patternsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_patternsOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_patternsOtr =
_lhsItr
( _patternsIeh,_patternsIerrSq,_patternsIgUniq,_patternsIidUseOccGam,_patternsIpp,_patternsIppL,_patternsIppWrap,_patternsItopInstanceNmL,_patternsItrpp,_patternsItypevariables,_patternsIundefOccGam) =
patterns_ _patternsOgUniq _patternsOidGam _patternsOmoduleNm _patternsOnmLev _patternsOopts _patternsOpatchEhNmInInstance _patternsOtopInstanceNmL _patternsOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOname,_lhsOpp,_lhsOppWrap,_lhsOrange,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtypevariables,_lhsOundefOccGam)))
sem_TypeLeftHandSide_Infix :: Range ->
T_TypePattern ->
Name ->
T_TypePattern ->
T_TypeLeftHandSide
sem_TypeLeftHandSide_Infix range_ leftPattern_ operator_ rightPattern_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOrange :: Range
_lhsOname :: Name
_lhsOeh :: ([EH.TyVar])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOtypevariables :: Names
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_leftPatternOgUniq :: UID
_leftPatternOidGam :: IdDefOccGam
_leftPatternOmoduleNm :: HsName
_leftPatternOnmLev :: NmLev
_leftPatternOopts :: EHCOpts
_leftPatternOpatchEhNmInInstance :: PatchEhNmInInstance
_leftPatternOtopInstanceNmL :: ([HsName])
_leftPatternOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_rightPatternOgUniq :: UID
_rightPatternOidGam :: IdDefOccGam
_rightPatternOmoduleNm :: HsName
_rightPatternOnmLev :: NmLev
_rightPatternOopts :: EHCOpts
_rightPatternOpatchEhNmInInstance :: PatchEhNmInInstance
_rightPatternOtopInstanceNmL :: ([HsName])
_rightPatternOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_leftPatternIeh :: (EH.TyVar)
_leftPatternIerrSq :: ErrSq
_leftPatternIgUniq :: UID
_leftPatternIidUseOccGam :: IdUseOccGam
_leftPatternIpp :: PP_Doc
_leftPatternIppWrap :: (PP_Doc -> PP_Doc)
_leftPatternItopInstanceNmL :: ([HsName])
_leftPatternItrpp :: TrPP
_leftPatternItypevariables :: Names
_leftPatternIundefOccGam :: IdUseOccGam
_rightPatternIeh :: (EH.TyVar)
_rightPatternIerrSq :: ErrSq
_rightPatternIgUniq :: UID
_rightPatternIidUseOccGam :: IdUseOccGam
_rightPatternIpp :: PP_Doc
_rightPatternIppWrap :: (PP_Doc -> PP_Doc)
_rightPatternItopInstanceNmL :: ([HsName])
_rightPatternItrpp :: TrPP
_rightPatternItypevariables :: Names
_rightPatternIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 215, column 9)
_lhsOrange =
range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 215, column 9)
_lhsOname =
operator_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 335, column 9)
_pp =
_leftPatternIpp >#< operator_ >#< _rightPatternIpp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 776, column 9)
_lhsOeh =
[ rngLift range_ EH.TyVar_Var operator_
, _leftPatternIeh
, _rightPatternIeh
]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_leftPatternIerrSq `Seq.union` _rightPatternIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_leftPatternIidUseOccGam `gamAddGam` _rightPatternIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_leftPatternIppWrap . _rightPatternIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_leftPatternItrpp >< _rightPatternItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 208, column 25)
_lhsOtypevariables =
_leftPatternItypevariables ++ _rightPatternItypevariables
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_leftPatternIundefOccGam `gamUnion` _rightPatternIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_rightPatternIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_rightPatternItopInstanceNmL
-- copy rule (down)
_leftPatternOgUniq =
_lhsIgUniq
-- copy rule (down)
_leftPatternOidGam =
_lhsIidGam
-- copy rule (down)
_leftPatternOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_leftPatternOnmLev =
_lhsInmLev
-- copy rule (down)
_leftPatternOopts =
_lhsIopts
-- copy rule (down)
_leftPatternOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_leftPatternOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_leftPatternOtr =
_lhsItr
-- copy rule (chain)
_rightPatternOgUniq =
_leftPatternIgUniq
-- copy rule (down)
_rightPatternOidGam =
_lhsIidGam
-- copy rule (down)
_rightPatternOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_rightPatternOnmLev =
_lhsInmLev
-- copy rule (down)
_rightPatternOopts =
_lhsIopts
-- copy rule (down)
_rightPatternOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_rightPatternOtopInstanceNmL =
_leftPatternItopInstanceNmL
-- copy rule (down)
_rightPatternOtr =
_lhsItr
( _leftPatternIeh,_leftPatternIerrSq,_leftPatternIgUniq,_leftPatternIidUseOccGam,_leftPatternIpp,_leftPatternIppWrap,_leftPatternItopInstanceNmL,_leftPatternItrpp,_leftPatternItypevariables,_leftPatternIundefOccGam) =
leftPattern_ _leftPatternOgUniq _leftPatternOidGam _leftPatternOmoduleNm _leftPatternOnmLev _leftPatternOopts _leftPatternOpatchEhNmInInstance _leftPatternOtopInstanceNmL _leftPatternOtr
( _rightPatternIeh,_rightPatternIerrSq,_rightPatternIgUniq,_rightPatternIidUseOccGam,_rightPatternIpp,_rightPatternIppWrap,_rightPatternItopInstanceNmL,_rightPatternItrpp,_rightPatternItypevariables,_rightPatternIundefOccGam) =
rightPattern_ _rightPatternOgUniq _rightPatternOidGam _rightPatternOmoduleNm _rightPatternOnmLev _rightPatternOopts _rightPatternOpatchEhNmInInstance _rightPatternOtopInstanceNmL _rightPatternOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOname,_lhsOpp,_lhsOppWrap,_lhsOrange,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtypevariables,_lhsOundefOccGam)))
sem_TypeLeftHandSide_Parenthesized :: Range ->
T_TypeLeftHandSide ->
T_TypePatterns ->
T_TypeLeftHandSide
sem_TypeLeftHandSide_Parenthesized range_ lefthandside_ patterns_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOeh :: ([EH.TyVar])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOtypevariables :: Names
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOname :: Name
_lhsOrange :: Range
_lhsOtopInstanceNmL :: ([HsName])
_lefthandsideOfixityGam :: FixityGam
_lefthandsideOgUniq :: UID
_lefthandsideOidGam :: IdDefOccGam
_lefthandsideOmoduleNm :: HsName
_lefthandsideOnmLev :: NmLev
_lefthandsideOopts :: EHCOpts
_lefthandsideOpatchEhNmInInstance :: PatchEhNmInInstance
_lefthandsideOtopInstanceNmL :: ([HsName])
_lefthandsideOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_patternsOgUniq :: UID
_patternsOidGam :: IdDefOccGam
_patternsOmoduleNm :: HsName
_patternsOnmLev :: NmLev
_patternsOopts :: EHCOpts
_patternsOpatchEhNmInInstance :: PatchEhNmInInstance
_patternsOtopInstanceNmL :: ([HsName])
_patternsOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_lefthandsideIeh :: ([EH.TyVar])
_lefthandsideIerrSq :: ErrSq
_lefthandsideIfreeTvarS :: HsNameS
_lefthandsideIgUniq :: UID
_lefthandsideIidDefOccGam :: IdDefOccGam
_lefthandsideIidOccDefs :: ([IdOcc])
_lefthandsideIidUseOccGam :: IdUseOccGam
_lefthandsideIname :: Name
_lefthandsideIpp :: PP_Doc
_lefthandsideIppWrap :: (PP_Doc -> PP_Doc)
_lefthandsideIrange :: Range
_lefthandsideItopInstanceNmL :: ([HsName])
_lefthandsideItrpp :: TrPP
_lefthandsideItypevariables :: Names
_lefthandsideIundefOccGam :: IdUseOccGam
_patternsIeh :: ([EH.TyVar])
_patternsIerrSq :: ErrSq
_patternsIgUniq :: UID
_patternsIidUseOccGam :: IdUseOccGam
_patternsIpp :: PP_Doc
_patternsIppL :: ([PP_Doc])
_patternsIppWrap :: (PP_Doc -> PP_Doc)
_patternsItopInstanceNmL :: ([HsName])
_patternsItrpp :: TrPP
_patternsItypevariables :: Names
_patternsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 337, column 9)
_pp =
ppParens _lefthandsideIpp >#< ppSpaces _patternsIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 781, column 9)
_lhsOeh =
_lefthandsideIeh ++ _patternsIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_lefthandsideIerrSq `Seq.union` _patternsIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_lefthandsideIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 23)
_lhsOidDefOccGam =
_lefthandsideIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 105, column 21)
_lhsOidOccDefs =
_lefthandsideIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_lefthandsideIidUseOccGam `gamAddGam` _patternsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_lefthandsideIppWrap . _patternsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_lefthandsideItrpp >< _patternsItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 208, column 25)
_lhsOtypevariables =
_lefthandsideItypevariables ++ _patternsItypevariables
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_lefthandsideIundefOccGam `gamUnion` _patternsIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_patternsIgUniq
-- copy rule (up)
_lhsOname =
_lefthandsideIname
-- copy rule (up)
_lhsOrange =
_lefthandsideIrange
-- copy rule (up)
_lhsOtopInstanceNmL =
_patternsItopInstanceNmL
-- copy rule (down)
_lefthandsideOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_lefthandsideOgUniq =
_lhsIgUniq
-- copy rule (down)
_lefthandsideOidGam =
_lhsIidGam
-- copy rule (down)
_lefthandsideOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_lefthandsideOnmLev =
_lhsInmLev
-- copy rule (down)
_lefthandsideOopts =
_lhsIopts
-- copy rule (down)
_lefthandsideOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_lefthandsideOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_lefthandsideOtr =
_lhsItr
-- copy rule (chain)
_patternsOgUniq =
_lefthandsideIgUniq
-- copy rule (down)
_patternsOidGam =
_lhsIidGam
-- copy rule (down)
_patternsOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_patternsOnmLev =
_lhsInmLev
-- copy rule (down)
_patternsOopts =
_lhsIopts
-- copy rule (down)
_patternsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_patternsOtopInstanceNmL =
_lefthandsideItopInstanceNmL
-- copy rule (down)
_patternsOtr =
_lhsItr
( _lefthandsideIeh,_lefthandsideIerrSq,_lefthandsideIfreeTvarS,_lefthandsideIgUniq,_lefthandsideIidDefOccGam,_lefthandsideIidOccDefs,_lefthandsideIidUseOccGam,_lefthandsideIname,_lefthandsideIpp,_lefthandsideIppWrap,_lefthandsideIrange,_lefthandsideItopInstanceNmL,_lefthandsideItrpp,_lefthandsideItypevariables,_lefthandsideIundefOccGam) =
lefthandside_ _lefthandsideOfixityGam _lefthandsideOgUniq _lefthandsideOidGam _lefthandsideOmoduleNm _lefthandsideOnmLev _lefthandsideOopts _lefthandsideOpatchEhNmInInstance _lefthandsideOtopInstanceNmL _lefthandsideOtr
( _patternsIeh,_patternsIerrSq,_patternsIgUniq,_patternsIidUseOccGam,_patternsIpp,_patternsIppL,_patternsIppWrap,_patternsItopInstanceNmL,_patternsItrpp,_patternsItypevariables,_patternsIundefOccGam) =
patterns_ _patternsOgUniq _patternsOidGam _patternsOmoduleNm _patternsOnmLev _patternsOopts _patternsOpatchEhNmInInstance _patternsOtopInstanceNmL _patternsOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOname,_lhsOpp,_lhsOppWrap,_lhsOrange,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtypevariables,_lhsOundefOccGam)))
-- TypePattern -------------------------------------------------
{-
visit 0:
inherited attributes:
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.TyVar
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
typevariables : Names
undefOccGam : IdUseOccGam
alternatives:
alternative Variable:
child range : {Range}
child name : {Name}
visit 0:
local refname : _
local pp : _
-}
-- cata
sem_TypePattern :: TypePattern ->
T_TypePattern
sem_TypePattern (TypePattern_Variable _range _name) =
(sem_TypePattern_Variable _range _name)
-- semantic domain
type T_TypePattern = UID ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( (EH.TyVar),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),TrPP,Names,IdUseOccGam)
sem_TypePattern_Variable :: Range ->
Name ->
T_TypePattern
sem_TypePattern_Variable range_ name_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOtypevariables :: Names
_lhsOeh :: (EH.TyVar)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 58, column 9)
_refname =
hsnSetLevQual _lhsInmLev _lhsImoduleNm name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 220, column 9)
_lhsOtypevariables =
[name_]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 380, column 9)
_pp =
pp name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 861, column 9)
_lhsOeh =
rngLift range_ EH.TyVar_Var _refname
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_pp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtypevariables,_lhsOundefOccGam)))
-- TypePatterns ------------------------------------------------
{-
visit 0:
inherited attributes:
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.TyVar]
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppL : [PP_Doc]
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
typevariables : Names
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : TypePattern
child tl : TypePatterns
alternative Nil:
-}
-- cata
sem_TypePatterns :: TypePatterns ->
T_TypePatterns
sem_TypePatterns list =
(Prelude.foldr sem_TypePatterns_Cons sem_TypePatterns_Nil (Prelude.map sem_TypePattern list))
-- semantic domain
type T_TypePatterns = UID ->
IdDefOccGam ->
HsName ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.TyVar]),ErrSq,UID,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),TrPP,Names,IdUseOccGam)
sem_TypePatterns_Cons :: T_TypePattern ->
T_TypePatterns ->
T_TypePatterns
sem_TypePatterns_Cons hd_ tl_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.TyVar])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOtypevariables :: Names
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIeh :: (EH.TyVar)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdItypevariables :: Names
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.TyVar])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppL :: ([PP_Doc])
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlItypevariables :: Names
_tlIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 440, column 9)
_lhsOppL =
_hdIpp : _tlIppL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 855, column 28)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 208, column 25)
_lhsOtypevariables =
_hdItypevariables ++ _tlItypevariables
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOmoduleNm =
_lhsImoduleNm
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdItypevariables,_hdIundefOccGam) =
hd_ _hdOgUniq _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlItypevariables,_tlIundefOccGam) =
tl_ _tlOgUniq _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtypevariables,_lhsOundefOccGam)))
sem_TypePatterns_Nil :: T_TypePatterns
sem_TypePatterns_Nil =
(\ _lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.TyVar])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOtypevariables :: Names
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 442, column 9)
_lhsOppL =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 855, column 28)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 208, column 25)
_lhsOtypevariables =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOtypevariables,_lhsOundefOccGam)))
-- Types -------------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isAsPred : Bool
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
tr : TraceOn -> [PP_Doc] -> TrPP
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.TyExpr]
errSq : ErrSq
freeTvarS : HsNameS
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppL : [PP_Doc]
ppWrap : PP_Doc -> PP_Doc
trpp : TrPP
undefOccGam : IdUseOccGam
alternatives:
alternative Cons:
child hd : Type
child tl : Types
visit 0:
local doGenVarWild : _
alternative Nil:
-}
-- cata
sem_Types :: Types ->
T_Types
sem_Types list =
(Prelude.foldr sem_Types_Cons sem_Types_Nil (Prelude.map sem_Type list))
-- semantic domain
type T_Types = FixityGam ->
UID ->
IdDefOccGam ->
Bool ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
(TraceOn -> [PP_Doc] -> TrPP) ->
( ([EH.TyExpr]),ErrSq,HsNameS,UID,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),TrPP,IdUseOccGam)
sem_Types_Cons :: T_Type ->
T_Types ->
T_Types
sem_Types_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOdoGenVarWild :: Bool
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOisAsPred :: Bool
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_hdOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOisAsPred :: Bool
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_tlOtr :: (TraceOn -> [PP_Doc] -> TrPP)
_hdIconNm :: Name
_hdIeh :: (EH.TyExpr)
_hdIehMbAsPr :: (Maybe EH.PrExpr)
_hdIehMbAsPrL :: ([Maybe EH.PrExpr])
_hdIehMbAsTyPr :: (Maybe EH.TyExpr)
_hdIehMbAsTyPrL :: ([Maybe EH.TyExpr])
_hdIerrSq :: ErrSq
_hdIfreeTvarS :: HsNameS
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdImbRefConNm :: (Maybe Name)
_hdIopChain :: (OpChain EH.TyExpr)
_hdIoperatorName :: MaybeName
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdItrpp :: TrPP
_hdItyConIs :: TypeConFixedMeaning
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.TyExpr])
_tlIerrSq :: ErrSq
_tlIfreeTvarS :: HsNameS
_tlIgUniq :: UID
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppL :: ([PP_Doc])
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlItrpp :: TrPP
_tlIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 414, column 9)
_lhsOppL =
_hdIpp : _tlIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 221, column 9)
_doGenVarWild =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 198, column 21)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
_hdIerrSq `Seq.union` _tlIerrSq
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
_hdIfreeTvarS `Set.union` _tlIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
_hdIpp >-< _tlIpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
_hdIppWrap . _tlIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
_hdItrpp >< _tlItrpp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
_hdIundefOccGam `gamUnion` _tlIundefOccGam
-- copy rule (up)
_lhsOgUniq =
_tlIgUniq
-- copy rule (up)
_lhsOtopInstanceNmL =
_tlItopInstanceNmL
-- copy rule (from local)
_hdOdoGenVarWild =
_doGenVarWild
-- copy rule (down)
_hdOfixityGam =
_lhsIfixityGam
-- copy rule (down)
_hdOgUniq =
_lhsIgUniq
-- copy rule (down)
_hdOidGam =
_lhsIidGam
-- copy rule (down)
_hdOisAsPred =
_lhsIisAsPred
-- copy rule (down)
_hdOnmLev =
_lhsInmLev
-- copy rule (down)
_hdOopts =
_lhsIopts
-- copy rule (down)
_hdOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_hdOtopInstanceNmL =
_lhsItopInstanceNmL
-- copy rule (down)
_hdOtr =
_lhsItr
-- copy rule (down)
_tlOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_tlOgUniq =
_hdIgUniq
-- copy rule (down)
_tlOidGam =
_lhsIidGam
-- copy rule (down)
_tlOisAsPred =
_lhsIisAsPred
-- copy rule (down)
_tlOnmLev =
_lhsInmLev
-- copy rule (down)
_tlOopts =
_lhsIopts
-- copy rule (down)
_tlOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (chain)
_tlOtopInstanceNmL =
_hdItopInstanceNmL
-- copy rule (down)
_tlOtr =
_lhsItr
( _hdIconNm,_hdIeh,_hdIehMbAsPr,_hdIehMbAsPrL,_hdIehMbAsTyPr,_hdIehMbAsTyPrL,_hdIerrSq,_hdIfreeTvarS,_hdIgUniq,_hdIidUseOccGam,_hdImbRefConNm,_hdIopChain,_hdIoperatorName,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItrpp,_hdItyConIs,_hdIundefOccGam) =
hd_ _hdOdoGenVarWild _hdOfixityGam _hdOgUniq _hdOidGam _hdOisAsPred _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL _hdOtr
( _tlIeh,_tlIerrSq,_tlIfreeTvarS,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlItrpp,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOisAsPred _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL _tlOtr
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))
sem_Types_Nil :: T_Types
sem_Types_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL
_lhsItr ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtrpp :: TrPP
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 416, column 9)
_lhsOppL =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 198, column 21)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 1, column 30)
_lhsOerrSq =
Seq.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 129, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 550, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 1, column 27)
_lhsOpp =
empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 3, column 31)
_lhsOppWrap =
const empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/Trace.ag"(line 1, column 29)
_lhsOtrpp =
trppEmpty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 842, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtrpp,_lhsOundefOccGam)))