uhc-light-1.1.7.0: src/UHC/Light/Compiler/HS/MainAG.hs
-- UUAGC 0.9.50.2 (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 Data.Char
import Data.Maybe
import Data.List as List
import qualified Data.Map as Map
import UHC.Util.Pretty
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 UHC.Util.DependencyGraph
import qualified UHC.Util.FastSeq as Seq
import UHC.Util.Utils
import qualified UHC.Light.Compiler.EH as EH
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 UHC.Light.Compiler.Base.Debug as Debug
import qualified UHC.Light.Compiler.Base.Pragma as Pragma
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 :: Int -> IdUseOccGam -> (IdUseOccGam, IdUseOccAsc, IdUseOccAsc, IdUseOccGam)
splitIdUseOccGam 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
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]
idDpdMpSingleton :: IdOcc -> IdOcc -> IdDpdMp
idDpdMpSingleton f t = Map.singleton 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 [ Map.singleton f ts | f <- fs ]
where ts = assocLKeys l
idToOccGam2DpdMp :: [IdOcc] -> Gam IdOcc x -> IdDpdMp
idToOccGam2DpdMp fs l
= idToOccL2DpdMp fs (gamToAssocL l)
idFrOccGam2DpdMp :: Gam IdOcc x -> [IdOcc] -> IdDpdMp
idFrOccGam2DpdMp g ts
= if null ts then Map.empty else idDpdMpUnions [ Map.singleton f ts | (f,_) <- gamToAssocL g ]
idDpdMp2SccOrder :: IdDefOccGam -> IdDpdMp -> [[IdOcc]]
idDpdMp2SccOrder gam mp
= dgSCCToList gr
where dflt = idDpdMpUnions [ idDpdMpSingleton o o | o <- gamKeys gam ] `Map.difference` mp
gr = mkDpdGrFromEdgesMp (idDpdMpUnions [mp,dflt])
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 :: [IdDefOcc] -> [[IdDefOcc]]
splitOff
= foldr (\df dfs -> zipWith (++) (s df) dfs) (repeat [])
where s d = case doccAsp d of
(IdAsp_Inst_Def _ _) -> [[],[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 :: Range -> Bool -> IdDefOccGam -> Maybe [[IdOcc]] -> (EH.Expr -> EH.Expr,[[EH.Decl]],[Err])
mkIdOccSccEH 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 $ 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
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
alternatives:
alternative AGItf:
child module : Module
visit 0:
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))
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))}
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) = sem _lhsIfixityGam _lhsIgUniq _lhsIidGam _lhsIisTopMod _lhsImodEntToOrig _lhsImodInScope _lhsImoduleNm _lhsIopts _lhsItopInstanceNmL
in (Syn_AGItf _lhsOeh _lhsOerrSq _lhsOfileHeaderPragmas _lhsOgathFixityGam _lhsOgathIdGam _lhsOmainValExists _lhsOpp _lhsOppWrap))
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)
_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])
_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])
_moduleIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1066, 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 248, 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
-- 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
( _moduleIeh,_moduleIerrSq,_moduleIfileHeaderPragmas,_moduleIgUniq,_moduleIgathFixityGam,_moduleIgathIdGam,_moduleIidUseOccGam,_moduleImainValExists,_moduleIpp,_moduleIppWrap,_moduleItopInstanceNmL,_moduleIundefOccGam) =
module_ _moduleOfixityGam _moduleOgUniq _moduleOidGam _moduleOisMainMod _moduleOisTopMod _moduleOmodEntToOrig _moduleOmodInScope _moduleOmoduleNm _moduleOnmLev _moduleOopts _moduleOpatchEhNmInInstance _moduleOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfileHeaderPragmas,_lhsOgathFixityGam,_lhsOgathIdGam,_lhsOmainValExists,_lhsOpp,_lhsOppWrap)))
-- 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
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.CaseAlt]
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
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]) ->
( ([EH.CaseAlt]),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _righthandsideOidGam :: IdDefOccGam
_righthandsideOsepPP :: PP_Doc
_lhsOeh :: ([EH.CaseAlt])
_righthandsideOmustBeMono :: Bool
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_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])
_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])
_patternIundefOccGam :: IdUseOccGam
_righthandsideIeh :: (EH.Expr)
_righthandsideIerrSq :: ErrSq
_righthandsideIgUniq :: UID
_righthandsideIidUseOccGam :: IdUseOccGam
_righthandsideIpp :: PP_Doc
_righthandsideIppWrap :: (PP_Doc -> PP_Doc)
_righthandsideItopInstanceNmL :: ([HsName])
_righthandsideIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 392, 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 93, 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 625, column 9)
_lhsOeh =
[EH.mkAlt range_ _patternIeh _righthandsideIeh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 278, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL
( _righthandsideIeh,_righthandsideIerrSq,_righthandsideIgUniq,_righthandsideIidUseOccGam,_righthandsideIpp,_righthandsideIppWrap,_righthandsideItopInstanceNmL,_righthandsideIundefOccGam) =
righthandside_ _righthandsideOcaseId _righthandsideOfixityGam _righthandsideOgUniq _righthandsideOgenerDerivMp _righthandsideOidGam _righthandsideOmoduleNm _righthandsideOmustBeMono _righthandsideOnmLev _righthandsideOopts _righthandsideOpatchEhNmInInstance _righthandsideOpragmas _righthandsideOsepPP _righthandsideOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Alternative_Empty :: Range ->
T_Alternative
sem_Alternative_Empty range_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOeh :: ([EH.CaseAlt])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 627, 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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.CaseAlt]
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
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]) ->
( ([EH.CaseAlt]),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOeh :: ([EH.CaseAlt])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_hdIeh :: ([EH.CaseAlt])
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.CaseAlt])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 619, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOcaseId _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOcaseId _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Alternatives_Nil :: T_Alternatives
sem_Alternatives_Nil =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOeh :: ([EH.CaseAlt])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 619, 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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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
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
undefOccGam : IdUseOccGam
alternatives:
alternative Body:
child range : {Range}
child importdeclarations : ImportDeclarations
child declarations : Declarations
visit 0:
local idDefOccGamMain : _
local idGam : _
local mainrefname : _
local mainrefnames : _
local idUseOccGamMain : _
local errIdUse : _
local idUseHereOccL : _
local undefOccGamMain : _
local idDpdMp : _
local mainValExists : _
local sccOrder : _
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]) ->
( (EH.Expr),ErrSq,([ModImp]),UID,FixityGam,IdDefOccGam,IdUseOccGam,Bool,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOundefOccGam :: IdUseOccGam
_lhsOerrSq :: ErrSq
_lhsOpp :: PP_Doc
_declarationsOfixityGam :: FixityGam
_lhsOeh :: (EH.Expr)
_lhsOgathIdGam :: IdDefOccGam
_declarationsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_declarationsOcaseId :: UID
_declarationsOgUniq :: UID
_declarationsOidGam :: IdDefOccGam
_declarationsOmoduleNm :: HsName
_declarationsOnmLev :: NmLev
_declarationsOopts :: EHCOpts
_declarationsOpatchEhNmInInstance :: PatchEhNmInInstance
_declarationsOpragmas :: (Set.Set Pragma.Pragma)
_declarationsOtopInstanceNmL :: ([HsName])
_importdeclarationsIerrSq :: ErrSq
_importdeclarationsIgUniq :: UID
_importdeclarationsIgathFixityGam :: FixityGam
_importdeclarationsIidUseOccGam :: IdUseOccGam
_importdeclarationsImodAsMp :: (Map.Map HsName HsName)
_importdeclarationsIpp :: PP_Doc
_importdeclarationsIppWrap :: (PP_Doc -> PP_Doc)
_importdeclarationsItopInstanceNmL :: ([HsName])
_importdeclarationsIundefOccGam :: IdUseOccGam
_declarationsIeh :: ([EH.Decl])
_declarationsIerrSq :: ErrSq
_declarationsIgUniq :: UID
_declarationsIgathFixityGam :: FixityGam
_declarationsIgathPragmas :: (Set.Set Pragma.Pragma)
_declarationsIidDefOccGam :: IdDefOccGam
_declarationsIidDpdMp :: IdDpdMp
_declarationsIidOccDefs :: ([IdOcc])
_declarationsIidTySigDefOccGam :: IdDefOccGam
_declarationsIidUseOccGam :: IdUseOccGam
_declarationsIneedsError :: Bool
_declarationsIpp :: PP_Doc
_declarationsIppWrap :: (PP_Doc -> PP_Doc)
_declarationsItopInstanceNmL :: ([HsName])
_declarationsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 252, 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 293, 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 650, 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 839, column 29)
(_,_idUseHereOccL,_,_undefOccGamMain) =
splitIdUseOccGam _lhsInmLev _idUseOccGamMain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 844, 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 849, 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 863, 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 886, column 9)
_sccOrder =
idDpdMp2SccOrder (_idDefOccGamMain `gamUnion` _declarationsIidDefOccGam) _idDpdMp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1014, column 29)
(_mkSccLet,_,_errReorder) =
let g = if _lhsIisMainMod then _idDefOccGamMain else emptyGam
in mkIdOccSccEH range_ False (g `gamUnion` _declarationsIidDefOccGam) (Just _sccOrder)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1054, 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 188, column 9)
_idOccDefMain =
IdOcc hsnMain IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 271, 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 881, column 9)
_caseId =
uidStart
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 89, 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 309, column 9)
_pragmas =
_declarationsIgathPragmas `Set.union` _lhsIpragmas
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 315, column 9)
_declarationsOgenerDerivMp =
let nm n = hsnSetLevQual _lhsInmLev _lhsImoduleNm n
in Map.unionsWith (++)
[ Map.singleton (nm clNm) [(nm fldNm,nm dfltNm)]
| (Pragma.Pragma_Derivable clNm fldNm dfltNm) <- Set.toList _pragmas
]
-- 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 471, 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
-- 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 (from local)
_declarationsOcaseId =
_caseId
-- copy rule (chain)
_declarationsOgUniq =
_importdeclarationsIgUniq
-- copy rule (from local)
_declarationsOidGam =
_idGam
-- copy rule (down)
_declarationsOmoduleNm =
_lhsImoduleNm
-- 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
( _importdeclarationsIerrSq,_importdeclarationsIgUniq,_importdeclarationsIgathFixityGam,_importdeclarationsIidUseOccGam,_importdeclarationsImodAsMp,_importdeclarationsIpp,_importdeclarationsIppWrap,_importdeclarationsItopInstanceNmL,_importdeclarationsIundefOccGam) =
importdeclarations_ _importdeclarationsOfixityGam _importdeclarationsOgUniq _importdeclarationsOidGam _importdeclarationsOisMainMod _importdeclarationsOisTopMod _importdeclarationsOmoduleNm _importdeclarationsOnmLev _importdeclarationsOopts _importdeclarationsOpatchEhNmInInstance _importdeclarationsOtopInstanceNmL
( _declarationsIeh,_declarationsIerrSq,_declarationsIgUniq,_declarationsIgathFixityGam,_declarationsIgathPragmas,_declarationsIidDefOccGam,_declarationsIidDpdMp,_declarationsIidOccDefs,_declarationsIidTySigDefOccGam,_declarationsIidUseOccGam,_declarationsIneedsError,_declarationsIpp,_declarationsIppWrap,_declarationsItopInstanceNmL,_declarationsIundefOccGam) =
declarations_ _declarationsOcaseId _declarationsOfixityGam _declarationsOgUniq _declarationsOgenerDerivMp _declarationsOidGam _declarationsOmoduleNm _declarationsOnmLev _declarationsOopts _declarationsOpatchEhNmInInstance _declarationsOpragmas _declarationsOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOextraModImpL,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathIdGam,_lhsOidUseOccGam,_lhsOmainValExists,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- Constructor -------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( (AssocL Name Names),Names,(EH.DataConstr),ErrSq,HsNameS,UID,Bool,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_Constructor_Constructor :: Range ->
Name ->
T_Types ->
T_Constructor
sem_Constructor_Constructor range_ constructor_ types_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typesOfixityGam :: FixityGam
_typesOgUniq :: UID
_typesOidGam :: IdDefOccGam
_typesOisAsPred :: Bool
_typesOnmLev :: NmLev
_typesOopts :: EHCOpts
_typesOpatchEhNmInInstance :: PatchEhNmInInstance
_typesOtopInstanceNmL :: ([HsName])
_typesIeh :: ([EH.TyExpr])
_typesIerrSq :: ErrSq
_typesIfreeTvarS :: HsNameS
_typesIgUniq :: UID
_typesIidUseOccGam :: IdUseOccGam
_typesIpp :: PP_Doc
_typesIppL :: ([PP_Doc])
_typesIppWrap :: (PP_Doc -> PP_Doc)
_typesItopInstanceNmL :: ([HsName])
_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 307, 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 174, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 227, 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 118, column 21)
_lhsOfreeTvarS =
_typesIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 237, column 35)
_lhsOhasFlds =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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
( _typesIeh,_typesIerrSq,_typesIfreeTvarS,_typesIgUniq,_typesIidUseOccGam,_typesIpp,_typesIppL,_typesIppWrap,_typesItopInstanceNmL,_typesIundefOccGam) =
types_ _typesOfixityGam _typesOgUniq _typesOidGam _typesOisAsPred _typesOnmLev _typesOopts _typesOpatchEhNmInInstance _typesOtopInstanceNmL
in ( _lhsOconAndFldrefnames,_lhsOconrefnames,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOhasFlds,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_leftTypeOdoGenVarWild :: Bool
_leftTypeOfixityGam :: FixityGam
_leftTypeOgUniq :: UID
_leftTypeOidGam :: IdDefOccGam
_leftTypeOisAsPred :: Bool
_leftTypeOnmLev :: NmLev
_leftTypeOopts :: EHCOpts
_leftTypeOpatchEhNmInInstance :: PatchEhNmInInstance
_leftTypeOtopInstanceNmL :: ([HsName])
_rightTypeOdoGenVarWild :: Bool
_rightTypeOfixityGam :: FixityGam
_rightTypeOgUniq :: UID
_rightTypeOidGam :: IdDefOccGam
_rightTypeOisAsPred :: Bool
_rightTypeOnmLev :: NmLev
_rightTypeOopts :: EHCOpts
_rightTypeOpatchEhNmInInstance :: PatchEhNmInInstance
_rightTypeOtopInstanceNmL :: ([HsName])
_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])
_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])
_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 319, 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 174, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 227, 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 118, column 21)
_lhsOfreeTvarS =
_leftTypeIfreeTvarS `Set.union` _rightTypeIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 237, column 35)
_lhsOhasFlds =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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 (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
( _leftTypeIconNm,_leftTypeIeh,_leftTypeIehMbAsPr,_leftTypeIehMbAsPrL,_leftTypeIehMbAsTyPr,_leftTypeIehMbAsTyPrL,_leftTypeIerrSq,_leftTypeIfreeTvarS,_leftTypeIgUniq,_leftTypeIidUseOccGam,_leftTypeImbRefConNm,_leftTypeIopChain,_leftTypeIoperatorName,_leftTypeIpp,_leftTypeIppWrap,_leftTypeItopInstanceNmL,_leftTypeItyConIs,_leftTypeIundefOccGam) =
leftType_ _leftTypeOdoGenVarWild _leftTypeOfixityGam _leftTypeOgUniq _leftTypeOidGam _leftTypeOisAsPred _leftTypeOnmLev _leftTypeOopts _leftTypeOpatchEhNmInInstance _leftTypeOtopInstanceNmL
( _rightTypeIconNm,_rightTypeIeh,_rightTypeIehMbAsPr,_rightTypeIehMbAsPrL,_rightTypeIehMbAsTyPr,_rightTypeIehMbAsTyPrL,_rightTypeIerrSq,_rightTypeIfreeTvarS,_rightTypeIgUniq,_rightTypeIidUseOccGam,_rightTypeImbRefConNm,_rightTypeIopChain,_rightTypeIoperatorName,_rightTypeIpp,_rightTypeIppWrap,_rightTypeItopInstanceNmL,_rightTypeItyConIs,_rightTypeIundefOccGam) =
rightType_ _rightTypeOdoGenVarWild _rightTypeOfixityGam _rightTypeOgUniq _rightTypeOidGam _rightTypeOisAsPred _rightTypeOnmLev _rightTypeOopts _rightTypeOpatchEhNmInInstance _rightTypeOtopInstanceNmL
in ( _lhsOconAndFldrefnames,_lhsOconrefnames,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOhasFlds,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Constructor_Record :: Range ->
Name ->
T_FieldDeclarations ->
T_Constructor
sem_Constructor_Record range_ constructor_ fieldDeclarations_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_fieldDeclarationsOfixityGam :: FixityGam
_fieldDeclarationsOgUniq :: UID
_fieldDeclarationsOidGam :: IdDefOccGam
_fieldDeclarationsOmoduleNm :: HsName
_fieldDeclarationsOnmLev :: NmLev
_fieldDeclarationsOopts :: EHCOpts
_fieldDeclarationsOpatchEhNmInInstance :: PatchEhNmInInstance
_fieldDeclarationsOtopInstanceNmL :: ([HsName])
_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])
_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 327, column 9)
_lhsOeh =
rngLift range_ EH.DataConstr_Constr _conrefname
Nothing
_fieldDeclarationsIeh
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 241, 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 118, column 21)
_lhsOfreeTvarS =
_fieldDeclarationsIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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
( _fieldDeclarationsIeh,_fieldDeclarationsIerrSq,_fieldDeclarationsIfldrefnames,_fieldDeclarationsIfreeTvarS,_fieldDeclarationsIgUniq,_fieldDeclarationsIidUseOccGam,_fieldDeclarationsIpp,_fieldDeclarationsIppL,_fieldDeclarationsIppWrap,_fieldDeclarationsItopInstanceNmL,_fieldDeclarationsIundefOccGam) =
fieldDeclarations_ _fieldDeclarationsOfixityGam _fieldDeclarationsOgUniq _fieldDeclarationsOidGam _fieldDeclarationsOmoduleNm _fieldDeclarationsOnmLev _fieldDeclarationsOopts _fieldDeclarationsOpatchEhNmInInstance _fieldDeclarationsOtopInstanceNmL
in ( _lhsOconAndFldrefnames,_lhsOconrefnames,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOhasFlds,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_contextOfixityGam :: FixityGam
_contextOgUniq :: UID
_contextOidGam :: IdDefOccGam
_contextOnmLev :: NmLev
_contextOopts :: EHCOpts
_contextOpatchEhNmInInstance :: PatchEhNmInInstance
_contextOtopInstanceNmL :: ([HsName])
_constructorOfixityGam :: FixityGam
_constructorOgUniq :: UID
_constructorOidGam :: IdDefOccGam
_constructorOmoduleNm :: HsName
_constructorOnmLev :: NmLev
_constructorOopts :: EHCOpts
_constructorOpatchEhNmInInstance :: PatchEhNmInInstance
_constructorOtopInstanceNmL :: ([HsName])
_contextIeh :: ([EH.PrExpr])
_contextIehTy :: ([EH.TyExpr])
_contextIerrSq :: ErrSq
_contextIfreeTvarS :: HsNameS
_contextIgUniq :: UID
_contextIidUseOccGam :: IdUseOccGam
_contextIpp :: PP_Doc
_contextIppWrap :: (PP_Doc -> PP_Doc)
_contextItopInstanceNmL :: ([HsName])
_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])
_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 332, 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 118, column 21)
_lhsOfreeTvarS =
_contextIfreeTvarS `Set.union` _constructorIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 237, column 35)
_lhsOhasFlds =
_constructorIhasFlds
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _contextIeh,_contextIehTy,_contextIerrSq,_contextIfreeTvarS,_contextIgUniq,_contextIidUseOccGam,_contextIpp,_contextIppWrap,_contextItopInstanceNmL,_contextIundefOccGam) =
context_ _contextOfixityGam _contextOgUniq _contextOidGam _contextOnmLev _contextOopts _contextOpatchEhNmInInstance _contextOtopInstanceNmL
( _constructorIconAndFldrefnames,_constructorIconrefnames,_constructorIeh,_constructorIerrSq,_constructorIfreeTvarS,_constructorIgUniq,_constructorIhasFlds,_constructorIidUseOccGam,_constructorIpp,_constructorIppWrap,_constructorItopInstanceNmL,_constructorIundefOccGam) =
constructor_ _constructorOfixityGam _constructorOgUniq _constructorOidGam _constructorOmoduleNm _constructorOnmLev _constructorOopts _constructorOpatchEhNmInInstance _constructorOtopInstanceNmL
in ( _lhsOconAndFldrefnames,_lhsOconrefnames,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOhasFlds,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Constructor_GADTFunction :: Range ->
Name ->
T_Type ->
T_Constructor
sem_Constructor_GADTFunction range_ constructor_ type_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_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])
_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 312, column 41)
(_ehArgs,_ehRes) =
appUnArr _typeIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 314, 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 174, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 227, 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 118, column 21)
_lhsOfreeTvarS =
_typeIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 237, column 35)
_lhsOhasFlds =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL
in ( _lhsOconAndFldrefnames,_lhsOconrefnames,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOhasFlds,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- Constructors ------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( (AssocL Name Names),Names,([EH.DataConstr]),ErrSq,HsNameS,UID,Bool,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_Constructors_Cons :: T_Constructor ->
T_Constructors ->
T_Constructors
sem_Constructors_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_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])
_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])
_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 295, 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 118, column 21)
_lhsOfreeTvarS =
_hdIfreeTvarS `Set.union` _tlIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 237, column 35)
_lhsOhasFlds =
_hdIhasFlds || _tlIhasFlds
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIconAndFldrefnames,_hdIconrefnames,_hdIeh,_hdIerrSq,_hdIfreeTvarS,_hdIgUniq,_hdIhasFlds,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL
( _tlIconAndFldrefnames,_tlIconrefnames,_tlIeh,_tlIerrSq,_tlIfreeTvarS,_tlIgUniq,_tlIhasFlds,_tlIidUseOccGam,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL
in ( _lhsOconAndFldrefnames,_lhsOconrefnames,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOhasFlds,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Constructors_Nil :: T_Constructors
sem_Constructors_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_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 295, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 237, column 35)
_lhsOhasFlds =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
-- ContextItem -------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( (EH.PrExpr),(EH.TyExpr),ErrSq,HsNameS,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_ContextItem_Class :: Range ->
Name ->
T_Types ->
T_ContextItem
sem_ContextItem_Class range_ name_ types_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_typesIeh :: ([EH.TyExpr])
_typesIerrSq :: ErrSq
_typesIfreeTvarS :: HsNameS
_typesIgUniq :: UID
_typesIidUseOccGam :: IdUseOccGam
_typesIpp :: PP_Doc
_typesIppL :: ([PP_Doc])
_typesIppWrap :: (PP_Doc -> PP_Doc)
_typesItopInstanceNmL :: ([HsName])
_typesIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 617, 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 619, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_typesIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 125, 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 275, column 9)
_eh =
rngLift range_ EH.PrExpr_Class _refname _typesIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 289, column 9)
_ehTy =
rngLift range_ EH.TyExpr_Pred _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 193, 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 118, 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/NameAnalysis.ag"(line 729, 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
( _typesIeh,_typesIerrSq,_typesIfreeTvarS,_typesIgUniq,_typesIidUseOccGam,_typesIpp,_typesIppL,_typesIppWrap,_typesItopInstanceNmL,_typesIundefOccGam) =
types_ _typesOfixityGam _typesOgUniq _typesOidGam _typesOisAsPred _typesOnmLev _typesOopts _typesOpatchEhNmInInstance _typesOtopInstanceNmL
in ( _lhsOeh,_lhsOehTy,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_ContextItem_Forall :: Range ->
Names ->
T_ContextItem ->
T_ContextItem
sem_ContextItem_Forall range_ typevariables_ context_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOfreeTvarS :: HsNameS
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_contextIeh :: (EH.PrExpr)
_contextIehTy :: (EH.TyExpr)
_contextIerrSq :: ErrSq
_contextIfreeTvarS :: HsNameS
_contextIgUniq :: UID
_contextIidUseOccGam :: IdUseOccGam
_contextIpp :: PP_Doc
_contextIppWrap :: (PP_Doc -> PP_Doc)
_contextItopInstanceNmL :: ([HsName])
_contextIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 259, column 9)
_idDefOccGamInside =
tvarL2IdDefOccGam _lhsInmLev range_ typevariables_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 416, 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 283, column 9)
_eh =
foldr (rngLift range_ EH.PrExpr_Forall) _contextIeh typevariables_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 289, column 9)
_ehTy =
rngLift range_ EH.TyExpr_Pred _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 128, 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 471, 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/NameAnalysis.ag"(line 729, 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
( _contextIeh,_contextIehTy,_contextIerrSq,_contextIfreeTvarS,_contextIgUniq,_contextIidUseOccGam,_contextIpp,_contextIppWrap,_contextItopInstanceNmL,_contextIundefOccGam) =
context_ _contextOfixityGam _contextOgUniq _contextOidGam _contextOnmLev _contextOopts _contextOpatchEhNmInInstance _contextOtopInstanceNmL
in ( _lhsOeh,_lhsOehTy,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_ContextItem_Arrow :: Range ->
T_ContextItem ->
T_ContextItem ->
T_ContextItem
sem_ContextItem_Arrow range_ argument_ result_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_resultOfixityGam :: FixityGam
_resultOgUniq :: UID
_resultOidGam :: IdDefOccGam
_resultOnmLev :: NmLev
_resultOopts :: EHCOpts
_resultOpatchEhNmInInstance :: PatchEhNmInInstance
_resultOtopInstanceNmL :: ([HsName])
_argumentIeh :: (EH.PrExpr)
_argumentIehTy :: (EH.TyExpr)
_argumentIerrSq :: ErrSq
_argumentIfreeTvarS :: HsNameS
_argumentIgUniq :: UID
_argumentIidUseOccGam :: IdUseOccGam
_argumentIpp :: PP_Doc
_argumentIppWrap :: (PP_Doc -> PP_Doc)
_argumentItopInstanceNmL :: ([HsName])
_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])
_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 281, column 9)
_eh =
rngLift range_ EH.PrExpr_Arrow _argumentIeh _resultIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 289, 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 118, column 21)
_lhsOfreeTvarS =
_argumentIfreeTvarS `Set.union` _resultIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _argumentIeh,_argumentIehTy,_argumentIerrSq,_argumentIfreeTvarS,_argumentIgUniq,_argumentIidUseOccGam,_argumentIpp,_argumentIppWrap,_argumentItopInstanceNmL,_argumentIundefOccGam) =
argument_ _argumentOfixityGam _argumentOgUniq _argumentOidGam _argumentOnmLev _argumentOopts _argumentOpatchEhNmInInstance _argumentOtopInstanceNmL
( _resultIeh,_resultIehTy,_resultIerrSq,_resultIfreeTvarS,_resultIgUniq,_resultIidUseOccGam,_resultIpp,_resultIppWrap,_resultItopInstanceNmL,_resultIundefOccGam) =
result_ _resultOfixityGam _resultOgUniq _resultOidGam _resultOnmLev _resultOopts _resultOpatchEhNmInInstance _resultOtopInstanceNmL
in ( _lhsOeh,_lhsOehTy,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_ContextItem_Implicits :: Range ->
T_ContextItem
sem_ContextItem_Implicits range_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 277, column 9)
_eh =
undefined
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 291, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
sem_ContextItem_NoImplicits :: Range ->
T_ContextItem
sem_ContextItem_NoImplicits range_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 277, column 9)
_eh =
undefined
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 293, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
sem_ContextItem_RowLacksLabel :: Range ->
Name ->
Name ->
T_ContextItem
sem_ContextItem_RowLacksLabel range_ rowvariable_ name_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOfreeTvarS :: HsNameS
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 279, 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 289, column 9)
_ehTy =
rngLift range_ EH.TyExpr_Pred _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 130, 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 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
sem_ContextItem_Equal :: Range ->
T_Type ->
T_Type ->
T_ContextItem
sem_ContextItem_Equal range_ type1_ type2_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_type2OdoGenVarWild :: Bool
_type2OfixityGam :: FixityGam
_type2OgUniq :: UID
_type2OidGam :: IdDefOccGam
_type2OisAsPred :: Bool
_type2OnmLev :: NmLev
_type2Oopts :: EHCOpts
_type2OpatchEhNmInInstance :: PatchEhNmInInstance
_type2OtopInstanceNmL :: ([HsName])
_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])
_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])
_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 285, column 9)
_eh =
rngLift range_ EH.PrExpr_Eq _type1Ieh _type2Ieh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 289, column 9)
_ehTy =
rngLift range_ EH.TyExpr_Pred _eh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 193, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 235, 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 118, column 21)
_lhsOfreeTvarS =
_type1IfreeTvarS `Set.union` _type2IfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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 (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
( _type1IconNm,_type1Ieh,_type1IehMbAsPr,_type1IehMbAsPrL,_type1IehMbAsTyPr,_type1IehMbAsTyPrL,_type1IerrSq,_type1IfreeTvarS,_type1IgUniq,_type1IidUseOccGam,_type1ImbRefConNm,_type1IopChain,_type1IoperatorName,_type1Ipp,_type1IppWrap,_type1ItopInstanceNmL,_type1ItyConIs,_type1IundefOccGam) =
type1_ _type1OdoGenVarWild _type1OfixityGam _type1OgUniq _type1OidGam _type1OisAsPred _type1OnmLev _type1Oopts _type1OpatchEhNmInInstance _type1OtopInstanceNmL
( _type2IconNm,_type2Ieh,_type2IehMbAsPr,_type2IehMbAsPrL,_type2IehMbAsTyPr,_type2IehMbAsTyPrL,_type2IerrSq,_type2IfreeTvarS,_type2IgUniq,_type2IidUseOccGam,_type2ImbRefConNm,_type2IopChain,_type2IoperatorName,_type2Ipp,_type2IppWrap,_type2ItopInstanceNmL,_type2ItyConIs,_type2IundefOccGam) =
type2_ _type2OdoGenVarWild _type2OfixityGam _type2OgUniq _type2OidGam _type2OisAsPred _type2OnmLev _type2Oopts _type2OpatchEhNmInInstance _type2OtopInstanceNmL
in ( _lhsOeh,_lhsOehTy,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- ContextItems ------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( ([EH.PrExpr]),([EH.TyExpr]),ErrSq,HsNameS,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_ContextItems_Cons :: T_ContextItem ->
T_ContextItems ->
T_ContextItems
sem_ContextItems_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOeh :: ([EH.PrExpr])
_lhsOehTy :: ([EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_hdIeh :: (EH.PrExpr)
_hdIehTy :: (EH.TyExpr)
_hdIerrSq :: ErrSq
_hdIfreeTvarS :: HsNameS
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_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])
_tlIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 269, column 28)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 269, 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 118, column 21)
_lhsOfreeTvarS =
_hdIfreeTvarS `Set.union` _tlIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIeh,_hdIehTy,_hdIerrSq,_hdIfreeTvarS,_hdIgUniq,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOidGam _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL
( _tlIeh,_tlIehTy,_tlIerrSq,_tlIfreeTvarS,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOehTy,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_ContextItems_Nil :: T_ContextItems
sem_ContextItems_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOeh :: ([EH.PrExpr])
_lhsOehTy :: ([EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 269, column 28)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 269, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOehTy,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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
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
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]) ->
( ((EH.Expr,EH.PrExpr)),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOeh :: ((EH.Expr,EH.PrExpr))
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_contextOfixityGam :: FixityGam
_contextOgUniq :: UID
_contextOidGam :: IdDefOccGam
_contextOnmLev :: NmLev
_contextOopts :: EHCOpts
_contextOpatchEhNmInInstance :: PatchEhNmInInstance
_contextOtopInstanceNmL :: ([HsName])
_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])
_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])
_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 550, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
( _contextIeh,_contextIehTy,_contextIerrSq,_contextIfreeTvarS,_contextIgUniq,_contextIidUseOccGam,_contextIpp,_contextIppWrap,_contextItopInstanceNmL,_contextIundefOccGam) =
context_ _contextOfixityGam _contextOgUniq _contextOidGam _contextOnmLev _contextOopts _contextOpatchEhNmInInstance _contextOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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
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
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]) ->
( ([(EH.Expr,EH.PrExpr)]),ErrSq,UID,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([(EH.Expr,EH.PrExpr)])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_hdIeh :: ((EH.Expr,EH.PrExpr))
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_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])
_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 544, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOcaseId _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOcaseId _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_ContextedExpressions_Nil :: T_ContextedExpressions
sem_ContextedExpressions_Nil =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([(EH.Expr,EH.PrExpr)])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 544, 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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- ContextedPattern --------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( ((EH.PatExpr,EH.PrExpr)),ErrSq,HsNameS,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOeh :: ((EH.PatExpr,EH.PrExpr))
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_contextOfixityGam :: FixityGam
_contextOgUniq :: UID
_contextOidGam :: IdDefOccGam
_contextOnmLev :: NmLev
_contextOopts :: EHCOpts
_contextOpatchEhNmInInstance :: PatchEhNmInInstance
_contextOtopInstanceNmL :: ([HsName])
_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])
_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])
_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 852, 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 118, column 21)
_lhsOfreeTvarS =
_contextIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 129, column 23)
_lhsOidDefOccGam =
_patternIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_patternIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL
( _contextIeh,_contextIehTy,_contextIerrSq,_contextIfreeTvarS,_contextIgUniq,_contextIidUseOccGam,_contextIpp,_contextIppWrap,_contextItopInstanceNmL,_contextIundefOccGam) =
context_ _contextOfixityGam _contextOgUniq _contextOidGam _contextOnmLev _contextOopts _contextOpatchEhNmInInstance _contextOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- ContextedPatterns -------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( ([(EH.PatExpr,EH.PrExpr)]),ErrSq,HsNameS,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_ContextedPatterns_Cons :: T_ContextedPattern ->
T_ContextedPatterns ->
T_ContextedPatterns
sem_ContextedPatterns_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_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])
_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])
_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 846, 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 118, column 21)
_lhsOfreeTvarS =
_hdIfreeTvarS `Set.union` _tlIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 129, column 23)
_lhsOidDefOccGam =
_hdIidDefOccGam `gamAddGam` _tlIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_hdIidOccDefs ++ _tlIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIeh,_hdIerrSq,_hdIfreeTvarS,_hdIgUniq,_hdIidDefOccGam,_hdIidOccDefs,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL
( _tlIeh,_tlIerrSq,_tlIfreeTvarS,_tlIgUniq,_tlIidDefOccGam,_tlIidOccDefs,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_ContextedPatterns_Nil :: T_ContextedPatterns
sem_ContextedPatterns_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_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 846, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 129, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
-- Declaration -------------------------------------------------
{-
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
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.Decl]
errSq : ErrSq
gathFixityGam : FixityGam
gathPragmas : Set.Set Pragma.Pragma
idDefOccGam : IdDefOccGam
idDpdMp : IdDpdMp
idOccDefs : [IdOcc]
idTySigDefOccGam : IdDefOccGam
idUseOccGam : IdUseOccGam
needsError : Bool
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
undefOccGam : IdUseOccGam
alternatives:
alternative FunctionBindings:
child range : {Range}
child bindings : FunctionBindings
visit 0:
local idOccDefs : _
local isAsPred : _
local doGenVarWild : _
alternative PatternBinding:
child range : {Range}
child pattern : Pattern
child righthandside : RightHandSide
visit 0:
local idDefOccGamPat : _
local idDefOccGam : _
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 idTySigDefOccGam : _
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 idDefOccGamType : _
local idDefOccGamType2 : _
local idDefOccGamConstrs : _
local idDefOccGamGener : _
local idDefOccGam : _
local idDefOccGamInside : _
local idGam : _
local idUseOccGamVal : _
local errIdUseVal : _
local idUseOccGamClass : _
local errIdUseClass : _
local idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idDpdMp : _
local patchEhNmInInstance : _
local typerefname : _
local idOccDef : _
local idOccDefsCon : _
local idOccDefsFld : _
local generMaxRemArity : _
local idOccDefsGener : _
local idOccDefs : _
local nmLev : _
local errDupIntro : _
local locErrs : _
local errSq : _
local pp : _
local eh : _
local ehGener : _
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 idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idDpdMp : _
local patchEhNmInInstance : _
local typerefname : _
local idOccDef : _
local idOccDefsCon : _
local idOccDefsFld : _
local generMaxRemArity : _
local idOccDefsGener : _
local idOccDefs : _
local nmLev : _
local errNewtype : _
local errDupIntro : _
local locErrs : _
local errSq : _
local pp : _
local eh : _
local ehGener : _
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 idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idDpdMp : _
local patchEhNmInInstance : _
local typerefname : _
local idOccDef : _
local idOccDefsCon : _
local idOccDefsFld : _
local generMaxRemArity : _
local idOccDefsGener : _
local idOccDefs : _
local nmLev : _
local errDupIntro : _
local locErrs : _
local errSq : _
local pp : _
local eh : _
local ehGener : _
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 idDefOccGamType : _
local idDefOccGamSigAsVar : _
local idDefOccGam : _
local idDefOccGamInside : _
local idGam : _
local idDefOccGamInstForClass : _
local idUseOccGamExtra : _
local errIdUseExtra : _
local idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idDpdMp : _
local ehReorderedDecls : _
local errReorder : _
local patchEhNmInInstance : _
local instancerefname : _
local classrefname : _
local extranames : _
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 generDerivInfoL : _
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 idDefOccGamType : _
local idDefOccGam : _
local idGam : _
local classrefname : _
local idUseOccGamInst : _
local errIdUse : _
local idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
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 name : {Name}
child types : Types
visit 0:
local idDefOccGam : _
local classrefname : _
local idUseOccGamInst : _
local errIdUse : _
local idUseOccGam : _
local idUseHereOccL : _
local undefOccGam : _
local idDpdMp : _
local patchEhNmInInstance : _
local instancerefname : _
local idOccDef : _
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 _name _types) =
(sem_Declaration_InstanceUseImplicitly _range (sem_Expression _expression) _name (sem_Types _types))
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 ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
( ([EH.Decl]),ErrSq,UID,FixityGam,(Set.Set Pragma.Pragma),IdDefOccGam,IdDpdMp,([IdOcc]),IdDefOccGam,IdUseOccGam,Bool,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_Declaration_FunctionBindings :: Range ->
T_FunctionBindings ->
T_Declaration
sem_Declaration_FunctionBindings range_ bindings_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_bindingsOcaseId :: UID
_bindingsOfixityGam :: FixityGam
_bindingsOgUniq :: UID
_bindingsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_bindingsOidGam :: IdDefOccGam
_bindingsOmoduleNm :: HsName
_bindingsOnmLev :: NmLev
_bindingsOopts :: EHCOpts
_bindingsOpatchEhNmInInstance :: PatchEhNmInInstance
_bindingsOpragmas :: (Set.Set Pragma.Pragma)
_bindingsOtopInstanceNmL :: ([HsName])
_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])
_bindingsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 115, 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 184, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 222, 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 129, column 23)
_lhsOidDefOccGam =
_bindingsIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_bindingsIidDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_bindingsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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/NameAnalysis.ag"(line 729, 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)
_bindingsOnmLev =
_lhsInmLev
-- copy rule (down)
_bindingsOopts =
_lhsIopts
-- copy rule (down)
_bindingsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_bindingsOpragmas =
_lhsIpragmas
-- copy rule (down)
_bindingsOtopInstanceNmL =
_lhsItopInstanceNmL
( _bindingsIeh,_bindingsIerrSq,_bindingsIgUniq,_bindingsIidDefOccGam,_bindingsIidDpdMp,_bindingsIidOccDefs,_bindingsIidUseOccGam,_bindingsIpp,_bindingsIppWrap,_bindingsItopInstanceNmL,_bindingsIundefOccGam) =
bindings_ _bindingsOcaseId _bindingsOfixityGam _bindingsOgUniq _bindingsOgenerDerivMp _bindingsOidGam _bindingsOmoduleNm _bindingsOnmLev _bindingsOopts _bindingsOpatchEhNmInInstance _bindingsOpragmas _bindingsOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Declaration_PatternBinding :: Range ->
T_Pattern ->
T_RightHandSide ->
T_Declaration
sem_Declaration_PatternBinding range_ pattern_ righthandside_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(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
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_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])
_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])
_patternIundefOccGam :: IdUseOccGam
_righthandsideIeh :: (EH.Expr)
_righthandsideIerrSq :: ErrSq
_righthandsideIgUniq :: UID
_righthandsideIidUseOccGam :: IdUseOccGam
_righthandsideIpp :: PP_Doc
_righthandsideIppWrap :: (PP_Doc -> PP_Doc)
_righthandsideItopInstanceNmL :: ([HsName])
_righthandsideIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 140, column 9)
_idDefOccGamPat =
mkDefOccGam _lhsInmLev range_ (IdAsp_Val_Pat _eh) _idOccDefsPat
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 140, column 9)
_idDefOccGam =
_idDefOccGamPat `gamAddGam` _patternIidDefOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 746, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev
(gamUnions [_patternIidUseOccGam,_righthandsideIidUseOccGam])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 746, 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 754, column 9)
_lhsOundefOccGam =
gamUnions [_undefOccGam,_righthandsideIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1074, column 9)
_righthandsideOpatchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 117, column 9)
_idOccDef =
IdOcc (maybe (mkHNm _lUniq) id _patternImbTopRefname) IdOcc_Pat
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 117, column 9)
_idOccDefsPat =
[_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 117, 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 877, column 9)
_caseId =
_lUniq
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 184, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 222, column 9)
_doGenVarWild =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 270, 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 129, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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
-- 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 (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
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL
( _righthandsideIeh,_righthandsideIerrSq,_righthandsideIgUniq,_righthandsideIidUseOccGam,_righthandsideIpp,_righthandsideIppWrap,_righthandsideItopInstanceNmL,_righthandsideIundefOccGam) =
righthandside_ _righthandsideOcaseId _righthandsideOfixityGam _righthandsideOgUniq _righthandsideOgenerDerivMp _righthandsideOidGam _righthandsideOmoduleNm _righthandsideOmustBeMono _righthandsideOnmLev _righthandsideOopts _righthandsideOpatchEhNmInInstance _righthandsideOpragmas _righthandsideOsepPP _righthandsideOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Declaration_TypeSignature :: Range ->
Names ->
T_Type ->
T_Declaration
sem_Declaration_TypeSignature range_ names_ type_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _typeOidGam :: IdDefOccGam
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_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])
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 134, 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 134, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _nmLev range_ _typeIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 274, column 9)
_idTySigDefOccGam =
mkDefOccGam' _lhsInmLev range_ (\o -> IdAsp_Val_Var) _idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 366, column 9)
_typeOidGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 741, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev _typeIidUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 741, column 9)
_idDpdMp =
idToOccL2DpdMp (gamKeys _idDefOccGam) _idUseHereOccL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 744, column 9)
_lhsOundefOccGam =
gamUnions [_undefOccGam,_typeIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1077, 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 113, 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 184, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 222, 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 129, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
_idTySigDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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
-- 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
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Declaration_Fixity :: Range ->
Fixity ->
(Maybe Int) ->
Names ->
T_Declaration
sem_Declaration_Fixity range_ fixity_ priority_ operators_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOgathFixityGam :: FixityGam
_lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 138, 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 1077, 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 184, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 222, 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 129, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Declaration_FusionDeclaration :: Range ->
Name ->
T_Declaration
sem_Declaration_FusionDeclaration range_ fusename_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: ([EH.Decl])
_lhsOgUniq :: UID
_lUniq :: UID
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 201, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev range_ (IdAsp_Val_Fusion _eh) _idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 682, 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 832, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev _idUseOccGamFusion
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 832, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 835, column 9)
_lhsOundefOccGam =
_undefOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1077, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 163, column 9)
_idOccDef =
IdOcc (mkHNm _lUniq) IdOcc_Fusion
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 163, column 9)
_idOccDefs =
[_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 158, 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 184, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 222, 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 129, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Declaration_FusionConversion :: Range ->
Name ->
Name ->
T_Declaration
sem_Declaration_FusionConversion range_ absname_ conname_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: ([EH.Decl])
_lhsOgUniq :: UID
_lUniq :: UID
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 203, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev range_ (IdAsp_Fusion_Conv _eh) _idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 685, 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 832, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev _idUseOccGamFusion
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 832, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 835, column 9)
_lhsOundefOccGam =
_undefOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1077, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 163, column 9)
_idOccDef =
IdOcc (mkHNm _lUniq) IdOcc_Fusion
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 163, column 9)
_idOccDefs =
[_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 158, 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 184, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 222, 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 129, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Declaration_Empty :: Range ->
T_Declaration
sem_Declaration_Empty range_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1077, 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 184, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 222, 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 129, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOneedsError :: Bool
_derivingsOidOccDefData :: IdOcc
_lhsOeh :: ([EH.Decl])
_derivingsOehDataTyExpr :: (EH.TyExpr)
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_contextOfixityGam :: FixityGam
_contextOgUniq :: UID
_contextOidGam :: IdDefOccGam
_contextOnmLev :: NmLev
_contextOopts :: EHCOpts
_contextOpatchEhNmInInstance :: PatchEhNmInInstance
_contextOtopInstanceNmL :: ([HsName])
_typelefthandsideOfixityGam :: FixityGam
_typelefthandsideOgUniq :: UID
_typelefthandsideOidGam :: IdDefOccGam
_typelefthandsideOmoduleNm :: HsName
_typelefthandsideOnmLev :: NmLev
_typelefthandsideOopts :: EHCOpts
_typelefthandsideOpatchEhNmInInstance :: PatchEhNmInInstance
_typelefthandsideOtopInstanceNmL :: ([HsName])
_constructorsOfixityGam :: FixityGam
_constructorsOgUniq :: UID
_constructorsOidGam :: IdDefOccGam
_constructorsOmoduleNm :: HsName
_constructorsOnmLev :: NmLev
_constructorsOopts :: EHCOpts
_constructorsOpatchEhNmInInstance :: PatchEhNmInInstance
_constructorsOtopInstanceNmL :: ([HsName])
_derivingsOfixityGam :: FixityGam
_derivingsOgUniq :: UID
_derivingsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_derivingsOidGam :: IdDefOccGam
_derivingsOmoduleNm :: HsName
_derivingsOnmLev :: NmLev
_derivingsOopts :: EHCOpts
_derivingsOpatchEhNmInInstance :: PatchEhNmInInstance
_derivingsOpragmas :: (Set.Set Pragma.Pragma)
_derivingsOtopInstanceNmL :: ([HsName])
_contextIeh :: ([EH.PrExpr])
_contextIehTy :: ([EH.TyExpr])
_contextIerrSq :: ErrSq
_contextIfreeTvarS :: HsNameS
_contextIgUniq :: UID
_contextIidUseOccGam :: IdUseOccGam
_contextIpp :: PP_Doc
_contextIppWrap :: (PP_Doc -> PP_Doc)
_contextItopInstanceNmL :: ([HsName])
_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])
_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])
_constructorsIundefOccGam :: IdUseOccGam
_derivingsIerrSq :: ErrSq
_derivingsIgUniq :: UID
_derivingsIgathFixityGam :: FixityGam
_derivingsIgathPragmas :: (Set.Set Pragma.Pragma)
_derivingsIidDefOccGam :: IdDefOccGam
_derivingsIidDpdMp :: IdDpdMp
_derivingsIidOccDefs :: ([IdOcc])
_derivingsIidTySigDefOccGam :: IdDefOccGam
_derivingsIidUseOccGam :: IdUseOccGam
_derivingsIneedsError :: Bool
_derivingsIpp :: PP_Doc
_derivingsIppL :: ([PP_Doc])
_derivingsIppWrap :: (PP_Doc -> PP_Doc)
_derivingsItopInstanceNmL :: ([HsName])
_derivingsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 145, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _nmLev _typelefthandsideIrange _constructorsIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 145, column 9)
_idDefOccGamType2 =
tvarL2IdDefOccGam _nmLev _typelefthandsideIrange _typelefthandsideItypevariables
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 145, 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 145, column 9)
_idDefOccGamGener =
mkDefOccGam _lhsInmLev _typelefthandsideIrange (IdAsp_Type_Def _ehGener) _idOccDefsGener
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 145, 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 191, column 9)
_idDefOccGamInside =
tvarL2IdDefOccGam _nmLev _typelefthandsideIrange _typelefthandsideItypevariables
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 370, column 9)
_idGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 662, column 29)
(_,_,_idUseOccGamVal,_errIdUseVal) =
mkUseOccGam _lhsIopts _lhsIidGam [] IdOcc_Val IdAsp_Val_Var range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 675, column 29)
(_,_,_idUseOccGamClass,_errIdUseClass) =
mkUseOccGam _lhsIopts _lhsIidGam
(if ehcOptGenGenerics _lhsIopts then builtinGenerClassNmL else [])
IdOcc_Class IdAsp_Class_Class range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 697, column 9)
_lhsOneedsError =
_constructorsIhasFlds
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 757, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev
(gamUnions
[ _constructorsIidUseOccGam
, _idUseOccGamVal
, _contextIidUseOccGam
, _idUseOccGamClass
]
)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 757, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
`idDpdMpUnion`
idFrOccGam2DpdMp _idDefOccGamConstrs [_idOccDef]
`idDpdMpUnion`
_derivingsIidDpdMp
`idDpdMpUnion`
idFrOccGam2DpdMp _idDefOccGamGener [_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 873, column 9)
_derivingsOidOccDefData =
_idOccDef
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1077, 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 123, column 9)
_idOccDef =
IdOcc _typerefname IdOcc_Type
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 123, column 9)
_idOccDefsCon =
[ IdOcc n IdOcc_Val | n <- _constructorsIconrefnames ]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 123, 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 123, column 9)
_generMaxRemArity =
length _typelefthandsideItypevariables `min` 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 123, column 9)
_idOccDefsGener =
if ehcOptGenGenerics _lhsIopts
then [ IdOcc (hsnNm2GenerReprSyn arity _typerefname) IdOcc_Type | arity <- [0 .. _generMaxRemArity] ]
else []
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 123, 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 _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 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)
_ehGener =
rngLift range_ EH.Decl_GenerRep _generMaxRemArity _typerefname _constructorsIconrefnames _constructorsIconAndFldrefnames
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 164, 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 184, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 222, 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 129, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
_derivingsIidTySigDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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 =
_contextIppWrap . _typelefthandsideIppWrap . _constructorsIppWrap . _derivingsIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
_undefOccGam
-- 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)
_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)
_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)
_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 (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
( _contextIeh,_contextIehTy,_contextIerrSq,_contextIfreeTvarS,_contextIgUniq,_contextIidUseOccGam,_contextIpp,_contextIppWrap,_contextItopInstanceNmL,_contextIundefOccGam) =
context_ _contextOfixityGam _contextOgUniq _contextOidGam _contextOnmLev _contextOopts _contextOpatchEhNmInInstance _contextOtopInstanceNmL
( _typelefthandsideIeh,_typelefthandsideIerrSq,_typelefthandsideIfreeTvarS,_typelefthandsideIgUniq,_typelefthandsideIidDefOccGam,_typelefthandsideIidOccDefs,_typelefthandsideIidUseOccGam,_typelefthandsideIname,_typelefthandsideIpp,_typelefthandsideIppWrap,_typelefthandsideIrange,_typelefthandsideItopInstanceNmL,_typelefthandsideItypevariables,_typelefthandsideIundefOccGam) =
typelefthandside_ _typelefthandsideOfixityGam _typelefthandsideOgUniq _typelefthandsideOidGam _typelefthandsideOmoduleNm _typelefthandsideOnmLev _typelefthandsideOopts _typelefthandsideOpatchEhNmInInstance _typelefthandsideOtopInstanceNmL
( _constructorsIconAndFldrefnames,_constructorsIconrefnames,_constructorsIeh,_constructorsIerrSq,_constructorsIfreeTvarS,_constructorsIgUniq,_constructorsIhasFlds,_constructorsIidUseOccGam,_constructorsIpp,_constructorsIppWrap,_constructorsItopInstanceNmL,_constructorsIundefOccGam) =
constructors_ _constructorsOfixityGam _constructorsOgUniq _constructorsOidGam _constructorsOmoduleNm _constructorsOnmLev _constructorsOopts _constructorsOpatchEhNmInInstance _constructorsOtopInstanceNmL
( _derivingsIerrSq,_derivingsIgUniq,_derivingsIgathFixityGam,_derivingsIgathPragmas,_derivingsIidDefOccGam,_derivingsIidDpdMp,_derivingsIidOccDefs,_derivingsIidTySigDefOccGam,_derivingsIidUseOccGam,_derivingsIneedsError,_derivingsIpp,_derivingsIppL,_derivingsIppWrap,_derivingsItopInstanceNmL,_derivingsIundefOccGam) =
derivings_ _derivingsOehDataTyExpr _derivingsOfixityGam _derivingsOgUniq _derivingsOgenerDerivMp _derivingsOidGam _derivingsOidOccDefData _derivingsOmoduleNm _derivingsOnmLev _derivingsOopts _derivingsOpatchEhNmInInstance _derivingsOpragmas _derivingsOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _derivingsOidOccDefData :: IdOcc
_lhsOeh :: ([EH.Decl])
_derivingsOehDataTyExpr :: (EH.TyExpr)
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_contextOfixityGam :: FixityGam
_contextOgUniq :: UID
_contextOidGam :: IdDefOccGam
_contextOnmLev :: NmLev
_contextOopts :: EHCOpts
_contextOpatchEhNmInInstance :: PatchEhNmInInstance
_contextOtopInstanceNmL :: ([HsName])
_typelefthandsideOfixityGam :: FixityGam
_typelefthandsideOgUniq :: UID
_typelefthandsideOidGam :: IdDefOccGam
_typelefthandsideOmoduleNm :: HsName
_typelefthandsideOnmLev :: NmLev
_typelefthandsideOopts :: EHCOpts
_typelefthandsideOpatchEhNmInInstance :: PatchEhNmInInstance
_typelefthandsideOtopInstanceNmL :: ([HsName])
_constructorsOfixityGam :: FixityGam
_constructorsOgUniq :: UID
_constructorsOidGam :: IdDefOccGam
_constructorsOmoduleNm :: HsName
_constructorsOnmLev :: NmLev
_constructorsOopts :: EHCOpts
_constructorsOpatchEhNmInInstance :: PatchEhNmInInstance
_constructorsOtopInstanceNmL :: ([HsName])
_derivingsOfixityGam :: FixityGam
_derivingsOgUniq :: UID
_derivingsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_derivingsOidGam :: IdDefOccGam
_derivingsOmoduleNm :: HsName
_derivingsOnmLev :: NmLev
_derivingsOopts :: EHCOpts
_derivingsOpatchEhNmInInstance :: PatchEhNmInInstance
_derivingsOpragmas :: (Set.Set Pragma.Pragma)
_derivingsOtopInstanceNmL :: ([HsName])
_contextIeh :: ([EH.PrExpr])
_contextIehTy :: ([EH.TyExpr])
_contextIerrSq :: ErrSq
_contextIfreeTvarS :: HsNameS
_contextIgUniq :: UID
_contextIidUseOccGam :: IdUseOccGam
_contextIpp :: PP_Doc
_contextIppWrap :: (PP_Doc -> PP_Doc)
_contextItopInstanceNmL :: ([HsName])
_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])
_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])
_constructorsIundefOccGam :: IdUseOccGam
_derivingsIerrSq :: ErrSq
_derivingsIgUniq :: UID
_derivingsIgathFixityGam :: FixityGam
_derivingsIgathPragmas :: (Set.Set Pragma.Pragma)
_derivingsIidDefOccGam :: IdDefOccGam
_derivingsIidDpdMp :: IdDpdMp
_derivingsIidOccDefs :: ([IdOcc])
_derivingsIidTySigDefOccGam :: IdDefOccGam
_derivingsIidUseOccGam :: IdUseOccGam
_derivingsIneedsError :: Bool
_derivingsIpp :: PP_Doc
_derivingsIppL :: ([PP_Doc])
_derivingsIppWrap :: (PP_Doc -> PP_Doc)
_derivingsItopInstanceNmL :: ([HsName])
_derivingsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 145, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _nmLev _typelefthandsideIrange _constructorsIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 145, column 9)
_idDefOccGamType2 =
tvarL2IdDefOccGam _nmLev _typelefthandsideIrange _typelefthandsideItypevariables
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 145, 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 145, column 9)
_idDefOccGamGener =
mkDefOccGam _lhsInmLev _typelefthandsideIrange (IdAsp_Type_Def _ehGener) _idOccDefsGener
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 145, 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 191, column 9)
_idDefOccGamInside =
tvarL2IdDefOccGam _nmLev _typelefthandsideIrange _typelefthandsideItypevariables
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 370, column 9)
_idGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 665, 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 675, column 29)
(_,_,_idUseOccGamClass,_errIdUseClass) =
mkUseOccGam _lhsIopts _lhsIidGam
(if ehcOptGenGenerics _lhsIopts then builtinGenerClassNmL else [])
IdOcc_Class IdAsp_Class_Class range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 757, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev
(gamUnions
[ _constructorsIidUseOccGam
, _idUseOccGamVal
, _contextIidUseOccGam
, _idUseOccGamClass
]
)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 757, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
`idDpdMpUnion`
idFrOccGam2DpdMp _idDefOccGamConstrs [_idOccDef]
`idDpdMpUnion`
_derivingsIidDpdMp
`idDpdMpUnion`
idFrOccGam2DpdMp _idDefOccGamGener [_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 873, column 9)
_derivingsOidOccDefData =
_idOccDef
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1077, 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 123, column 9)
_idOccDef =
IdOcc _typerefname IdOcc_Type
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 123, column 9)
_idOccDefsCon =
[ IdOcc n IdOcc_Val | n <- _constructorsIconrefnames ]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 123, 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 123, column 9)
_generMaxRemArity =
length _typelefthandsideItypevariables `min` 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 123, column 9)
_idOccDefsGener =
if ehcOptGenGenerics _lhsIopts
then [ IdOcc (hsnNm2GenerReprSyn arity _typerefname) IdOcc_Type | arity <- [0 .. _generMaxRemArity] ]
else []
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 123, 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 _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 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)
_ehGener =
rngLift range_ EH.Decl_GenerRep _generMaxRemArity _typerefname _constructorsIconrefnames _constructorsIconAndFldrefnames
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 164, 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 184, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 222, 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 129, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
_derivingsIidTySigDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
_undefOccGam
-- 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)
_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)
_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)
_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 (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
( _contextIeh,_contextIehTy,_contextIerrSq,_contextIfreeTvarS,_contextIgUniq,_contextIidUseOccGam,_contextIpp,_contextIppWrap,_contextItopInstanceNmL,_contextIundefOccGam) =
context_ _contextOfixityGam _contextOgUniq _contextOidGam _contextOnmLev _contextOopts _contextOpatchEhNmInInstance _contextOtopInstanceNmL
( _typelefthandsideIeh,_typelefthandsideIerrSq,_typelefthandsideIfreeTvarS,_typelefthandsideIgUniq,_typelefthandsideIidDefOccGam,_typelefthandsideIidOccDefs,_typelefthandsideIidUseOccGam,_typelefthandsideIname,_typelefthandsideIpp,_typelefthandsideIppWrap,_typelefthandsideIrange,_typelefthandsideItopInstanceNmL,_typelefthandsideItypevariables,_typelefthandsideIundefOccGam) =
typelefthandside_ _typelefthandsideOfixityGam _typelefthandsideOgUniq _typelefthandsideOidGam _typelefthandsideOmoduleNm _typelefthandsideOnmLev _typelefthandsideOopts _typelefthandsideOpatchEhNmInInstance _typelefthandsideOtopInstanceNmL
( _constructorsIconAndFldrefnames,_constructorsIconrefnames,_constructorsIeh,_constructorsIerrSq,_constructorsIfreeTvarS,_constructorsIgUniq,_constructorsIhasFlds,_constructorsIidUseOccGam,_constructorsIpp,_constructorsIppWrap,_constructorsItopInstanceNmL,_constructorsIundefOccGam) =
constructors_ _constructorsOfixityGam _constructorsOgUniq _constructorsOidGam _constructorsOmoduleNm _constructorsOnmLev _constructorsOopts _constructorsOpatchEhNmInInstance _constructorsOtopInstanceNmL
( _derivingsIerrSq,_derivingsIgUniq,_derivingsIgathFixityGam,_derivingsIgathPragmas,_derivingsIidDefOccGam,_derivingsIidDpdMp,_derivingsIidOccDefs,_derivingsIidTySigDefOccGam,_derivingsIidUseOccGam,_derivingsIneedsError,_derivingsIpp,_derivingsIppL,_derivingsIppWrap,_derivingsItopInstanceNmL,_derivingsIundefOccGam) =
derivings_ _derivingsOehDataTyExpr _derivingsOfixityGam _derivingsOgUniq _derivingsOgenerDerivMp _derivingsOidGam _derivingsOidOccDefData _derivingsOmoduleNm _derivingsOnmLev _derivingsOopts _derivingsOpatchEhNmInInstance _derivingsOpragmas _derivingsOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _derivingsOidOccDefData :: IdOcc
_lhsOeh :: ([EH.Decl])
_derivingsOehDataTyExpr :: (EH.TyExpr)
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_contextOfixityGam :: FixityGam
_contextOgUniq :: UID
_contextOidGam :: IdDefOccGam
_contextOnmLev :: NmLev
_contextOopts :: EHCOpts
_contextOpatchEhNmInInstance :: PatchEhNmInInstance
_contextOtopInstanceNmL :: ([HsName])
_typelefthandsideOfixityGam :: FixityGam
_typelefthandsideOgUniq :: UID
_typelefthandsideOidGam :: IdDefOccGam
_typelefthandsideOmoduleNm :: HsName
_typelefthandsideOnmLev :: NmLev
_typelefthandsideOopts :: EHCOpts
_typelefthandsideOpatchEhNmInInstance :: PatchEhNmInInstance
_typelefthandsideOtopInstanceNmL :: ([HsName])
_constructorsOfixityGam :: FixityGam
_constructorsOgUniq :: UID
_constructorsOidGam :: IdDefOccGam
_constructorsOmoduleNm :: HsName
_constructorsOnmLev :: NmLev
_constructorsOopts :: EHCOpts
_constructorsOpatchEhNmInInstance :: PatchEhNmInInstance
_constructorsOtopInstanceNmL :: ([HsName])
_derivingsOfixityGam :: FixityGam
_derivingsOgUniq :: UID
_derivingsOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_derivingsOidGam :: IdDefOccGam
_derivingsOmoduleNm :: HsName
_derivingsOnmLev :: NmLev
_derivingsOopts :: EHCOpts
_derivingsOpatchEhNmInInstance :: PatchEhNmInInstance
_derivingsOpragmas :: (Set.Set Pragma.Pragma)
_derivingsOtopInstanceNmL :: ([HsName])
_contextIeh :: ([EH.PrExpr])
_contextIehTy :: ([EH.TyExpr])
_contextIerrSq :: ErrSq
_contextIfreeTvarS :: HsNameS
_contextIgUniq :: UID
_contextIidUseOccGam :: IdUseOccGam
_contextIpp :: PP_Doc
_contextIppWrap :: (PP_Doc -> PP_Doc)
_contextItopInstanceNmL :: ([HsName])
_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])
_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])
_constructorsIundefOccGam :: IdUseOccGam
_derivingsIerrSq :: ErrSq
_derivingsIgUniq :: UID
_derivingsIgathFixityGam :: FixityGam
_derivingsIgathPragmas :: (Set.Set Pragma.Pragma)
_derivingsIidDefOccGam :: IdDefOccGam
_derivingsIidDpdMp :: IdDpdMp
_derivingsIidOccDefs :: ([IdOcc])
_derivingsIidTySigDefOccGam :: IdDefOccGam
_derivingsIidUseOccGam :: IdUseOccGam
_derivingsIneedsError :: Bool
_derivingsIpp :: PP_Doc
_derivingsIppL :: ([PP_Doc])
_derivingsIppWrap :: (PP_Doc -> PP_Doc)
_derivingsItopInstanceNmL :: ([HsName])
_derivingsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 145, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _nmLev _typelefthandsideIrange _constructorsIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 145, column 9)
_idDefOccGamType2 =
tvarL2IdDefOccGam _nmLev _typelefthandsideIrange _typelefthandsideItypevariables
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 145, 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 145, column 9)
_idDefOccGamGener =
mkDefOccGam _lhsInmLev _typelefthandsideIrange (IdAsp_Type_Def _ehGener) _idOccDefsGener
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 145, 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 191, column 9)
_idDefOccGamInside =
tvarL2IdDefOccGam _nmLev _typelefthandsideIrange _typelefthandsideItypevariables
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 370, column 9)
_idGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 662, column 29)
(_,_,_idUseOccGamVal,_errIdUseVal) =
mkUseOccGam _lhsIopts _lhsIidGam [] IdOcc_Val IdAsp_Val_Var range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 675, column 29)
(_,_,_idUseOccGamClass,_errIdUseClass) =
mkUseOccGam _lhsIopts _lhsIidGam
(if ehcOptGenGenerics _lhsIopts then builtinGenerClassNmL else [])
IdOcc_Class IdAsp_Class_Class range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 757, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev
(gamUnions
[ _constructorsIidUseOccGam
, _idUseOccGamVal
, _contextIidUseOccGam
, _idUseOccGamClass
]
)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 757, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
`idDpdMpUnion`
idFrOccGam2DpdMp _idDefOccGamConstrs [_idOccDef]
`idDpdMpUnion`
_derivingsIidDpdMp
`idDpdMpUnion`
idFrOccGam2DpdMp _idDefOccGamGener [_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 873, column 9)
_derivingsOidOccDefData =
_idOccDef
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1077, 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 123, column 9)
_idOccDef =
IdOcc _typerefname IdOcc_Type
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 123, column 9)
_idOccDefsCon =
[ IdOcc n IdOcc_Val | n <- _constructorsIconrefnames ]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 123, 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 123, column 9)
_generMaxRemArity =
length _typelefthandsideItypevariables `min` 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 123, column 9)
_idOccDefsGener =
if ehcOptGenGenerics _lhsIopts
then [ IdOcc (hsnNm2GenerReprSyn arity _typerefname) IdOcc_Type | arity <- [0 .. _generMaxRemArity] ]
else []
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 123, 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 _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 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)
_ehGener =
rngLift range_ EH.Decl_GenerRep _generMaxRemArity _typerefname _constructorsIconrefnames _constructorsIconAndFldrefnames
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 164, 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 184, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 222, 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 129, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
_derivingsIidTySigDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
_undefOccGam
-- 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)
_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)
_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)
_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 (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
( _contextIeh,_contextIehTy,_contextIerrSq,_contextIfreeTvarS,_contextIgUniq,_contextIidUseOccGam,_contextIpp,_contextIppWrap,_contextItopInstanceNmL,_contextIundefOccGam) =
context_ _contextOfixityGam _contextOgUniq _contextOidGam _contextOnmLev _contextOopts _contextOpatchEhNmInInstance _contextOtopInstanceNmL
( _typelefthandsideIeh,_typelefthandsideIerrSq,_typelefthandsideIfreeTvarS,_typelefthandsideIgUniq,_typelefthandsideIidDefOccGam,_typelefthandsideIidOccDefs,_typelefthandsideIidUseOccGam,_typelefthandsideIname,_typelefthandsideIpp,_typelefthandsideIppWrap,_typelefthandsideIrange,_typelefthandsideItopInstanceNmL,_typelefthandsideItypevariables,_typelefthandsideIundefOccGam) =
typelefthandside_ _typelefthandsideOfixityGam _typelefthandsideOgUniq _typelefthandsideOidGam _typelefthandsideOmoduleNm _typelefthandsideOnmLev _typelefthandsideOopts _typelefthandsideOpatchEhNmInInstance _typelefthandsideOtopInstanceNmL
( _constructorsIconAndFldrefnames,_constructorsIconrefnames,_constructorsIeh,_constructorsIerrSq,_constructorsIfreeTvarS,_constructorsIgUniq,_constructorsIhasFlds,_constructorsIidUseOccGam,_constructorsIpp,_constructorsIppWrap,_constructorsItopInstanceNmL,_constructorsIundefOccGam) =
constructors_ _constructorsOfixityGam _constructorsOgUniq _constructorsOidGam _constructorsOmoduleNm _constructorsOnmLev _constructorsOopts _constructorsOpatchEhNmInInstance _constructorsOtopInstanceNmL
( _derivingsIerrSq,_derivingsIgUniq,_derivingsIgathFixityGam,_derivingsIgathPragmas,_derivingsIidDefOccGam,_derivingsIidDpdMp,_derivingsIidOccDefs,_derivingsIidTySigDefOccGam,_derivingsIidUseOccGam,_derivingsIneedsError,_derivingsIpp,_derivingsIppL,_derivingsIppWrap,_derivingsItopInstanceNmL,_derivingsIundefOccGam) =
derivings_ _derivingsOehDataTyExpr _derivingsOfixityGam _derivingsOgUniq _derivingsOgenerDerivMp _derivingsOidGam _derivingsOidOccDefData _derivingsOmoduleNm _derivingsOnmLev _derivingsOopts _derivingsOpatchEhNmInInstance _derivingsOpragmas _derivingsOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Declaration_KindSignature :: Range ->
Names ->
T_Kind ->
T_Declaration
sem_Declaration_KindSignature range_ names_ kind_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _kindOidGam :: IdDefOccGam
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_kindOgUniq :: UID
_kindOnmLev :: NmLev
_kindOopts :: EHCOpts
_kindOpatchEhNmInInstance :: PatchEhNmInInstance
_kindOtopInstanceNmL :: ([HsName])
_kindIconNm :: Name
_kindIeh :: (EH.KiExpr)
_kindIerrSq :: ErrSq
_kindIfreeTvarS :: HsNameS
_kindIgUniq :: UID
_kindIidUseOccGam :: IdUseOccGam
_kindIpp :: PP_Doc
_kindIppWrap :: (PP_Doc -> PP_Doc)
_kindItopInstanceNmL :: ([HsName])
_kindIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 163, 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 163, column 9)
_idDefOccGamKind =
kvarS2IdDefOccGam _nmLev range_ _kindIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 372, column 9)
_kindOidGam =
gamUnion _idDefOccGamKind _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 775, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev _kindIidUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 775, column 9)
_idDpdMp =
idToOccL2DpdMp (gamKeys _idDefOccGam) _idUseHereOccL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 778, column 9)
_lhsOundefOccGam =
gamUnions [_undefOccGam,_kindIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1077, 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 137, 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 184, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 222, 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 129, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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
-- 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
( _kindIconNm,_kindIeh,_kindIerrSq,_kindIfreeTvarS,_kindIgUniq,_kindIidUseOccGam,_kindIpp,_kindIppWrap,_kindItopInstanceNmL,_kindIundefOccGam) =
kind_ _kindOgUniq _kindOidGam _kindOnmLev _kindOopts _kindOpatchEhNmInInstance _kindOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _typeOidGam :: IdDefOccGam
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_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])
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 195, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _lhsInmLev range_ _typeIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 199, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev range_ (IdAsp_Val_Foreign _eh) _idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 366, column 9)
_typeOidGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 780, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev _typeIidUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 780, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 783, column 9)
_lhsOundefOccGam =
gamUnions [_undefOccGam,_typeIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1077, 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 157, column 9)
_idOccDef =
IdOcc _refname IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 157, 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 147, 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 184, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 222, column 9)
_doGenVarWild =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 328, column 9)
_nmForParse =
maybe "" id importname_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 329, 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 129, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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
-- 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
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _typeOidGam :: IdDefOccGam
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_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])
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 195, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _lhsInmLev range_ _typeIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 199, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev range_ (IdAsp_Val_Foreign _eh) _idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 366, column 9)
_typeOidGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 670, 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 826, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev
(gamUnions [_idUseOccGamExport,_typeIidUseOccGam])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 826, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 830, column 9)
_lhsOundefOccGam =
gamUnions [_undefOccGam,_typeIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1077, 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 160, column 9)
_idOccDef =
IdOcc _exportrefname IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 160, 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 151, 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 141, column 9)
_nmForParse =
maybe "" id exportname_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 142, column 25)
(_ent,_entErrs) =
parseForeignEnt ForeignDirection_Export callconvention_ (Just $ show name_) _nmForParse
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 141, 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 145, column 9)
_lhsOeh =
[_eh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 184, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 222, 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 129, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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
-- 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
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(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
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOgUniq :: UID
_contextOfixityGam :: FixityGam
_contextOidGam :: IdDefOccGam
_contextOnmLev :: NmLev
_contextOopts :: EHCOpts
_contextOpatchEhNmInInstance :: PatchEhNmInInstance
_contextOtopInstanceNmL :: ([HsName])
_typelefthandsideOfixityGam :: FixityGam
_typelefthandsideOgUniq :: UID
_typelefthandsideOidGam :: IdDefOccGam
_typelefthandsideOmoduleNm :: HsName
_typelefthandsideOnmLev :: NmLev
_typelefthandsideOopts :: EHCOpts
_typelefthandsideOpatchEhNmInInstance :: PatchEhNmInInstance
_typelefthandsideOtopInstanceNmL :: ([HsName])
_dependenciesOfixityGam :: FixityGam
_dependenciesOgUniq :: UID
_dependenciesOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_dependenciesOidGam :: IdDefOccGam
_dependenciesOmoduleNm :: HsName
_dependenciesOnmLev :: NmLev
_dependenciesOopts :: EHCOpts
_dependenciesOpatchEhNmInInstance :: PatchEhNmInInstance
_dependenciesOpragmas :: (Set.Set Pragma.Pragma)
_dependenciesOtopInstanceNmL :: ([HsName])
_whereOcaseId :: UID
_whereOfixityGam :: FixityGam
_whereOgUniq :: UID
_whereOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_whereOidGam :: IdDefOccGam
_whereOmoduleNm :: HsName
_whereOnmLev :: NmLev
_whereOopts :: EHCOpts
_whereOpatchEhNmInInstance :: PatchEhNmInInstance
_whereOpragmas :: (Set.Set Pragma.Pragma)
_whereOtopInstanceNmL :: ([HsName])
_contextIeh :: ([EH.PrExpr])
_contextIehTy :: ([EH.TyExpr])
_contextIerrSq :: ErrSq
_contextIfreeTvarS :: HsNameS
_contextIgUniq :: UID
_contextIidUseOccGam :: IdUseOccGam
_contextIpp :: PP_Doc
_contextIppWrap :: (PP_Doc -> PP_Doc)
_contextItopInstanceNmL :: ([HsName])
_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])
_typelefthandsideItypevariables :: Names
_typelefthandsideIundefOccGam :: IdUseOccGam
_dependenciesIeh :: ([EH.FuncDep])
_dependenciesIerrSq :: ErrSq
_dependenciesIgUniq :: UID
_dependenciesIgathFixityGam :: FixityGam
_dependenciesIgathPragmas :: (Set.Set Pragma.Pragma)
_dependenciesIidDefOccGam :: IdDefOccGam
_dependenciesIidDpdMp :: IdDpdMp
_dependenciesIidOccDefs :: ([IdOcc])
_dependenciesIidTySigDefOccGam :: IdDefOccGam
_dependenciesIidUseOccGam :: IdUseOccGam
_dependenciesIneedsError :: Bool
_dependenciesIpp :: PP_Doc
_dependenciesIppWrap :: (PP_Doc -> PP_Doc)
_dependenciesItopInstanceNmL :: ([HsName])
_dependenciesIundefOccGam :: IdUseOccGam
_whereIeh :: (Maybe [EH.Decl])
_whereIerrSq :: ErrSq
_whereIgUniq :: UID
_whereIgathFixityGam :: FixityGam
_whereIgathPragmas :: (Set.Set Pragma.Pragma)
_whereIidDefOccGam :: IdDefOccGam
_whereIidDpdMp :: IdDpdMp
_whereIidOccDefs :: ([IdOcc])
_whereIidTySigDefOccGam :: IdDefOccGam
_whereIidUseOccGam :: IdUseOccGam
_whereIneedsError :: Bool
_whereIpp :: PP_Doc
_whereIppWrap :: (PP_Doc -> PP_Doc)
_whereItopInstanceNmL :: ([HsName])
_whereIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 167, column 9)
_idDefOccGamType =
tvarL2IdDefOccGam _nmLev _typelefthandsideIrange _typelefthandsideItypevariables
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 167, column 9)
_idDefOccGamSigAsVar =
_whereIidTySigDefOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 167, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev _typelefthandsideIrange (IdAsp_Class_Def _eh _ehInst) [_idOccDef]
`gamUnion` _idDefOccGamSigAsVar
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 191, column 9)
_idDefOccGamInside =
tvarL2IdDefOccGam _nmLev _typelefthandsideIrange _typelefthandsideItypevariables
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 375, column 9)
_idGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 375, 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 690, column 29)
(_,_,_idUseOccGamExtra,_errIdUseExtra) =
mkUseOccGam _lhsIopts _lhsIidGam _extranames IdOcc_Val IdAsp_Val_Var range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 785, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev
(gamUnions [ _contextIidUseOccGam,_whereIidUseOccGam
, _idUseOccGamExtra
])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 785, column 9)
_idDpdMp =
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 798, column 9)
_lhsOundefOccGam =
gamUnions [_undefOccGam,_whereIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1036, column 29)
(_,_ehReorderedDecls,_errReorder) =
mkIdOccSccEH range_ False _whereIidDefOccGam Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1077, 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 96, column 17)
_extranames =
[]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 139, column 9)
_idOccDef =
IdOcc _classrefname IdOcc_Class
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 139, column 9)
_idOccDefVal =
IdOcc _instancerefname IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 139, column 9)
_idOccDefsSig =
_whereIidOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 139, column 9)
_idOccDefs =
[_idOccDef] ++ _idOccDefsSig
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 235, 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 129, column 9)
_errSq =
Seq.unions [ Seq.fromList _errDupIntro, Seq.fromList _errReorder, _contextIerrSq, _typelefthandsideIerrSq
, _dependenciesIerrSq
, Seq.fromList _errIdUseExtra
, _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 a
_dependenciesIeh
(Just _instancerefname) sigs
_generDerivInfoL
, 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 184, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 222, column 9)
_doGenVarWild =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 293, column 9)
(_mbPrevInstancename,_lhsOtopInstanceNmL) =
extrTopInstanceNm _lhsItopInstanceNmL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 323, column 9)
_generDerivInfoL =
Map.findWithDefault [] _classrefname _lhsIgenerDerivMp
-- -- 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 129, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
_dependenciesIidTySigDefOccGam `gamAddGam` _whereIidTySigDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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
-- 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)
_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)
_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)
_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)
_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)
_whereOnmLev =
_nmLev
-- copy rule (down)
_whereOopts =
_lhsIopts
-- copy rule (from local)
_whereOpatchEhNmInInstance =
_patchEhNmInInstance
-- copy rule (down)
_whereOpragmas =
_lhsIpragmas
-- copy rule (chain)
_whereOtopInstanceNmL =
_dependenciesItopInstanceNmL
( _contextIeh,_contextIehTy,_contextIerrSq,_contextIfreeTvarS,_contextIgUniq,_contextIidUseOccGam,_contextIpp,_contextIppWrap,_contextItopInstanceNmL,_contextIundefOccGam) =
context_ _contextOfixityGam _contextOgUniq _contextOidGam _contextOnmLev _contextOopts _contextOpatchEhNmInInstance _contextOtopInstanceNmL
( _typelefthandsideIeh,_typelefthandsideIerrSq,_typelefthandsideIfreeTvarS,_typelefthandsideIgUniq,_typelefthandsideIidDefOccGam,_typelefthandsideIidOccDefs,_typelefthandsideIidUseOccGam,_typelefthandsideIname,_typelefthandsideIpp,_typelefthandsideIppWrap,_typelefthandsideIrange,_typelefthandsideItopInstanceNmL,_typelefthandsideItypevariables,_typelefthandsideIundefOccGam) =
typelefthandside_ _typelefthandsideOfixityGam _typelefthandsideOgUniq _typelefthandsideOidGam _typelefthandsideOmoduleNm _typelefthandsideOnmLev _typelefthandsideOopts _typelefthandsideOpatchEhNmInInstance _typelefthandsideOtopInstanceNmL
( _dependenciesIeh,_dependenciesIerrSq,_dependenciesIgUniq,_dependenciesIgathFixityGam,_dependenciesIgathPragmas,_dependenciesIidDefOccGam,_dependenciesIidDpdMp,_dependenciesIidOccDefs,_dependenciesIidTySigDefOccGam,_dependenciesIidUseOccGam,_dependenciesIneedsError,_dependenciesIpp,_dependenciesIppWrap,_dependenciesItopInstanceNmL,_dependenciesIundefOccGam) =
dependencies_ _dependenciesOfixityGam _dependenciesOgUniq _dependenciesOgenerDerivMp _dependenciesOidGam _dependenciesOmoduleNm _dependenciesOnmLev _dependenciesOopts _dependenciesOpatchEhNmInInstance _dependenciesOpragmas _dependenciesOtopInstanceNmL
( _whereIeh,_whereIerrSq,_whereIgUniq,_whereIgathFixityGam,_whereIgathPragmas,_whereIidDefOccGam,_whereIidDpdMp,_whereIidOccDefs,_whereIidTySigDefOccGam,_whereIidUseOccGam,_whereIneedsError,_whereIpp,_whereIppWrap,_whereItopInstanceNmL,_whereIundefOccGam) =
where_ _whereOcaseId _whereOfixityGam _whereOgUniq _whereOgenerDerivMp _whereOidGam _whereOmoduleNm _whereOnmLev _whereOopts _whereOpatchEhNmInInstance _whereOpragmas _whereOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(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
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOgUniq :: UID
_contextOfixityGam :: FixityGam
_contextOidGam :: IdDefOccGam
_contextOnmLev :: NmLev
_contextOopts :: EHCOpts
_contextOpatchEhNmInInstance :: PatchEhNmInInstance
_contextOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_whereOcaseId :: UID
_whereOfixityGam :: FixityGam
_whereOgUniq :: UID
_whereOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_whereOidGam :: IdDefOccGam
_whereOmoduleNm :: HsName
_whereOnmLev :: NmLev
_whereOopts :: EHCOpts
_whereOpragmas :: (Set.Set Pragma.Pragma)
_whereOtopInstanceNmL :: ([HsName])
_contextIeh :: ([EH.PrExpr])
_contextIehTy :: ([EH.TyExpr])
_contextIerrSq :: ErrSq
_contextIfreeTvarS :: HsNameS
_contextIgUniq :: UID
_contextIidUseOccGam :: IdUseOccGam
_contextIpp :: PP_Doc
_contextIppWrap :: (PP_Doc -> PP_Doc)
_contextItopInstanceNmL :: ([HsName])
_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])
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
_whereIeh :: (Maybe [EH.Decl])
_whereIerrSq :: ErrSq
_whereIgUniq :: UID
_whereIgathFixityGam :: FixityGam
_whereIgathPragmas :: (Set.Set Pragma.Pragma)
_whereIidDefOccGam :: IdDefOccGam
_whereIidDpdMp :: IdDpdMp
_whereIidOccDefs :: ([IdOcc])
_whereIidTySigDefOccGam :: IdDefOccGam
_whereIidUseOccGam :: IdUseOccGam
_whereIneedsError :: Bool
_whereIpp :: PP_Doc
_whereIppWrap :: (PP_Doc -> PP_Doc)
_whereItopInstanceNmL :: ([HsName])
_whereIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 175, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _lhsInmLev range_ _typeIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 175, column 9)
_idDefOccGam =
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 379, column 9)
_idGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 623, 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 800, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev
(gamUnions [_idUseOccGamInst,_contextIidUseOccGam,_typeIidUseOccGam ,_whereIidUseOccGam])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 800, column 9)
_idDpdMp =
idDpdMpUnions
[ idToOccL2DpdMp [_idOccDef] _idUseHereOccL
, idDpdMpSingleton _idOccDefVal _idOccDef
, _whereIidDpdMp
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 808, column 9)
_lhsOundefOccGam =
gamUnions [_undefOccGam,_whereIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1036, column 29)
(_,_ehReorderedDecls,_errReorder) =
mkIdOccSccEH range_ False _whereIidDefOccGam Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1071, 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 144, column 9)
_idOccDef =
IdOcc _instancerefname IdOcc_Inst
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 144, column 9)
_idOccDefVal =
IdOcc _instancerefname IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 144, column 9)
_idOccDefs =
[_idOccDef,_idOccDefVal]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 233, 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 135, 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 182, column 9)
_isAsPred =
True
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 222, column 9)
_doGenVarWild =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 293, 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 129, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
_whereIidTySigDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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
-- 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 (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)
_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)
_whereOnmLev =
_nmLev
-- copy rule (down)
_whereOopts =
_lhsIopts
-- copy rule (down)
_whereOpragmas =
_lhsIpragmas
-- copy rule (chain)
_whereOtopInstanceNmL =
_typeItopInstanceNmL
( _contextIeh,_contextIehTy,_contextIerrSq,_contextIfreeTvarS,_contextIgUniq,_contextIidUseOccGam,_contextIpp,_contextIppWrap,_contextItopInstanceNmL,_contextIundefOccGam) =
context_ _contextOfixityGam _contextOgUniq _contextOidGam _contextOnmLev _contextOopts _contextOpatchEhNmInInstance _contextOtopInstanceNmL
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL
( _whereIeh,_whereIerrSq,_whereIgUniq,_whereIgathFixityGam,_whereIgathPragmas,_whereIidDefOccGam,_whereIidDpdMp,_whereIidOccDefs,_whereIidTySigDefOccGam,_whereIidUseOccGam,_whereIneedsError,_whereIpp,_whereIppWrap,_whereItopInstanceNmL,_whereIundefOccGam) =
where_ _whereOcaseId _whereOfixityGam _whereOgUniq _whereOgenerDerivMp _whereOidGam _whereOmoduleNm _whereOnmLev _whereOopts _whereOpatchEhNmInInstance _whereOpragmas _whereOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Declaration_InstanceUseImplicitly :: Range ->
T_Expression ->
Name ->
T_Types ->
T_Declaration
sem_Declaration_InstanceUseImplicitly range_ expression_ name_ types_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOeh :: ([EH.Decl])
_lhsOtopInstanceNmL :: ([HsName])
_expressionOgUniq :: UID
_lUniq :: UID
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_typesOfixityGam :: FixityGam
_typesOgUniq :: UID
_typesOidGam :: IdDefOccGam
_typesOisAsPred :: Bool
_typesOnmLev :: NmLev
_typesOopts :: EHCOpts
_typesOpatchEhNmInInstance :: PatchEhNmInInstance
_typesOtopInstanceNmL :: ([HsName])
_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])
_expressionIundefOccGam :: IdUseOccGam
_typesIeh :: ([EH.TyExpr])
_typesIerrSq :: ErrSq
_typesIfreeTvarS :: HsNameS
_typesIgUniq :: UID
_typesIidUseOccGam :: IdUseOccGam
_typesIpp :: PP_Doc
_typesIppL :: ([PP_Doc])
_typesIppWrap :: (PP_Doc -> PP_Doc)
_typesItopInstanceNmL :: ([HsName])
_typesIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 180, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev range_ (IdAsp_Inst_Def _eh _classrefname) _idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 627, column 29)
(_classrefname,_,_idUseOccGamInst,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [name_] IdOcc_Class IdAsp_Class_Class range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 810, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev
(gamUnions [_idUseOccGamInst,_typesIidUseOccGam,_expressionIidUseOccGam])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 810, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1077, 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 148, column 9)
_idOccDef =
IdOcc _instancerefname IdOcc_Inst
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 148, column 9)
_idOccDefs =
[_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 237, 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 137, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUse, _expressionIerrSq, _typesIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pretty.ag"(line 65, column 9)
_pp =
"instance" >#< _expressionIpp >#< "<:" >#< name_ >#< ppSpaces _typesIppL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 130, column 9)
_eh =
let h = rngLift range_ EH.PrExpr_Class _classrefname _typesIeh
in rngLift range_ EH.Decl_InstanceIntro (Just _instancerefname) _expressionIeh h
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 132, column 9)
_lhsOeh =
[_eh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 184, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 222, column 9)
_doGenVarWild =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 293, 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 129, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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 . _typesIppWrap
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
_undefOccGam
-- copy rule (up)
_lhsOgUniq =
_typesIgUniq
-- 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)
_typesOfixityGam =
_lhsIfixityGam
-- copy rule (chain)
_typesOgUniq =
_expressionIgUniq
-- 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 (chain)
_typesOtopInstanceNmL =
_expressionItopInstanceNmL
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
( _typesIeh,_typesIerrSq,_typesIfreeTvarS,_typesIgUniq,_typesIidUseOccGam,_typesIpp,_typesIppL,_typesIppWrap,_typesItopInstanceNmL,_typesIundefOccGam) =
types_ _typesOfixityGam _typesOgUniq _typesOidGam _typesOisAsPred _typesOnmLev _typesOopts _typesOpatchEhNmInInstance _typesOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Declaration_Default :: Range ->
MaybeName ->
T_Types ->
T_Declaration
sem_Declaration_Default range_ name_ types_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: ([EH.Decl])
_typesOgUniq :: UID
_lUniq :: UID
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typesOfixityGam :: FixityGam
_typesOidGam :: IdDefOccGam
_typesOisAsPred :: Bool
_typesOnmLev :: NmLev
_typesOopts :: EHCOpts
_typesOpatchEhNmInInstance :: PatchEhNmInInstance
_typesOtopInstanceNmL :: ([HsName])
_typesIeh :: ([EH.TyExpr])
_typesIerrSq :: ErrSq
_typesIfreeTvarS :: HsNameS
_typesIgUniq :: UID
_typesIidUseOccGam :: IdUseOccGam
_typesIpp :: PP_Doc
_typesIppL :: ([PP_Doc])
_typesIppWrap :: (PP_Doc -> PP_Doc)
_typesItopInstanceNmL :: ([HsName])
_typesIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 182, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev range_ (IdAsp_Dflt_Def _eh _ignoredecl) _idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 630, 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 815, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev
(gamUnions [_idUseOccGamDflt,_typesIidUseOccGam])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 815, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 819, column 9)
_lhsOundefOccGam =
gamUnions [_undefOccGam,_typesIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1077, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 151, column 9)
_idOccDef =
IdOcc _defaultname IdOcc_Dflt
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 151, column 9)
_idOccDefs =
[_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 239, 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 139, 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 134, column 9)
_ignoredecl =
null _classrefnames
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 134, column 9)
_eh =
rngLift range_ EH.Decl_Default _classrefname _typesIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 136, column 9)
_lhsOeh =
[_eh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 184, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 222, 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 129, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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
-- 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
( _typesIeh,_typesIerrSq,_typesIfreeTvarS,_typesIgUniq,_typesIidUseOccGam,_typesIpp,_typesIppL,_typesIppWrap,_typesItopInstanceNmL,_typesIundefOccGam) =
types_ _typesOfixityGam _typesOgUniq _typesOidGam _typesOisAsPred _typesOnmLev _typesOopts _typesOpatchEhNmInInstance _typesOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Declaration_Type :: Range ->
T_TypeLeftHandSide ->
T_Type ->
T_Declaration
sem_Declaration_Type range_ typelefthandside_ type_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typelefthandsideOfixityGam :: FixityGam
_typelefthandsideOgUniq :: UID
_typelefthandsideOidGam :: IdDefOccGam
_typelefthandsideOmoduleNm :: HsName
_typelefthandsideOnmLev :: NmLev
_typelefthandsideOopts :: EHCOpts
_typelefthandsideOpatchEhNmInInstance :: PatchEhNmInInstance
_typelefthandsideOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_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])
_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])
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 184, column 9)
_idDefOccGamType =
tvarL2IdDefOccGam _nmLev _typelefthandsideIrange _typelefthandsideItypevariables
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 184, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev _typelefthandsideIrange (IdAsp_Type_Def _eh) _idOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 191, column 9)
_idDefOccGamInside =
tvarL2IdDefOccGam _nmLev _typelefthandsideIrange _typelefthandsideItypevariables
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 370, column 9)
_idGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 821, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev _typeIidUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 821, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 824, column 9)
_lhsOundefOccGam =
gamUnions [_undefOccGam,_typeIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1077, 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 154, column 9)
_idOccDef =
IdOcc _typerefname IdOcc_Type
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 154, 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 143, 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 138, 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 139, column 9)
_lhsOeh =
[_eh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 184, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 222, 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 129, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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
-- 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 (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
( _typelefthandsideIeh,_typelefthandsideIerrSq,_typelefthandsideIfreeTvarS,_typelefthandsideIgUniq,_typelefthandsideIidDefOccGam,_typelefthandsideIidOccDefs,_typelefthandsideIidUseOccGam,_typelefthandsideIname,_typelefthandsideIpp,_typelefthandsideIppWrap,_typelefthandsideIrange,_typelefthandsideItopInstanceNmL,_typelefthandsideItypevariables,_typelefthandsideIundefOccGam) =
typelefthandside_ _typelefthandsideOfixityGam _typelefthandsideOgUniq _typelefthandsideOidGam _typelefthandsideOmoduleNm _typelefthandsideOnmLev _typelefthandsideOopts _typelefthandsideOpatchEhNmInInstance _typelefthandsideOtopInstanceNmL
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Declaration_Pragma :: Range ->
T_Pragma ->
T_Declaration
sem_Declaration_Pragma range_ pragma_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_pragmaOgUniq :: UID
_pragmaOidGam :: IdDefOccGam
_pragmaOnmLev :: NmLev
_pragmaOopts :: EHCOpts
_pragmaOpatchEhNmInInstance :: PatchEhNmInInstance
_pragmaOtopInstanceNmL :: ([HsName])
_pragmaIerrSq :: ErrSq
_pragmaIgUniq :: UID
_pragmaIgathPragmas :: (Set.Set Pragma.Pragma)
_pragmaIidUseOccGam :: IdUseOccGam
_pragmaIpp :: PP_Doc
_pragmaIppWrap :: (PP_Doc -> PP_Doc)
_pragmaItopInstanceNmL :: ([HsName])
_pragmaIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1077, 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 147, column 9)
_eh =
undefined
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 148, column 9)
_lhsOeh =
[]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 184, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 222, 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 129, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_pragmaIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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/NameAnalysis.ag"(line 729, 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
( _pragmaIerrSq,_pragmaIgUniq,_pragmaIgathPragmas,_pragmaIidUseOccGam,_pragmaIpp,_pragmaIppWrap,_pragmaItopInstanceNmL,_pragmaIundefOccGam) =
pragma_ _pragmaOgUniq _pragmaOidGam _pragmaOnmLev _pragmaOopts _pragmaOpatchEhNmInInstance _pragmaOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Declaration_Module :: Range ->
MaybeName ->
T_MaybeExports ->
T_Declaration
sem_Declaration_Module range_ name_ exports_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_exportsIerrSq :: ErrSq
_exportsIgUniq :: UID
_exportsIgathFixityGam :: FixityGam
_exportsIidUseOccGam :: IdUseOccGam
_exportsIpp :: PP_Doc
_exportsIppWrap :: (PP_Doc -> PP_Doc)
_exportsItopInstanceNmL :: ([HsName])
_exportsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1077, column 9)
_patchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 147, column 9)
_eh =
undefined
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 148, column 9)
_lhsOeh =
[]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 184, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 222, column 9)
_doGenVarWild =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 253, column 9)
_isMainMod =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 253, 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 129, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_exportsIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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/NameAnalysis.ag"(line 729, 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
( _exportsIerrSq,_exportsIgUniq,_exportsIgathFixityGam,_exportsIidUseOccGam,_exportsIpp,_exportsIppWrap,_exportsItopInstanceNmL,_exportsIundefOccGam) =
exports_ _exportsOfixityGam _exportsOgUniq _exportsOidGam _exportsOisMainMod _exportsOisTopMod _exportsOmoduleNm _exportsOnmLev _exportsOopts _exportsOpatchEhNmInInstance _exportsOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- Declarations ------------------------------------------------
{-
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
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.Decl]
errSq : ErrSq
gathFixityGam : FixityGam
gathPragmas : Set.Set Pragma.Pragma
idDefOccGam : IdDefOccGam
idDpdMp : IdDpdMp
idOccDefs : [IdOcc]
idTySigDefOccGam : IdDefOccGam
idUseOccGam : IdUseOccGam
needsError : Bool
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
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 ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
( ([EH.Decl]),ErrSq,UID,FixityGam,(Set.Set Pragma.Pragma),IdDefOccGam,IdDpdMp,([IdOcc]),IdDefOccGam,IdUseOccGam,Bool,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_Declarations_Cons :: T_Declaration ->
T_Declarations ->
T_Declarations
sem_Declarations_Cons hd_ tl_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_hdIeh :: ([EH.Decl])
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIgathFixityGam :: FixityGam
_hdIgathPragmas :: (Set.Set Pragma.Pragma)
_hdIidDefOccGam :: IdDefOccGam
_hdIidDpdMp :: IdDpdMp
_hdIidOccDefs :: ([IdOcc])
_hdIidTySigDefOccGam :: IdDefOccGam
_hdIidUseOccGam :: IdUseOccGam
_hdIneedsError :: Bool
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.Decl])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIgathFixityGam :: FixityGam
_tlIgathPragmas :: (Set.Set Pragma.Pragma)
_tlIidDefOccGam :: IdDefOccGam
_tlIidDpdMp :: IdDpdMp
_tlIidOccDefs :: ([IdOcc])
_tlIidTySigDefOccGam :: IdDefOccGam
_tlIidUseOccGam :: IdUseOccGam
_tlIneedsError :: Bool
_tlIpp :: PP_Doc
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_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 129, column 23)
_lhsOidDefOccGam =
_hdIidDefOccGam `gamAddGam` _tlIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_hdIidDpdMp `idDpdMpUnion` _tlIidDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_hdIidOccDefs ++ _tlIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
_hdIidTySigDefOccGam `gamAddGam` _tlIidTySigDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIgathFixityGam,_hdIgathPragmas,_hdIidDefOccGam,_hdIidDpdMp,_hdIidOccDefs,_hdIidTySigDefOccGam,_hdIidUseOccGam,_hdIneedsError,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOcaseId _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIgathFixityGam,_tlIgathPragmas,_tlIidDefOccGam,_tlIidDpdMp,_tlIidOccDefs,_tlIidTySigDefOccGam,_tlIidUseOccGam,_tlIneedsError,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOcaseId _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Declarations_Nil :: T_Declarations
sem_Declarations_Nil =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 129, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- Deriving ----------------------------------------------------
{-
visit 0:
inherited attributes:
ehDataTyExpr : EH.TyExpr
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
idOccDefData : IdOcc
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathFixityGam : FixityGam
gathPragmas : Set.Set Pragma.Pragma
idDefOccGam : IdDefOccGam
idDpdMp : IdDpdMp
idOccDefs : [IdOcc]
idTySigDefOccGam : IdDefOccGam
idUseOccGam : IdUseOccGam
needsError : Bool
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
undefOccGam : IdUseOccGam
alternatives:
alternative Deriving:
child range : {Range}
child maybeinstancename : {MaybeName}
child useimplicitly : {Bool}
child name : {Name}
visit 0:
local idDefOccGam : _
local refname : _
local idUseOccGam : _
local errIdUse : _
local instancerefname : _
local idOccDef : _
local idOccDefVal : _
local idOccDefs : _
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 ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
( ErrSq,UID,FixityGam,(Set.Set Pragma.Pragma),IdDefOccGam,IdDpdMp,([IdOcc]),IdDefOccGam,IdUseOccGam,Bool,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_Deriving_Deriving :: Range ->
MaybeName ->
Bool ->
Name ->
T_Deriving
sem_Deriving_Deriving range_ maybeinstancename_ useimplicitly_ name_ =
(\ _lhsIehDataTyExpr
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsIidOccDefData
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOidDpdMp :: IdDpdMp
_lhsOtopInstanceNmL :: ([HsName])
_lhsOgUniq :: UID
_lUniq :: UID
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 264, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev range_ (IdAsp_Inst_Def _eh _refname) [_idOccDef]
`gamUnion` mkDefOccGam _lhsInmLev range_ IdAsp_Val_Var [_idOccDefVal]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 635, 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 854, column 9)
_lhsOidDpdMp =
idDpdMpUnions
[ idDpdMpSingleton _idOccDef _lhsIidOccDefData
, 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 192, column 9)
_idOccDef =
IdOcc _instancerefname IdOcc_Inst
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 192, column 9)
_idOccDefVal =
IdOcc _instancerefname IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 192, column 9)
_idOccDefs =
[_idOccDef,_idOccDefVal]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 247, column 9)
_instancename =
maybe (mkHNm _lUniq) id maybeinstancename_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 162, 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 168, column 9)
_eh =
let h = rngLift range_ EH.TyExpr_Pred
$ rngLift range_ EH.PrExpr_Class _refname [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 298, 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/NameAnalysis.ag"(line 129, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_idUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- Derivings ---------------------------------------------------
{-
visit 0:
inherited attributes:
ehDataTyExpr : EH.TyExpr
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
idOccDefData : IdOcc
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathFixityGam : FixityGam
gathPragmas : Set.Set Pragma.Pragma
idDefOccGam : IdDefOccGam
idDpdMp : IdDpdMp
idOccDefs : [IdOcc]
idTySigDefOccGam : IdDefOccGam
idUseOccGam : IdUseOccGam
needsError : Bool
pp : PP_Doc
ppL : [PP_Doc]
ppWrap : PP_Doc -> PP_Doc
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 ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
( ErrSq,UID,FixityGam,(Set.Set Pragma.Pragma),IdDefOccGam,IdDpdMp,([IdOcc]),IdDefOccGam,IdUseOccGam,Bool,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_Derivings_Cons :: T_Deriving ->
T_Derivings ->
T_Derivings
sem_Derivings_Cons hd_ tl_ =
(\ _lhsIehDataTyExpr
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsIidOccDefData
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOppL :: ([PP_Doc])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOehDataTyExpr :: (EH.TyExpr)
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_hdOidGam :: IdDefOccGam
_hdOidOccDefData :: IdOcc
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOpragmas :: (Set.Set Pragma.Pragma)
_hdOtopInstanceNmL :: ([HsName])
_tlOehDataTyExpr :: (EH.TyExpr)
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_tlOidGam :: IdDefOccGam
_tlOidOccDefData :: IdOcc
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOpragmas :: (Set.Set Pragma.Pragma)
_tlOtopInstanceNmL :: ([HsName])
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIgathFixityGam :: FixityGam
_hdIgathPragmas :: (Set.Set Pragma.Pragma)
_hdIidDefOccGam :: IdDefOccGam
_hdIidDpdMp :: IdDpdMp
_hdIidOccDefs :: ([IdOcc])
_hdIidTySigDefOccGam :: IdDefOccGam
_hdIidUseOccGam :: IdUseOccGam
_hdIneedsError :: Bool
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdIundefOccGam :: IdUseOccGam
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIgathFixityGam :: FixityGam
_tlIgathPragmas :: (Set.Set Pragma.Pragma)
_tlIidDefOccGam :: IdDefOccGam
_tlIidDpdMp :: IdDpdMp
_tlIidOccDefs :: ([IdOcc])
_tlIidTySigDefOccGam :: IdDefOccGam
_tlIidUseOccGam :: IdUseOccGam
_tlIneedsError :: Bool
_tlIpp :: PP_Doc
_tlIppL :: ([PP_Doc])
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_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/NameAnalysis.ag"(line 129, column 23)
_lhsOidDefOccGam =
_hdIidDefOccGam `gamAddGam` _tlIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_hdIidDpdMp `idDpdMpUnion` _tlIidDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_hdIidOccDefs ++ _tlIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
_hdIidTySigDefOccGam `gamAddGam` _tlIidTySigDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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/NameAnalysis.ag"(line 729, 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)
_hdOidOccDefData =
_lhsIidOccDefData
-- 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)
_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)
_tlOidOccDefData =
_lhsIidOccDefData
-- 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
( _hdIerrSq,_hdIgUniq,_hdIgathFixityGam,_hdIgathPragmas,_hdIidDefOccGam,_hdIidDpdMp,_hdIidOccDefs,_hdIidTySigDefOccGam,_hdIidUseOccGam,_hdIneedsError,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOehDataTyExpr _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOidOccDefData _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL
( _tlIerrSq,_tlIgUniq,_tlIgathFixityGam,_tlIgathPragmas,_tlIidDefOccGam,_tlIidDpdMp,_tlIidOccDefs,_tlIidTySigDefOccGam,_tlIidUseOccGam,_tlIneedsError,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOehDataTyExpr _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOidOccDefData _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Derivings_Nil :: T_Derivings
sem_Derivings_Nil =
(\ _lhsIehDataTyExpr
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsIidOccDefData
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOppL :: ([PP_Doc])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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/NameAnalysis.ag"(line 129, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- Export ------------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isMainMod : Bool
isTopMod : Bool
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathFixityGam : FixityGam
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
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]) ->
( ErrSq,UID,FixityGam,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_Export_Variable :: Range ->
Name ->
T_Export
sem_Export_Variable range_ name_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Export_TypeOrClassComplete :: Range ->
Name ->
T_Export
sem_Export_TypeOrClassComplete range_ name_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Export_Module :: Range ->
Name ->
T_Export
sem_Export_Module range_ name_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- Exports -----------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isMainMod : Bool
isTopMod : Bool
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathFixityGam : FixityGam
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
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]) ->
( ErrSq,UID,FixityGam,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOisMainMod :: Bool
_tlOisTopMod :: Bool
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIgathFixityGam :: FixityGam
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdIundefOccGam :: IdUseOccGam
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIgathFixityGam :: FixityGam
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIerrSq,_hdIgUniq,_hdIgathFixityGam,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOidGam _hdOisMainMod _hdOisTopMod _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL
( _tlIerrSq,_tlIgUniq,_tlIgathFixityGam,_tlIidUseOccGam,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOisMainMod _tlOisTopMod _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Exports_Nil :: T_Exports
sem_Exports_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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
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
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 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]) ->
( Name,(EH.Expr),ErrSq,UID,IdUseOccGam,(OpChain EH.Expr),MaybeName,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_literalOgUniq :: UID
_literalOidGam :: IdDefOccGam
_literalOnmLev :: NmLev
_literalOopts :: EHCOpts
_literalOpatchEhNmInInstance :: PatchEhNmInInstance
_literalOtopInstanceNmL :: ([HsName])
_literalIeh :: Literal
_literalIerrSq :: ErrSq
_literalIgUniq :: UID
_literalIidUseOccGam :: IdUseOccGam
_literalIpp :: PP_Doc
_literalIppWrap :: (PP_Doc -> PP_Doc)
_literalItopInstanceNmL :: ([HsName])
_literalIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 475, column 9)
_litnames =
litNames _lhsIopts _literalIeh False 1
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 476, column 29)
(_litrefname,_litrefnames,_idUseOccGam,_errIdUse) =
mkUseOccGam' _lhsIopts _lhsIidGam _litnames range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 478, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam, _literalIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 466, 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 188, 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/NameAnalysis.ag"(line 729, 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
( _literalIeh,_literalIerrSq,_literalIgUniq,_literalIidUseOccGam,_literalIpp,_literalIppWrap,_literalItopInstanceNmL,_literalIundefOccGam) =
literal_ _literalOgUniq _literalOidGam _literalOnmLev _literalOopts _literalOpatchEhNmInInstance _literalOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Expression_Variable :: Range ->
Name ->
T_Expression
sem_Expression_Variable range_ name_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 480, column 9)
_idAsp =
IdAsp_Val_Var
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 486, 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 265, 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 472, column 9)
_eh =
rngLift range_ EH.Expr_Var _refname
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
sem_Expression_Constructor :: Range ->
Name ->
T_Expression
sem_Expression_Constructor range_ name_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 483, column 9)
_idAsp =
IdAsp_Val_Con
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 486, 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 263, 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 474, column 9)
_eh =
rngLift range_ EH.Expr_Con _refname
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
sem_Expression_TupleConstructor :: Range ->
Int ->
T_Expression
sem_Expression_TupleConstructor range_ arity_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 476, 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 188, 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 471, 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/NameAnalysis.ag"(line 729, 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,_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 ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 479, column 9)
_eh =
rngLift range_ EH.Expr_Parens _expressionIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 471, 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/NameAnalysis.ag"(line 729, 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
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_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])
_functionIundefOccGam :: IdUseOccGam
_argumentsIeh :: ([EH.Expr])
_argumentsIerrSq :: ErrSq
_argumentsIgUniq :: UID
_argumentsIidUseOccGam :: IdUseOccGam
_argumentsIpp :: PP_Doc
_argumentsIppL :: ([PP_Doc])
_argumentsIppWrap :: (PP_Doc -> PP_Doc)
_argumentsItopInstanceNmL :: ([HsName])
_argumentsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 481, column 9)
_eh =
appRngTopApp range_ (_functionIeh : _argumentsIeh)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _functionIconNm,_functionIeh,_functionIerrSq,_functionIgUniq,_functionIidUseOccGam,_functionIopChain,_functionIoperatorName,_functionIpp,_functionIppWrap,_functionItopInstanceNmL,_functionIundefOccGam) =
function_ _functionOcaseId _functionOfixityGam _functionOgUniq _functionOgenerDerivMp _functionOidGam _functionOmoduleNm _functionOnmLev _functionOopts _functionOpatchEhNmInInstance _functionOpragmas _functionOtopInstanceNmL
( _argumentsIeh,_argumentsIerrSq,_argumentsIgUniq,_argumentsIidUseOccGam,_argumentsIpp,_argumentsIppL,_argumentsIppWrap,_argumentsItopInstanceNmL,_argumentsIundefOccGam) =
arguments_ _argumentsOcaseId _argumentsOfixityGam _argumentsOgUniq _argumentsOgenerDerivMp _argumentsOidGam _argumentsOmoduleNm _argumentsOnmLev _argumentsOopts _argumentsOpatchEhNmInInstance _argumentsOpragmas _argumentsOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(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)
_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])
_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])
_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])
_leftExpressionIeh :: (Maybe EH.Expr)
_leftExpressionIerrSq :: ErrSq
_leftExpressionIgUniq :: UID
_leftExpressionIidUseOccGam :: IdUseOccGam
_leftExpressionIpp :: PP_Doc
_leftExpressionIppMb :: (Maybe PP_Doc)
_leftExpressionIppWrap :: (PP_Doc -> PP_Doc)
_leftExpressionItopInstanceNmL :: ([HsName])
_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])
_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])
_rightExpressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 487, 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 188, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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)
_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
( _leftExpressionIeh,_leftExpressionIerrSq,_leftExpressionIgUniq,_leftExpressionIidUseOccGam,_leftExpressionIpp,_leftExpressionIppMb,_leftExpressionIppWrap,_leftExpressionItopInstanceNmL,_leftExpressionIundefOccGam) =
leftExpression_ _leftExpressionOcaseId _leftExpressionOfixityGam _leftExpressionOgUniq _leftExpressionOgenerDerivMp _leftExpressionOidGam _leftExpressionOmoduleNm _leftExpressionOnmLev _leftExpressionOopts _leftExpressionOpatchEhNmInInstance _leftExpressionOpragmas _leftExpressionOtopInstanceNmL
( _operatorIconNm,_operatorIeh,_operatorIerrSq,_operatorIgUniq,_operatorIidUseOccGam,_operatorIopChain,_operatorIoperatorName,_operatorIpp,_operatorIppWrap,_operatorItopInstanceNmL,_operatorIundefOccGam) =
operator_ _operatorOcaseId _operatorOfixityGam _operatorOgUniq _operatorOgenerDerivMp _operatorOidGam _operatorOmoduleNm _operatorOnmLev _operatorOopts _operatorOpatchEhNmInInstance _operatorOpragmas _operatorOtopInstanceNmL
( _rightExpressionIeh,_rightExpressionIerrSq,_rightExpressionIgUniq,_rightExpressionIidUseOccGam,_rightExpressionIpp,_rightExpressionIppMb,_rightExpressionIppWrap,_rightExpressionItopInstanceNmL,_rightExpressionIundefOccGam) =
rightExpression_ _rightExpressionOcaseId _rightExpressionOfixityGam _rightExpressionOgUniq _rightExpressionOgenerDerivMp _rightExpressionOidGam _rightExpressionOmoduleNm _rightExpressionOnmLev _rightExpressionOopts _rightExpressionOpatchEhNmInInstance _rightExpressionOpragmas _rightExpressionOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_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])
_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])
_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])
_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])
_rightExpressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 483, column 9)
_eh =
appRngParApp range_ [_operatorIeh,_leftExpressionIeh,_rightExpressionIeh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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)
_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
( _leftExpressionIconNm,_leftExpressionIeh,_leftExpressionIerrSq,_leftExpressionIgUniq,_leftExpressionIidUseOccGam,_leftExpressionIopChain,_leftExpressionIoperatorName,_leftExpressionIpp,_leftExpressionIppWrap,_leftExpressionItopInstanceNmL,_leftExpressionIundefOccGam) =
leftExpression_ _leftExpressionOcaseId _leftExpressionOfixityGam _leftExpressionOgUniq _leftExpressionOgenerDerivMp _leftExpressionOidGam _leftExpressionOmoduleNm _leftExpressionOnmLev _leftExpressionOopts _leftExpressionOpatchEhNmInInstance _leftExpressionOpragmas _leftExpressionOtopInstanceNmL
( _operatorIconNm,_operatorIeh,_operatorIerrSq,_operatorIgUniq,_operatorIidUseOccGam,_operatorIopChain,_operatorIoperatorName,_operatorIpp,_operatorIppWrap,_operatorItopInstanceNmL,_operatorIundefOccGam) =
operator_ _operatorOcaseId _operatorOfixityGam _operatorOgUniq _operatorOgenerDerivMp _operatorOidGam _operatorOmoduleNm _operatorOnmLev _operatorOopts _operatorOpatchEhNmInInstance _operatorOpragmas _operatorOtopInstanceNmL
( _rightExpressionIconNm,_rightExpressionIeh,_rightExpressionIerrSq,_rightExpressionIgUniq,_rightExpressionIidUseOccGam,_rightExpressionIopChain,_rightExpressionIoperatorName,_rightExpressionIpp,_rightExpressionIppWrap,_rightExpressionItopInstanceNmL,_rightExpressionIundefOccGam) =
rightExpression_ _rightExpressionOcaseId _rightExpressionOfixityGam _rightExpressionOgUniq _rightExpressionOgenerDerivMp _rightExpressionOidGam _rightExpressionOmoduleNm _rightExpressionOnmLev _rightExpressionOopts _rightExpressionOpatchEhNmInInstance _rightExpressionOpragmas _rightExpressionOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 485, column 9)
_eh =
_ehFromOpChain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 471, 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/NameAnalysis.ag"(line 729, 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
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _expressionOidGam :: IdDefOccGam
_lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_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])
_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])
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 344, column 9)
_expressionOidGam =
gamUnion _patternsIidDefOccGam _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 493, column 9)
_eh =
foldr (rngLift range_ EH.Expr_Lam) _expressionIeh _patternsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _patternsIeh,_patternsIerrSq,_patternsIgUniq,_patternsIidDefOccGam,_patternsIidOccDefs,_patternsIidUseOccGam,_patternsIpp,_patternsIppL,_patternsIppWrap,_patternsItopInstanceNmL,_patternsIundefOccGam) =
patterns_ _patternsOfixityGam _patternsOgUniq _patternsOidGam _patternsOmoduleNm _patternsOnmLev _patternsOopts _patternsOpatchEhNmInInstance _patternsOtopInstanceNmL
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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
_declarationsOnmLev :: NmLev
_declarationsOopts :: EHCOpts
_declarationsOpatchEhNmInInstance :: PatchEhNmInInstance
_declarationsOpragmas :: (Set.Set Pragma.Pragma)
_declarationsOtopInstanceNmL :: ([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])
_declarationsIeh :: ([EH.Decl])
_declarationsIerrSq :: ErrSq
_declarationsIgUniq :: UID
_declarationsIgathFixityGam :: FixityGam
_declarationsIgathPragmas :: (Set.Set Pragma.Pragma)
_declarationsIidDefOccGam :: IdDefOccGam
_declarationsIidDpdMp :: IdDpdMp
_declarationsIidOccDefs :: ([IdOcc])
_declarationsIidTySigDefOccGam :: IdDefOccGam
_declarationsIidUseOccGam :: IdUseOccGam
_declarationsIneedsError :: Bool
_declarationsIpp :: PP_Doc
_declarationsIppWrap :: (PP_Doc -> PP_Doc)
_declarationsItopInstanceNmL :: ([HsName])
_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])
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 342, column 9)
_idGam =
gamUnion _declarationsIidDefOccGam _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 890, column 9)
_sccOrder =
idDpdMp2SccOrder _declarationsIidDefOccGam _declarationsIidDpdMp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1020, column 29)
(_mkSccLet,_,_errReorder) =
mkIdOccSccEH range_ isStrict_ _declarationsIidDefOccGam (Just _sccOrder)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 495, column 9)
_eh =
_mkSccLet _expressionIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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)
_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
( _declarationsIeh,_declarationsIerrSq,_declarationsIgUniq,_declarationsIgathFixityGam,_declarationsIgathPragmas,_declarationsIidDefOccGam,_declarationsIidDpdMp,_declarationsIidOccDefs,_declarationsIidTySigDefOccGam,_declarationsIidUseOccGam,_declarationsIneedsError,_declarationsIpp,_declarationsIppWrap,_declarationsItopInstanceNmL,_declarationsIundefOccGam) =
declarations_ _declarationsOcaseId _declarationsOfixityGam _declarationsOgUniq _declarationsOgenerDerivMp _declarationsOidGam _declarationsOmoduleNm _declarationsOnmLev _declarationsOopts _declarationsOpatchEhNmInInstance _declarationsOpragmas _declarationsOtopInstanceNmL
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_expressionsIeh :: ([EH.Expr])
_expressionsIerrSq :: ErrSq
_expressionsIgUniq :: UID
_expressionsIidUseOccGam :: IdUseOccGam
_expressionsIpp :: PP_Doc
_expressionsIppL :: ([PP_Doc])
_expressionsIppWrap :: (PP_Doc -> PP_Doc)
_expressionsItopInstanceNmL :: ([HsName])
_expressionsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 497, column 9)
_eh =
ehExpConApp range_ (hsnProd (length _expressionsIeh)) _expressionsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 471, 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/NameAnalysis.ag"(line 729, 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
( _expressionsIeh,_expressionsIerrSq,_expressionsIgUniq,_expressionsIidUseOccGam,_expressionsIpp,_expressionsIppL,_expressionsIppWrap,_expressionsItopInstanceNmL,_expressionsIundefOccGam) =
expressions_ _expressionsOcaseId _expressionsOfixityGam _expressionsOgUniq _expressionsOgenerDerivMp _expressionsOidGam _expressionsOmoduleNm _expressionsOnmLev _expressionsOopts _expressionsOpatchEhNmInInstance _expressionsOpragmas _expressionsOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(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)
_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])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOisAsPred :: Bool
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_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])
_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])
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 234, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _lhsInmLev range_ _typeIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 346, column 9)
_typeOidGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 499, column 9)
_eh =
rngLift range_ EH.Expr_TypeAs False _typeIeh _expressionIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 218, 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 471, 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/NameAnalysis.ag"(line 729, 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 (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
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 496, 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 498, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_expressionIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 501, column 9)
_eh =
ehExpVarApp range_ _refname [_expressionIeh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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/NameAnalysis.ag"(line 729, 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
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_annotationIeh :: (EH.ExprAnn)
_annotationIerrSq :: ErrSq
_annotationIgUniq :: UID
_annotationIidUseOccGam :: IdUseOccGam
_annotationIpp :: PP_Doc
_annotationIppWrap :: (PP_Doc -> PP_Doc)
_annotationItopInstanceNmL :: ([HsName])
_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])
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 503, column 17)
_eh =
rngLift range_ EH.Expr_Ann _annotationIeh _expressionIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _annotationIeh,_annotationIerrSq,_annotationIgUniq,_annotationIidUseOccGam,_annotationIpp,_annotationIppWrap,_annotationItopInstanceNmL,_annotationIundefOccGam) =
annotation_ _annotationOcaseId _annotationOfixityGam _annotationOgUniq _annotationOgenerDerivMp _annotationOidGam _annotationOmoduleNm _annotationOnmLev _annotationOopts _annotationOpatchEhNmInInstance _annotationOpragmas _annotationOtopInstanceNmL
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_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])
_functionIundefOccGam :: IdUseOccGam
_argumentsIeh :: ([EH.Expr])
_argumentsIerrSq :: ErrSq
_argumentsIgUniq :: UID
_argumentsIidUseOccGam :: IdUseOccGam
_argumentsIpp :: PP_Doc
_argumentsIppL :: ([PP_Doc])
_argumentsIppWrap :: (PP_Doc -> PP_Doc)
_argumentsItopInstanceNmL :: ([HsName])
_argumentsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 505, column 9)
_eh =
ehExpApp' (rngLift range_ EH.Expr_AppImpred) range_ _functionIeh _argumentsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _functionIconNm,_functionIeh,_functionIerrSq,_functionIgUniq,_functionIidUseOccGam,_functionIopChain,_functionIoperatorName,_functionIpp,_functionIppWrap,_functionItopInstanceNmL,_functionIundefOccGam) =
function_ _functionOcaseId _functionOfixityGam _functionOgUniq _functionOgenerDerivMp _functionOidGam _functionOmoduleNm _functionOnmLev _functionOopts _functionOpatchEhNmInInstance _functionOpragmas _functionOtopInstanceNmL
( _argumentsIeh,_argumentsIerrSq,_argumentsIgUniq,_argumentsIidUseOccGam,_argumentsIpp,_argumentsIppL,_argumentsIppWrap,_argumentsItopInstanceNmL,_argumentsIundefOccGam) =
arguments_ _argumentsOcaseId _argumentsOfixityGam _argumentsOgUniq _argumentsOgenerDerivMp _argumentsOidGam _argumentsOmoduleNm _argumentsOnmLev _argumentsOopts _argumentsOpatchEhNmInInstance _argumentsOpragmas _argumentsOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_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])
_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])
_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])
_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])
_elseExpressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 508, 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 510, 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 508, column 9)
_idUseOccGam =
gamUnions [_idUseOccGamVal,_idUseOccGamType]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 513, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_guardExpressionIidUseOccGam,_thenExpressionIidUseOccGam,_elseExpressionIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 507, column 9)
_eh =
EH.mkIf' (_typerefname : _valrefnames) range_ _guardExpressionIeh _thenExpressionIeh _elseExpressionIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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/NameAnalysis.ag"(line 729, 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)
_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)
_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
( _guardExpressionIconNm,_guardExpressionIeh,_guardExpressionIerrSq,_guardExpressionIgUniq,_guardExpressionIidUseOccGam,_guardExpressionIopChain,_guardExpressionIoperatorName,_guardExpressionIpp,_guardExpressionIppWrap,_guardExpressionItopInstanceNmL,_guardExpressionIundefOccGam) =
guardExpression_ _guardExpressionOcaseId _guardExpressionOfixityGam _guardExpressionOgUniq _guardExpressionOgenerDerivMp _guardExpressionOidGam _guardExpressionOmoduleNm _guardExpressionOnmLev _guardExpressionOopts _guardExpressionOpatchEhNmInInstance _guardExpressionOpragmas _guardExpressionOtopInstanceNmL
( _thenExpressionIconNm,_thenExpressionIeh,_thenExpressionIerrSq,_thenExpressionIgUniq,_thenExpressionIidUseOccGam,_thenExpressionIopChain,_thenExpressionIoperatorName,_thenExpressionIpp,_thenExpressionIppWrap,_thenExpressionItopInstanceNmL,_thenExpressionIundefOccGam) =
thenExpression_ _thenExpressionOcaseId _thenExpressionOfixityGam _thenExpressionOgUniq _thenExpressionOgenerDerivMp _thenExpressionOidGam _thenExpressionOmoduleNm _thenExpressionOnmLev _thenExpressionOopts _thenExpressionOpatchEhNmInInstance _thenExpressionOpragmas _thenExpressionOtopInstanceNmL
( _elseExpressionIconNm,_elseExpressionIeh,_elseExpressionIerrSq,_elseExpressionIgUniq,_elseExpressionIidUseOccGam,_elseExpressionIopChain,_elseExpressionIoperatorName,_elseExpressionIpp,_elseExpressionIppWrap,_elseExpressionItopInstanceNmL,_elseExpressionIundefOccGam) =
elseExpression_ _elseExpressionOcaseId _elseExpressionOfixityGam _elseExpressionOgUniq _elseExpressionOgenerDerivMp _elseExpressionOidGam _elseExpressionOmoduleNm _elseExpressionOnmLev _elseExpressionOopts _elseExpressionOpatchEhNmInInstance _elseExpressionOpragmas _elseExpressionOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(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)
_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])
_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])
_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])
_expressionIundefOccGam :: IdUseOccGam
_alternativesIeh :: ([EH.CaseAlt])
_alternativesIerrSq :: ErrSq
_alternativesIgUniq :: UID
_alternativesIidUseOccGam :: IdUseOccGam
_alternativesIpp :: PP_Doc
_alternativesIppWrap :: (PP_Doc -> PP_Doc)
_alternativesItopInstanceNmL :: ([HsName])
_alternativesIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 509, 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 868, column 9)
_caseId =
_lUniq
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 471, 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/NameAnalysis.ag"(line 729, 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 (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
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
( _alternativesIeh,_alternativesIerrSq,_alternativesIgUniq,_alternativesIidUseOccGam,_alternativesIpp,_alternativesIppWrap,_alternativesItopInstanceNmL,_alternativesIundefOccGam) =
alternatives_ _alternativesOcaseId _alternativesOfixityGam _alternativesOgUniq _alternativesOgenerDerivMp _alternativesOidGam _alternativesOmoduleNm _alternativesOnmLev _alternativesOopts _alternativesOpatchEhNmInInstance _alternativesOpragmas _alternativesOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_expressionsIeh :: ([EH.Expr])
_expressionsIerrSq :: ErrSq
_expressionsIgUniq :: UID
_expressionsIidUseOccGam :: IdUseOccGam
_expressionsIpp :: PP_Doc
_expressionsIppL :: ([PP_Doc])
_expressionsIppWrap :: (PP_Doc -> PP_Doc)
_expressionsItopInstanceNmL :: ([HsName])
_expressionsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 500, 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 502, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_expressionsIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 511, 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 188, 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/NameAnalysis.ag"(line 729, 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
( _expressionsIeh,_expressionsIerrSq,_expressionsIgUniq,_expressionsIidUseOccGam,_expressionsIpp,_expressionsIppL,_expressionsIppWrap,_expressionsItopInstanceNmL,_expressionsIundefOccGam) =
expressions_ _expressionsOcaseId _expressionsOfixityGam _expressionsOgUniq _expressionsOgenerDerivMp _expressionsOidGam _expressionsOmoduleNm _expressionsOnmLev _expressionsOopts _expressionsOpatchEhNmInInstance _expressionsOpragmas _expressionsOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_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])
_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])
_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])
_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])
_toIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 504, 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 506, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_fromIidUseOccGam,_thenIidUseOccGam,_toIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 513, 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 513, 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 188, 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/NameAnalysis.ag"(line 729, 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)
_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)
_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
( _fromIconNm,_fromIeh,_fromIerrSq,_fromIgUniq,_fromIidUseOccGam,_fromIopChain,_fromIoperatorName,_fromIpp,_fromIppWrap,_fromItopInstanceNmL,_fromIundefOccGam) =
from_ _fromOcaseId _fromOfixityGam _fromOgUniq _fromOgenerDerivMp _fromOidGam _fromOmoduleNm _fromOnmLev _fromOopts _fromOpatchEhNmInInstance _fromOpragmas _fromOtopInstanceNmL
( _thenIeh,_thenIerrSq,_thenIgUniq,_thenIidUseOccGam,_thenIpp,_thenIppMb,_thenIppWrap,_thenItopInstanceNmL,_thenIundefOccGam) =
then_ _thenOcaseId _thenOfixityGam _thenOgUniq _thenOgenerDerivMp _thenOidGam _thenOmoduleNm _thenOnmLev _thenOopts _thenOpatchEhNmInInstance _thenOpragmas _thenOtopInstanceNmL
( _toIeh,_toIerrSq,_toIgUniq,_toIidUseOccGam,_toIpp,_toIppMb,_toIppWrap,_toItopInstanceNmL,_toIundefOccGam) =
to_ _toOcaseId _toOfixityGam _toOgUniq _toOgenerDerivMp _toOidGam _toOmoduleNm _toOnmLev _toOopts _toOpatchEhNmInInstance _toOpragmas _toOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(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)
_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])
_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])
_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])
_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])
_qualifiersIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 348, column 9)
_expressionOidGam =
_qualifiersIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 349, column 9)
_qualifiersOidGam =
_lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 524, column 9)
_eh =
foldr ($) _expressionIeh _qualifiersIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
( _qualifiersIeh,_qualifiersIerrSq,_qualifiersIgUniq,_qualifiersIidGam,_qualifiersIidUseOccGam,_qualifiersIpp,_qualifiersIppL,_qualifiersIppWrap,_qualifiersItopInstanceNmL,_qualifiersIundefOccGam) =
qualifiers_ _qualifiersOcaseId _qualifiersOfixityGam _qualifiersOgUniq _qualifiersOgenerDerivMp _qualifiersOidGam _qualifiersOmoduleNm _qualifiersOnmLev _qualifiersOopts _qualifiersOpatchEhNmInInstance _qualifiersOpragmas _qualifiersOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_recordExpressionBindingsIeh :: ([EH.DataFieldExpr -> EH.DataFieldExpr])
_recordExpressionBindingsIerrSq :: ErrSq
_recordExpressionBindingsIgUniq :: UID
_recordExpressionBindingsIidUseOccGam :: IdUseOccGam
_recordExpressionBindingsIpp :: PP_Doc
_recordExpressionBindingsIppL :: ([PP_Doc])
_recordExpressionBindingsIppWrap :: (PP_Doc -> PP_Doc)
_recordExpressionBindingsItopInstanceNmL :: ([HsName])
_recordExpressionBindingsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 483, column 9)
_idAsp =
IdAsp_Val_Con
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 486, 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 494, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_recordExpressionBindingsIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 526, 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 188, 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/NameAnalysis.ag"(line 729, 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
( _recordExpressionBindingsIeh,_recordExpressionBindingsIerrSq,_recordExpressionBindingsIgUniq,_recordExpressionBindingsIidUseOccGam,_recordExpressionBindingsIpp,_recordExpressionBindingsIppL,_recordExpressionBindingsIppWrap,_recordExpressionBindingsItopInstanceNmL,_recordExpressionBindingsIundefOccGam) =
recordExpressionBindings_ _recordExpressionBindingsOcaseId _recordExpressionBindingsOfixityGam _recordExpressionBindingsOgUniq _recordExpressionBindingsOgenerDerivMp _recordExpressionBindingsOidGam _recordExpressionBindingsOmoduleNm _recordExpressionBindingsOnmLev _recordExpressionBindingsOopts _recordExpressionBindingsOpatchEhNmInInstance _recordExpressionBindingsOpragmas _recordExpressionBindingsOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_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])
_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])
_recordExpressionBindingsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 528, 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 188, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
( _recordExpressionBindingsIeh,_recordExpressionBindingsIerrSq,_recordExpressionBindingsIgUniq,_recordExpressionBindingsIidUseOccGam,_recordExpressionBindingsIpp,_recordExpressionBindingsIppL,_recordExpressionBindingsIppWrap,_recordExpressionBindingsItopInstanceNmL,_recordExpressionBindingsIundefOccGam) =
recordExpressionBindings_ _recordExpressionBindingsOcaseId _recordExpressionBindingsOfixityGam _recordExpressionBindingsOgUniq _recordExpressionBindingsOgenerDerivMp _recordExpressionBindingsOidGam _recordExpressionBindingsOmoduleNm _recordExpressionBindingsOnmLev _recordExpressionBindingsOopts _recordExpressionBindingsOpatchEhNmInInstance _recordExpressionBindingsOpragmas _recordExpressionBindingsOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_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])
_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])
_rowRecordExpressionUpdatesIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 532, column 9)
_eh =
foldl (flip ($)) _expressionIeh _rowRecordExpressionUpdatesIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
( _rowRecordExpressionUpdatesIeh,_rowRecordExpressionUpdatesIerrSq,_rowRecordExpressionUpdatesIgUniq,_rowRecordExpressionUpdatesIidUseOccGam,_rowRecordExpressionUpdatesIpp,_rowRecordExpressionUpdatesIppL,_rowRecordExpressionUpdatesIppWrap,_rowRecordExpressionUpdatesItopInstanceNmL,_rowRecordExpressionUpdatesIundefOccGam) =
rowRecordExpressionUpdates_ _rowRecordExpressionUpdatesOcaseId _rowRecordExpressionUpdatesOfixityGam _rowRecordExpressionUpdatesOgUniq _rowRecordExpressionUpdatesOgenerDerivMp _rowRecordExpressionUpdatesOidGam _rowRecordExpressionUpdatesOmoduleNm _rowRecordExpressionUpdatesOnmLev _rowRecordExpressionUpdatesOopts _rowRecordExpressionUpdatesOpatchEhNmInInstance _rowRecordExpressionUpdatesOpragmas _rowRecordExpressionUpdatesOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Expression_RowRecordEmpty :: Range ->
T_Expression
sem_Expression_RowRecordEmpty range_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 534, column 9)
_eh =
rngLift range_ EH.Expr_Rec (rngLift range_ EH.RecExpr_Empty)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 471, 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/NameAnalysis.ag"(line 729, 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,_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 ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 536, column 9)
_eh =
rngLift range_ EH.Expr_Sel _expressionIeh name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 471, 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/NameAnalysis.ag"(line 729, 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
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_statementsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 538, column 25)
(_eh,_) =
foldr1 (\(_,s) (e,_) -> (s e,undefined)) _statementsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 471, 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/NameAnalysis.ag"(line 729, 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
( _statementsIeh,_statementsIerrSq,_statementsIgUniq,_statementsIidUseOccGam,_statementsIpp,_statementsIppL,_statementsIppWrap,_statementsItopInstanceNmL,_statementsIundefOccGam) =
statements_ _statementsOcaseId _statementsOfixityGam _statementsOgUniq _statementsOgenerDerivMp _statementsOidGam _statementsOmoduleNm _statementsOnmLev _statementsOopts _statementsOpatchEhNmInInstance _statementsOpragmas _statementsOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_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])
_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])
_argumentsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 540, 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 188, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _functionIconNm,_functionIeh,_functionIerrSq,_functionIgUniq,_functionIidUseOccGam,_functionIopChain,_functionIoperatorName,_functionIpp,_functionIppWrap,_functionItopInstanceNmL,_functionIundefOccGam) =
function_ _functionOcaseId _functionOfixityGam _functionOgUniq _functionOgenerDerivMp _functionOidGam _functionOmoduleNm _functionOnmLev _functionOopts _functionOpatchEhNmInInstance _functionOpragmas _functionOtopInstanceNmL
( _argumentsIeh,_argumentsIerrSq,_argumentsIgUniq,_argumentsIidUseOccGam,_argumentsIpp,_argumentsIppL,_argumentsIppWrap,_argumentsItopInstanceNmL,_argumentsIundefOccGam) =
arguments_ _argumentsOcaseId _argumentsOfixityGam _argumentsOgUniq _argumentsOgenerDerivMp _argumentsOidGam _argumentsOmoduleNm _argumentsOnmLev _argumentsOopts _argumentsOpatchEhNmInInstance _argumentsOpragmas _argumentsOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _expressionOidGam :: IdDefOccGam
_lhsOconNm :: Name
_lhsOoperatorName :: MaybeName
_lhsOopChain :: (OpChain EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_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])
_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])
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 237, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _lhsInmLev range_ _patternsIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 351, column 9)
_idGam =
gamUnions [_idDefOccGamType, _lhsIidGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 352, column 9)
_expressionOidGam =
gamUnions [_patternsIidDefOccGam, _idGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 265, 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 542, 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 188, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _patternsIeh,_patternsIerrSq,_patternsIfreeTvarS,_patternsIgUniq,_patternsIidDefOccGam,_patternsIidOccDefs,_patternsIidUseOccGam,_patternsIpp,_patternsIppL,_patternsIppWrap,_patternsItopInstanceNmL,_patternsIundefOccGam) =
patterns_ _patternsOfixityGam _patternsOgUniq _patternsOidGam _patternsOmoduleNm _patternsOnmLev _patternsOopts _patternsOpatchEhNmInInstance _patternsOtopInstanceNmL
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.ExprAnn
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
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]) ->
( (EH.ExprAnn),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_ExpressionAnnotation_Empty :: T_ExpressionAnnotation
sem_ExpressionAnnotation_Empty =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.ExprAnn)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 908, 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 471, 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/NameAnalysis.ag"(line 729, 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,_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
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
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]) ->
( ([EH.Expr]),ErrSq,UID,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.Expr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_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])
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.Expr])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppL :: ([PP_Doc])
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_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 454, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIconNm,_hdIeh,_hdIerrSq,_hdIgUniq,_hdIidUseOccGam,_hdIopChain,_hdIoperatorName,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOcaseId _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOcaseId _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Expressions_Nil :: T_Expressions
sem_Expressions_Nil =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.Expr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 454, 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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- FieldDeclaration --------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( (EH.DataField),ErrSq,Names,HsNameS,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_FieldDeclaration_FieldDeclaration :: Range ->
Names ->
T_Type ->
T_FieldDeclaration
sem_FieldDeclaration_FieldDeclaration range_ names_ type_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOeh :: (EH.DataField)
_lhsOerrSq :: ErrSq
_lhsOfldrefnames :: Names
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_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])
_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 340, column 9)
_lhsOeh =
rngLift range_ EH.DataField_Field (Just _fldrefnames) _typeIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 178, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 231, 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 118, column 21)
_lhsOfreeTvarS =
_typeIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfldrefnames,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- FieldDeclarations -------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( ([EH.DataField]),ErrSq,Names,HsNameS,UID,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_FieldDeclarations_Cons :: T_FieldDeclaration ->
T_FieldDeclarations ->
T_FieldDeclarations
sem_FieldDeclarations_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.DataField])
_lhsOerrSq :: ErrSq
_lhsOfldrefnames :: Names
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_hdIeh :: (EH.DataField)
_hdIerrSq :: ErrSq
_hdIfldrefnames :: Names
_hdIfreeTvarS :: HsNameS
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_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])
_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 334, 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 118, column 21)
_lhsOfreeTvarS =
_hdIfreeTvarS `Set.union` _tlIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIeh,_hdIerrSq,_hdIfldrefnames,_hdIfreeTvarS,_hdIgUniq,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL
( _tlIeh,_tlIerrSq,_tlIfldrefnames,_tlIfreeTvarS,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfldrefnames,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_FieldDeclarations_Nil :: T_FieldDeclarations
sem_FieldDeclarations_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.DataField])
_lhsOerrSq :: ErrSq
_lhsOfldrefnames :: Names
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 334, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
-- FunctionBinding ---------------------------------------------
{-
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
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
undefOccGam : IdUseOccGam
alternatives:
alternative FunctionBinding:
child range : {Range}
child lefthandside : LeftHandSide
child righthandside : RightHandSide
visit 0:
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 ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
( (EH.Decl),ErrSq,UID,IdDefOccGam,IdDpdMp,([IdOcc]),IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_FunctionBinding_FunctionBinding :: Range ->
T_LeftHandSide ->
T_RightHandSide ->
T_FunctionBinding
sem_FunctionBinding_FunctionBinding range_ lefthandside_ righthandside_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(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)
_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])
_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])
_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])
_lefthandsideIundefOccGam :: IdUseOccGam
_righthandsideIeh :: (EH.Expr)
_righthandsideIerrSq :: ErrSq
_righthandsideIgUniq :: UID
_righthandsideIidUseOccGam :: IdUseOccGam
_righthandsideIpp :: PP_Doc
_righthandsideIppWrap :: (PP_Doc -> PP_Doc)
_righthandsideItopInstanceNmL :: ([HsName])
_righthandsideIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 207, 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 383, column 9)
_righthandsideOidGam =
gamUnion _lefthandsideIidDefOccGam _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 733, column 29)
(_idUseOccGam,_idUseHereOccL,_,_undefOccGam) =
splitIdUseOccGam _lhsInmLev
(gamUnions [_lefthandsideIidUseOccGam,_righthandsideIidUseOccGam])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 733, column 9)
_idDpdMp =
idToOccL2DpdMp [_idOccDef] _idUseHereOccL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 737, column 9)
_lhsOundefOccGam =
gamUnions [_undefOccGam,_lefthandsideIundefOccGam,_righthandsideIundefOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1082, column 9)
_righthandsideOpatchEhNmInInstance =
id
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 169, column 9)
_idOccDef =
IdOcc _lefthandsideIrefname IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 169, 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 718, 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 873, column 9)
_caseId =
_lUniq
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 274, 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 129, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_idDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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
-- 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 (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
( _lefthandsideIeh,_lefthandsideIehTyMk,_lefthandsideIerrSq,_lefthandsideIgUniq,_lefthandsideIidDefOccGam,_lefthandsideIidOccDefs,_lefthandsideIidUseOccGam,_lefthandsideIpp,_lefthandsideIppWrap,_lefthandsideIrefname,_lefthandsideItopInstanceNmL,_lefthandsideIundefOccGam) =
lefthandside_ _lefthandsideOcaseId _lefthandsideOfixityGam _lefthandsideOgUniq _lefthandsideOgenerDerivMp _lefthandsideOidGam _lefthandsideOmoduleNm _lefthandsideOnmLev _lefthandsideOnmLevFun _lefthandsideOopts _lefthandsideOpatchEhNmInInstance _lefthandsideOpragmas _lefthandsideOtopInstanceNmL
( _righthandsideIeh,_righthandsideIerrSq,_righthandsideIgUniq,_righthandsideIidUseOccGam,_righthandsideIpp,_righthandsideIppWrap,_righthandsideItopInstanceNmL,_righthandsideIundefOccGam) =
righthandside_ _righthandsideOcaseId _righthandsideOfixityGam _righthandsideOgUniq _righthandsideOgenerDerivMp _righthandsideOidGam _righthandsideOmoduleNm _righthandsideOmustBeMono _righthandsideOnmLev _righthandsideOopts _righthandsideOpatchEhNmInInstance _righthandsideOpragmas _righthandsideOsepPP _righthandsideOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- FunctionBindings --------------------------------------------
{-
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
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
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 ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
( ([EH.Decl]),ErrSq,UID,IdDefOccGam,IdDpdMp,([IdOcc]),IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_FunctionBindings_Cons :: T_FunctionBinding ->
T_FunctionBindings ->
T_FunctionBindings
sem_FunctionBindings_Cons hd_ tl_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_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])
_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])
_tlIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 712, 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 129, column 23)
_lhsOidDefOccGam =
_hdIidDefOccGam `gamAddGam` _tlIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_hdIidDpdMp `idDpdMpUnion` _tlIidDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_hdIidOccDefs ++ _tlIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIidDefOccGam,_hdIidDpdMp,_hdIidOccDefs,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOcaseId _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidDefOccGam,_tlIidDpdMp,_tlIidOccDefs,_tlIidUseOccGam,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOcaseId _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_FunctionBindings_Nil :: T_FunctionBindings
sem_FunctionBindings_Nil =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOeh :: ([EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 712, 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 129, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
-- FunctionalDependencies --------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [EH.FuncDep]
errSq : ErrSq
gathFixityGam : FixityGam
gathPragmas : Set.Set Pragma.Pragma
idDefOccGam : IdDefOccGam
idDpdMp : IdDpdMp
idOccDefs : [IdOcc]
idTySigDefOccGam : IdDefOccGam
idUseOccGam : IdUseOccGam
needsError : Bool
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
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 ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
( ([EH.FuncDep]),ErrSq,UID,FixityGam,(Set.Set Pragma.Pragma),IdDefOccGam,IdDpdMp,([IdOcc]),IdDefOccGam,IdUseOccGam,Bool,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_FunctionalDependencies_Cons :: T_FunctionalDependency ->
T_FunctionalDependencies ->
T_FunctionalDependencies
sem_FunctionalDependencies_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOeh :: ([EH.FuncDep])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_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])
_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])
_hdIeh :: (EH.FuncDep)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIgathFixityGam :: FixityGam
_hdIgathPragmas :: (Set.Set Pragma.Pragma)
_hdIidDefOccGam :: IdDefOccGam
_hdIidDpdMp :: IdDpdMp
_hdIidOccDefs :: ([IdOcc])
_hdIidTySigDefOccGam :: IdDefOccGam
_hdIidUseOccGam :: IdUseOccGam
_hdIneedsError :: Bool
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([EH.FuncDep])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIgathFixityGam :: FixityGam
_tlIgathPragmas :: (Set.Set Pragma.Pragma)
_tlIidDefOccGam :: IdDefOccGam
_tlIidDpdMp :: IdDpdMp
_tlIidOccDefs :: ([IdOcc])
_tlIidTySigDefOccGam :: IdDefOccGam
_tlIidUseOccGam :: IdUseOccGam
_tlIneedsError :: Bool
_tlIpp :: PP_Doc
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 150, 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 129, column 23)
_lhsOidDefOccGam =
_hdIidDefOccGam `gamAddGam` _tlIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_hdIidDpdMp `idDpdMpUnion` _tlIidDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_hdIidOccDefs ++ _tlIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
_hdIidTySigDefOccGam `gamAddGam` _tlIidTySigDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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/NameAnalysis.ag"(line 729, 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)
_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)
_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
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIgathFixityGam,_hdIgathPragmas,_hdIidDefOccGam,_hdIidDpdMp,_hdIidOccDefs,_hdIidTySigDefOccGam,_hdIidUseOccGam,_hdIneedsError,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIgathFixityGam,_tlIgathPragmas,_tlIidDefOccGam,_tlIidDpdMp,_tlIidOccDefs,_tlIidTySigDefOccGam,_tlIidUseOccGam,_tlIneedsError,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_FunctionalDependencies_Nil :: T_FunctionalDependencies
sem_FunctionalDependencies_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOeh :: ([EH.FuncDep])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 150, 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 129, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- FunctionalDependency ----------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
generDerivMp : Map.Map HsName [(HsName,HsName)]
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
pragmas : Set.Set Pragma.Pragma
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.FuncDep
errSq : ErrSq
gathFixityGam : FixityGam
gathPragmas : Set.Set Pragma.Pragma
idDefOccGam : IdDefOccGam
idDpdMp : IdDpdMp
idOccDefs : [IdOcc]
idTySigDefOccGam : IdDefOccGam
idUseOccGam : IdUseOccGam
needsError : Bool
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
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 ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
( (EH.FuncDep),ErrSq,UID,FixityGam,(Set.Set Pragma.Pragma),IdDefOccGam,IdDpdMp,([IdOcc]),IdDefOccGam,IdUseOccGam,Bool,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_FunctionalDependency_Dependency :: Range ->
Names ->
Names ->
T_FunctionalDependency
sem_FunctionalDependency_Dependency range_ fromtypevariables_ totypevariables_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOeh :: (EH.FuncDep)
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 156, 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 129, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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
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
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]) ->
( (UIDS -> EH.Expr -> EH.Expr),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOeh :: (UIDS -> EH.Expr -> EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_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])
_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])
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 548, 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 550, 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 548, column 9)
_idUseOccGam =
gamUnions [_idUseOccGamVal,_idUseOccGamType]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 553, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_guardIidUseOccGam,_expressionIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 89, 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 634, 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/NameAnalysis.ag"(line 729, 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)
_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
( _guardIconNm,_guardIeh,_guardIerrSq,_guardIgUniq,_guardIidUseOccGam,_guardIopChain,_guardIoperatorName,_guardIpp,_guardIppWrap,_guardItopInstanceNmL,_guardIundefOccGam) =
guard_ _guardOcaseId _guardOfixityGam _guardOgUniq _guardOgenerDerivMp _guardOidGam _guardOmoduleNm _guardOnmLev _guardOopts _guardOpatchEhNmInInstance _guardOpragmas _guardOtopInstanceNmL
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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
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
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]) ->
( ([UIDS -> EH.Expr -> EH.Expr]),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOeh :: ([UIDS -> EH.Expr -> EH.Expr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_hdIeh :: (UIDS -> EH.Expr -> EH.Expr)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdIundefOccGam :: IdUseOccGam
_tlIeh :: ([UIDS -> EH.Expr -> EH.Expr])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 629, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOcaseId _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOmustBeMono _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOsepPP _hdOtopInstanceNmL
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOcaseId _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOmustBeMono _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOsepPP _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_GuardedExpressions_Nil :: T_GuardedExpressions
sem_GuardedExpressions_Nil =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsImustBeMono
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsIsepPP
_lhsItopInstanceNmL ->
(let _lhsOeh :: ([UIDS -> EH.Expr -> EH.Expr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 629, 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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- Import ------------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isMainMod : Bool
isTopMod : Bool
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathFixityGam : FixityGam
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
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]) ->
( ErrSq,UID,FixityGam,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_Import_Variable :: Range ->
Name ->
T_Import
sem_Import_Variable range_ name_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Import_TypeOrClassComplete :: Range ->
Name ->
T_Import
sem_Import_TypeOrClassComplete range_ name_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- ImportDeclaration -------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isMainMod : Bool
isTopMod : Bool
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( ErrSq,UID,FixityGam,IdUseOccGam,(Map.Map HsName HsName),PP_Doc,(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOmodAsMp :: (Map.Map HsName HsName)
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_importspecificationIerrSq :: ErrSq
_importspecificationIgUniq :: UID
_importspecificationIgathFixityGam :: FixityGam
_importspecificationIidUseOccGam :: IdUseOccGam
_importspecificationIpp :: PP_Doc
_importspecificationIppWrap :: (PP_Doc -> PP_Doc)
_importspecificationItopInstanceNmL :: ([HsName])
_importspecificationIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1048, 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 471, 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/NameAnalysis.ag"(line 729, 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
( _importspecificationIerrSq,_importspecificationIgUniq,_importspecificationIgathFixityGam,_importspecificationIidUseOccGam,_importspecificationIpp,_importspecificationIppWrap,_importspecificationItopInstanceNmL,_importspecificationIundefOccGam) =
importspecification_ _importspecificationOfixityGam _importspecificationOgUniq _importspecificationOidGam _importspecificationOisMainMod _importspecificationOisTopMod _importspecificationOmoduleNm _importspecificationOnmLev _importspecificationOopts _importspecificationOpatchEhNmInInstance _importspecificationOtopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOmodAsMp,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_ImportDeclaration_Empty :: Range ->
T_ImportDeclaration
sem_ImportDeclaration_Empty range_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOmodAsMp :: (Map.Map HsName HsName)
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1050, 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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOmodAsMp,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- ImportDeclarations ------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isMainMod : Bool
isTopMod : Bool
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( ErrSq,UID,FixityGam,IdUseOccGam,(Map.Map HsName HsName),PP_Doc,(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOmodAsMp :: (Map.Map HsName HsName)
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOisMainMod :: Bool
_tlOisTopMod :: Bool
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIgathFixityGam :: FixityGam
_hdIidUseOccGam :: IdUseOccGam
_hdImodAsMp :: (Map.Map HsName HsName)
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_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])
_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 471, column 30)
_lhsOidUseOccGam =
_hdIidUseOccGam `gamAddGam` _tlIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1044, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIerrSq,_hdIgUniq,_hdIgathFixityGam,_hdIidUseOccGam,_hdImodAsMp,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOidGam _hdOisMainMod _hdOisTopMod _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL
( _tlIerrSq,_tlIgUniq,_tlIgathFixityGam,_tlIidUseOccGam,_tlImodAsMp,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOisMainMod _tlOisTopMod _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOmodAsMp,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_ImportDeclarations_Nil :: T_ImportDeclarations
sem_ImportDeclarations_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOmodAsMp :: (Map.Map HsName HsName)
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1044, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOmodAsMp,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- ImportSpecification -----------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isMainMod : Bool
isTopMod : Bool
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathFixityGam : FixityGam
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
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]) ->
( ErrSq,UID,FixityGam,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_importsIerrSq :: ErrSq
_importsIgUniq :: UID
_importsIgathFixityGam :: FixityGam
_importsIidUseOccGam :: IdUseOccGam
_importsIpp :: PP_Doc
_importsIppWrap :: (PP_Doc -> PP_Doc)
_importsItopInstanceNmL :: ([HsName])
_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 471, 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/NameAnalysis.ag"(line 729, 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
( _importsIerrSq,_importsIgUniq,_importsIgathFixityGam,_importsIidUseOccGam,_importsIpp,_importsIppWrap,_importsItopInstanceNmL,_importsIundefOccGam) =
imports_ _importsOfixityGam _importsOgUniq _importsOidGam _importsOisMainMod _importsOisTopMod _importsOmoduleNm _importsOnmLev _importsOopts _importsOpatchEhNmInInstance _importsOtopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- Imports -----------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isMainMod : Bool
isTopMod : Bool
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathFixityGam : FixityGam
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
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]) ->
( ErrSq,UID,FixityGam,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOisMainMod :: Bool
_tlOisTopMod :: Bool
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIgathFixityGam :: FixityGam
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdIundefOccGam :: IdUseOccGam
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIgathFixityGam :: FixityGam
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIerrSq,_hdIgUniq,_hdIgathFixityGam,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOidGam _hdOisMainMod _hdOisTopMod _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL
( _tlIerrSq,_tlIgUniq,_tlIgathFixityGam,_tlIidUseOccGam,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOisMainMod _tlOisTopMod _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Imports_Nil :: T_Imports
sem_Imports_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- Kind --------------------------------------------------------
{-
visit 0:
inherited attributes:
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( Name,(EH.KiExpr),ErrSq,HsNameS,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_Kind_NormalApplication :: Range ->
T_Kind ->
T_Kinds ->
T_Kind
sem_Kind_NormalApplication range_ function_ arguments_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOeh :: (EH.KiExpr)
_lhsOconNm :: Name
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_functionOgUniq :: UID
_functionOidGam :: IdDefOccGam
_functionOnmLev :: NmLev
_functionOopts :: EHCOpts
_functionOpatchEhNmInInstance :: PatchEhNmInInstance
_functionOtopInstanceNmL :: ([HsName])
_argumentsOgUniq :: UID
_argumentsOidGam :: IdDefOccGam
_argumentsOnmLev :: NmLev
_argumentsOopts :: EHCOpts
_argumentsOpatchEhNmInInstance :: PatchEhNmInInstance
_argumentsOtopInstanceNmL :: ([HsName])
_functionIconNm :: Name
_functionIeh :: (EH.KiExpr)
_functionIerrSq :: ErrSq
_functionIfreeTvarS :: HsNameS
_functionIgUniq :: UID
_functionIidUseOccGam :: IdUseOccGam
_functionIpp :: PP_Doc
_functionIppWrap :: (PP_Doc -> PP_Doc)
_functionItopInstanceNmL :: ([HsName])
_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])
_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 178, column 9)
_lhsOeh =
appTopApp (_functionIeh : _argumentsIeh)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 104, 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 106, column 30)
_lhsOfreeTvarS =
_functionIfreeTvarS `Set.union` _argumentsIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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 (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
( _functionIconNm,_functionIeh,_functionIerrSq,_functionIfreeTvarS,_functionIgUniq,_functionIidUseOccGam,_functionIpp,_functionIppWrap,_functionItopInstanceNmL,_functionIundefOccGam) =
function_ _functionOgUniq _functionOidGam _functionOnmLev _functionOopts _functionOpatchEhNmInInstance _functionOtopInstanceNmL
( _argumentsIeh,_argumentsIerrSq,_argumentsIfreeTvarS,_argumentsIgUniq,_argumentsIidUseOccGam,_argumentsIpp,_argumentsIppL,_argumentsIppWrap,_argumentsItopInstanceNmL,_argumentsIundefOccGam) =
arguments_ _argumentsOgUniq _argumentsOidGam _argumentsOnmLev _argumentsOopts _argumentsOpatchEhNmInInstance _argumentsOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOconNm :: Name
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.KiExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_leftKindOgUniq :: UID
_leftKindOidGam :: IdDefOccGam
_leftKindOnmLev :: NmLev
_leftKindOopts :: EHCOpts
_leftKindOpatchEhNmInInstance :: PatchEhNmInInstance
_leftKindOtopInstanceNmL :: ([HsName])
_operatorOgUniq :: UID
_operatorOidGam :: IdDefOccGam
_operatorOnmLev :: NmLev
_operatorOopts :: EHCOpts
_operatorOpatchEhNmInInstance :: PatchEhNmInInstance
_operatorOtopInstanceNmL :: ([HsName])
_rightKindOgUniq :: UID
_rightKindOidGam :: IdDefOccGam
_rightKindOnmLev :: NmLev
_rightKindOopts :: EHCOpts
_rightKindOpatchEhNmInInstance :: PatchEhNmInInstance
_rightKindOtopInstanceNmL :: ([HsName])
_leftKindIconNm :: Name
_leftKindIeh :: (EH.KiExpr)
_leftKindIerrSq :: ErrSq
_leftKindIfreeTvarS :: HsNameS
_leftKindIgUniq :: UID
_leftKindIidUseOccGam :: IdUseOccGam
_leftKindIpp :: PP_Doc
_leftKindIppWrap :: (PP_Doc -> PP_Doc)
_leftKindItopInstanceNmL :: ([HsName])
_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])
_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])
_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 180, column 9)
_eh =
appRngParApp range_ [_operatorIeh,_leftKindIeh,_rightKindIeh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 104, 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 106, column 30)
_lhsOfreeTvarS =
_leftKindIfreeTvarS `Set.union` _operatorIfreeTvarS `Set.union` _rightKindIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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 (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 (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
( _leftKindIconNm,_leftKindIeh,_leftKindIerrSq,_leftKindIfreeTvarS,_leftKindIgUniq,_leftKindIidUseOccGam,_leftKindIpp,_leftKindIppWrap,_leftKindItopInstanceNmL,_leftKindIundefOccGam) =
leftKind_ _leftKindOgUniq _leftKindOidGam _leftKindOnmLev _leftKindOopts _leftKindOpatchEhNmInInstance _leftKindOtopInstanceNmL
( _operatorIconNm,_operatorIeh,_operatorIerrSq,_operatorIfreeTvarS,_operatorIgUniq,_operatorIidUseOccGam,_operatorIpp,_operatorIppWrap,_operatorItopInstanceNmL,_operatorIundefOccGam) =
operator_ _operatorOgUniq _operatorOidGam _operatorOnmLev _operatorOopts _operatorOpatchEhNmInInstance _operatorOtopInstanceNmL
( _rightKindIconNm,_rightKindIeh,_rightKindIerrSq,_rightKindIfreeTvarS,_rightKindIgUniq,_rightKindIidUseOccGam,_rightKindIpp,_rightKindIppWrap,_rightKindItopInstanceNmL,_rightKindIundefOccGam) =
rightKind_ _rightKindOgUniq _rightKindOidGam _rightKindOnmLev _rightKindOopts _rightKindOpatchEhNmInInstance _rightKindOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Kind_Constructor :: Range ->
Name ->
T_Kind
sem_Kind_Constructor range_ name_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOeh :: (EH.KiExpr)
_lhsOconNm :: Name
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 586, column 9)
_idAsp =
IdAsp_Kind_Con
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 586, column 9)
_idOccKind =
IdOcc_Kind
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 592, 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 182, column 9)
_lhsOeh =
rngLift range_ EH.KiExpr_Con _refname
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 102, 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 106, column 30)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Kind_Parenthesized :: Range ->
T_Kind ->
T_Kind
sem_Kind_Parenthesized range_ kind_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOeh :: (EH.KiExpr)
_lhsOconNm :: Name
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_kindOgUniq :: UID
_kindOidGam :: IdDefOccGam
_kindOnmLev :: NmLev
_kindOopts :: EHCOpts
_kindOpatchEhNmInInstance :: PatchEhNmInInstance
_kindOtopInstanceNmL :: ([HsName])
_kindIconNm :: Name
_kindIeh :: (EH.KiExpr)
_kindIerrSq :: ErrSq
_kindIfreeTvarS :: HsNameS
_kindIgUniq :: UID
_kindIidUseOccGam :: IdUseOccGam
_kindIpp :: PP_Doc
_kindIppWrap :: (PP_Doc -> PP_Doc)
_kindItopInstanceNmL :: ([HsName])
_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 184, column 9)
_lhsOeh =
rngLift range_ EH.KiExpr_Parens _kindIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 104, 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 106, column 30)
_lhsOfreeTvarS =
_kindIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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
( _kindIconNm,_kindIeh,_kindIerrSq,_kindIfreeTvarS,_kindIgUniq,_kindIidUseOccGam,_kindIpp,_kindIppWrap,_kindItopInstanceNmL,_kindIundefOccGam) =
kind_ _kindOgUniq _kindOidGam _kindOnmLev _kindOopts _kindOpatchEhNmInInstance _kindOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Kind_Variable :: Range ->
Name ->
T_Kind
sem_Kind_Variable range_ name_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOeh :: (EH.KiExpr)
_lhsOconNm :: Name
_lhsOfreeTvarS :: HsNameS
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 589, column 9)
_idAsp =
IdAsp_Kind_Var
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 589, column 9)
_idOccKind =
IdOcc_Kind
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 592, 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 186, column 9)
_lhsOeh =
rngLift range_ EH.KiExpr_Var name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 104, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 110, 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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Kind_Forall :: Range ->
Names ->
T_Kind ->
T_Kind
sem_Kind_Forall range_ kindvariables_ kind_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOeh :: (EH.KiExpr)
_lhsOconNm :: Name
_lhsOfreeTvarS :: HsNameS
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_kindOgUniq :: UID
_kindOidGam :: IdDefOccGam
_kindOnmLev :: NmLev
_kindOopts :: EHCOpts
_kindOpatchEhNmInInstance :: PatchEhNmInInstance
_kindOtopInstanceNmL :: ([HsName])
_kindIconNm :: Name
_kindIeh :: (EH.KiExpr)
_kindIerrSq :: ErrSq
_kindIfreeTvarS :: HsNameS
_kindIgUniq :: UID
_kindIidUseOccGam :: IdUseOccGam
_kindIpp :: PP_Doc
_kindIppWrap :: (PP_Doc -> PP_Doc)
_kindItopInstanceNmL :: ([HsName])
_kindIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 247, column 9)
_idDefOccGamInside =
kvarL2IdDefOccGam _lhsInmLev range_ kindvariables_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 412, 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 188, column 9)
_lhsOeh =
_kindIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 104, column 9)
_lhsOconNm =
hsnUnknown
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 112, 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 471, 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/NameAnalysis.ag"(line 729, 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
( _kindIconNm,_kindIeh,_kindIerrSq,_kindIfreeTvarS,_kindIgUniq,_kindIidUseOccGam,_kindIpp,_kindIppWrap,_kindItopInstanceNmL,_kindIundefOccGam) =
kind_ _kindOgUniq _kindOidGam _kindOnmLev _kindOopts _kindOpatchEhNmInInstance _kindOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Kind_Annotate :: Range ->
T_KindAnnotation ->
T_Kind ->
T_Kind
sem_Kind_Annotate range_ annotation_ kind_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOconNm :: Name
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.KiExpr)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_annotationOgUniq :: UID
_annotationOidGam :: IdDefOccGam
_annotationOnmLev :: NmLev
_annotationOopts :: EHCOpts
_annotationOpatchEhNmInInstance :: PatchEhNmInInstance
_annotationOtopInstanceNmL :: ([HsName])
_kindOgUniq :: UID
_kindOidGam :: IdDefOccGam
_kindOnmLev :: NmLev
_kindOopts :: EHCOpts
_kindOpatchEhNmInInstance :: PatchEhNmInInstance
_kindOtopInstanceNmL :: ([HsName])
_annotationIeh :: (EH.KiExprAnn)
_annotationIerrSq :: ErrSq
_annotationIfreeTvarS :: HsNameS
_annotationIgUniq :: UID
_annotationIidUseOccGam :: IdUseOccGam
_annotationIpp :: PP_Doc
_annotationIppWrap :: (PP_Doc -> PP_Doc)
_annotationItopInstanceNmL :: ([HsName])
_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])
_kindIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 190, column 17)
_eh =
rngLift range_ EH.KiExpr_Ann _annotationIeh _kindIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 104, 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 106, column 30)
_lhsOfreeTvarS =
_annotationIfreeTvarS `Set.union` _kindIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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 (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
( _annotationIeh,_annotationIerrSq,_annotationIfreeTvarS,_annotationIgUniq,_annotationIidUseOccGam,_annotationIpp,_annotationIppWrap,_annotationItopInstanceNmL,_annotationIundefOccGam) =
annotation_ _annotationOgUniq _annotationOidGam _annotationOnmLev _annotationOopts _annotationOpatchEhNmInInstance _annotationOtopInstanceNmL
( _kindIconNm,_kindIeh,_kindIerrSq,_kindIfreeTvarS,_kindIgUniq,_kindIidUseOccGam,_kindIpp,_kindIppWrap,_kindItopInstanceNmL,_kindIundefOccGam) =
kind_ _kindOgUniq _kindOidGam _kindOnmLev _kindOopts _kindOpatchEhNmInInstance _kindOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- KindAnnotation ----------------------------------------------
{-
visit 0:
inherited attributes:
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( (EH.KiExprAnn),ErrSq,HsNameS,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_KindAnnotation_Empty :: T_KindAnnotation
sem_KindAnnotation_Empty =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.KiExprAnn)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 914, 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 106, column 30)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
-- Kinds -------------------------------------------------------
{-
visit 0:
inherited attributes:
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( ([EH.KiExpr]),ErrSq,HsNameS,UID,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_Kinds_Cons :: T_Kind ->
T_Kinds ->
T_Kinds
sem_Kinds_Cons hd_ tl_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.KiExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_hdIconNm :: Name
_hdIeh :: (EH.KiExpr)
_hdIerrSq :: ErrSq
_hdIfreeTvarS :: HsNameS
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_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])
_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 172, 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 106, column 30)
_lhsOfreeTvarS =
_hdIfreeTvarS `Set.union` _tlIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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 (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
( _hdIconNm,_hdIeh,_hdIerrSq,_hdIfreeTvarS,_hdIgUniq,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOgUniq _hdOidGam _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL
( _tlIeh,_tlIerrSq,_tlIfreeTvarS,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOgUniq _tlOidGam _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Kinds_Nil :: T_Kinds
sem_Kinds_Nil =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.KiExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 172, 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 106, column 30)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_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
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
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]) ->
( ([EH.PatExpr]),(EH.Expr -> EH.Expr),ErrSq,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),HsName,([HsName]),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 ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOrefname :: HsName
_lhsOtopInstanceNmL :: ([HsName])
_patternsOfixityGam :: FixityGam
_patternsOgUniq :: UID
_patternsOidGam :: IdDefOccGam
_patternsOmoduleNm :: HsName
_patternsOnmLev :: NmLev
_patternsOopts :: EHCOpts
_patternsOtopInstanceNmL :: ([HsName])
_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])
_patternsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1087, 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 735, column 9)
_lhsOeh =
rngLift range_ EH.PatExpr_Var
(_lhsIpatchEhNmInInstance _refname)
: _patternsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 755, 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 129, column 23)
_lhsOidDefOccGam =
_patternsIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_patternsIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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
( _patternsIeh,_patternsIerrSq,_patternsIgUniq,_patternsIidDefOccGam,_patternsIidOccDefs,_patternsIidUseOccGam,_patternsIpp,_patternsIppL,_patternsIppWrap,_patternsItopInstanceNmL,_patternsIundefOccGam) =
patterns_ _patternsOfixityGam _patternsOgUniq _patternsOidGam _patternsOmoduleNm _patternsOnmLev _patternsOopts _patternsOpatchEhNmInInstance _patternsOtopInstanceNmL
in ( _lhsOeh,_lhsOehTyMk,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOrefname,_lhsOtopInstanceNmL,_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 ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOrefname :: HsName
_lhsOtopInstanceNmL :: ([HsName])
_leftPatternOfixityGam :: FixityGam
_leftPatternOgUniq :: UID
_leftPatternOidGam :: IdDefOccGam
_leftPatternOmoduleNm :: HsName
_leftPatternOnmLev :: NmLev
_leftPatternOopts :: EHCOpts
_leftPatternOpatchEhNmInInstance :: PatchEhNmInInstance
_leftPatternOtopInstanceNmL :: ([HsName])
_rightPatternOfixityGam :: FixityGam
_rightPatternOgUniq :: UID
_rightPatternOidGam :: IdDefOccGam
_rightPatternOmoduleNm :: HsName
_rightPatternOnmLev :: NmLev
_rightPatternOopts :: EHCOpts
_rightPatternOpatchEhNmInInstance :: PatchEhNmInInstance
_rightPatternOtopInstanceNmL :: ([HsName])
_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])
_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])
_rightPatternIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1090, 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 739, column 9)
_lhsOeh =
[ rngLift range_ EH.PatExpr_Var
(_lhsIpatchEhNmInInstance _refname)
, _leftPatternIeh
, _rightPatternIeh
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 755, 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 129, column 23)
_lhsOidDefOccGam =
_leftPatternIidDefOccGam `gamAddGam` _rightPatternIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_leftPatternIidOccDefs ++ _rightPatternIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _leftPatternIeh,_leftPatternIerrSq,_leftPatternIgUniq,_leftPatternIidDefOccGam,_leftPatternIidOccDefs,_leftPatternIidUseOccGam,_leftPatternIisVar,_leftPatternImbTopRefname,_leftPatternIpp,_leftPatternIppWrap,_leftPatternItopInstanceNmL,_leftPatternIundefOccGam) =
leftPattern_ _leftPatternOfixityGam _leftPatternOgUniq _leftPatternOidGam _leftPatternOmoduleNm _leftPatternOnmLev _leftPatternOopts _leftPatternOpatchEhNmInInstance _leftPatternOtopInstanceNmL
( _rightPatternIeh,_rightPatternIerrSq,_rightPatternIgUniq,_rightPatternIidDefOccGam,_rightPatternIidOccDefs,_rightPatternIidUseOccGam,_rightPatternIisVar,_rightPatternImbTopRefname,_rightPatternIpp,_rightPatternIppWrap,_rightPatternItopInstanceNmL,_rightPatternIundefOccGam) =
rightPattern_ _rightPatternOfixityGam _rightPatternOgUniq _rightPatternOidGam _rightPatternOmoduleNm _rightPatternOnmLev _rightPatternOopts _rightPatternOpatchEhNmInInstance _rightPatternOtopInstanceNmL
in ( _lhsOeh,_lhsOehTyMk,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOrefname,_lhsOtopInstanceNmL,_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 ->
(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)
_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])
_patternsOfixityGam :: FixityGam
_patternsOgUniq :: UID
_patternsOidGam :: IdDefOccGam
_patternsOmoduleNm :: HsName
_patternsOnmLev :: NmLev
_patternsOopts :: EHCOpts
_patternsOpatchEhNmInInstance :: PatchEhNmInInstance
_patternsOtopInstanceNmL :: ([HsName])
_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])
_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])
_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 745, column 9)
_lhsOeh =
_lefthandsideIeh ++ _patternsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 755, 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 129, column 23)
_lhsOidDefOccGam =
_lefthandsideIidDefOccGam `gamAddGam` _patternsIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_lefthandsideIidOccDefs ++ _patternsIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _lefthandsideIeh,_lefthandsideIehTyMk,_lefthandsideIerrSq,_lefthandsideIgUniq,_lefthandsideIidDefOccGam,_lefthandsideIidOccDefs,_lefthandsideIidUseOccGam,_lefthandsideIpp,_lefthandsideIppWrap,_lefthandsideIrefname,_lefthandsideItopInstanceNmL,_lefthandsideIundefOccGam) =
lefthandside_ _lefthandsideOcaseId _lefthandsideOfixityGam _lefthandsideOgUniq _lefthandsideOgenerDerivMp _lefthandsideOidGam _lefthandsideOmoduleNm _lefthandsideOnmLev _lefthandsideOnmLevFun _lefthandsideOopts _lefthandsideOpatchEhNmInInstance _lefthandsideOpragmas _lefthandsideOtopInstanceNmL
( _patternsIeh,_patternsIerrSq,_patternsIgUniq,_patternsIidDefOccGam,_patternsIidOccDefs,_patternsIidUseOccGam,_patternsIpp,_patternsIppL,_patternsIppWrap,_patternsItopInstanceNmL,_patternsIundefOccGam) =
patterns_ _patternsOfixityGam _patternsOgUniq _patternsOidGam _patternsOmoduleNm _patternsOnmLev _patternsOopts _patternsOpatchEhNmInInstance _patternsOtopInstanceNmL
in ( _lhsOeh,_lhsOehTyMk,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOrefname,_lhsOtopInstanceNmL,_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 ->
(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)
_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])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOisAsPred :: Bool
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_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])
_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])
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 225, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _lhsInmLev range_ _typeIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 360, 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 747, column 9)
_lhsOeh =
_lefthandsideIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 753, column 9)
_lhsOehTyMk =
rngLift range_ EH.Expr_TypeAs True _typeIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 197, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 206, 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 129, column 23)
_lhsOidDefOccGam =
_lefthandsideIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_lefthandsideIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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 (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
( _lefthandsideIeh,_lefthandsideIehTyMk,_lefthandsideIerrSq,_lefthandsideIgUniq,_lefthandsideIidDefOccGam,_lefthandsideIidOccDefs,_lefthandsideIidUseOccGam,_lefthandsideIpp,_lefthandsideIppWrap,_lefthandsideIrefname,_lefthandsideItopInstanceNmL,_lefthandsideIundefOccGam) =
lefthandside_ _lefthandsideOcaseId _lefthandsideOfixityGam _lefthandsideOgUniq _lefthandsideOgenerDerivMp _lefthandsideOidGam _lefthandsideOmoduleNm _lefthandsideOnmLev _lefthandsideOnmLevFun _lefthandsideOopts _lefthandsideOpatchEhNmInInstance _lefthandsideOpragmas _lefthandsideOtopInstanceNmL
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL
in ( _lhsOeh,_lhsOehTyMk,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOrefname,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- Literal -----------------------------------------------------
{-
visit 0:
inherited attributes:
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : Literal
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
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]) ->
( Literal,ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_Literal_Int :: Range ->
Int ->
String ->
T_Literal
sem_Literal_Int range_ base_ value_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
sem_Literal_Char :: Range ->
String ->
T_Literal
sem_Literal_Char range_ value_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
sem_Literal_String :: Range ->
String ->
T_Literal
sem_Literal_String range_ value_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
sem_Literal_Float :: Range ->
String ->
T_Literal
sem_Literal_Float range_ value_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
-- MaybeDeclarations -------------------------------------------
{-
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
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
idOccDefs : [IdOcc]
idTySigDefOccGam : IdDefOccGam
idUseOccGam : IdUseOccGam
needsError : Bool
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
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 ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
(Set.Set Pragma.Pragma) ->
([HsName]) ->
( (Maybe [EH.Decl]),ErrSq,UID,FixityGam,(Set.Set Pragma.Pragma),IdDefOccGam,IdDpdMp,([IdOcc]),IdDefOccGam,IdUseOccGam,Bool,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_MaybeDeclarations_Just :: T_Declarations ->
T_MaybeDeclarations
sem_MaybeDeclarations_Just just_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOeh :: (Maybe [EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_justIeh :: ([EH.Decl])
_justIerrSq :: ErrSq
_justIgUniq :: UID
_justIgathFixityGam :: FixityGam
_justIgathPragmas :: (Set.Set Pragma.Pragma)
_justIidDefOccGam :: IdDefOccGam
_justIidDpdMp :: IdDpdMp
_justIidOccDefs :: ([IdOcc])
_justIidTySigDefOccGam :: IdDefOccGam
_justIidUseOccGam :: IdUseOccGam
_justIneedsError :: Bool
_justIpp :: PP_Doc
_justIppWrap :: (PP_Doc -> PP_Doc)
_justItopInstanceNmL :: ([HsName])
_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 129, column 23)
_lhsOidDefOccGam =
_justIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
_justIidDpdMp
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_justIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
_justIidTySigDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
_justIidUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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/NameAnalysis.ag"(line 729, 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
( _justIeh,_justIerrSq,_justIgUniq,_justIgathFixityGam,_justIgathPragmas,_justIidDefOccGam,_justIidDpdMp,_justIidOccDefs,_justIidTySigDefOccGam,_justIidUseOccGam,_justIneedsError,_justIpp,_justIppWrap,_justItopInstanceNmL,_justIundefOccGam) =
just_ _justOcaseId _justOfixityGam _justOgUniq _justOgenerDerivMp _justOidGam _justOmoduleNm _justOnmLev _justOopts _justOpatchEhNmInInstance _justOpragmas _justOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_MaybeDeclarations_Nothing :: T_MaybeDeclarations
sem_MaybeDeclarations_Nothing =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOeh :: (Maybe [EH.Decl])
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidDpdMp :: IdDpdMp
_lhsOidOccDefs :: ([IdOcc])
_lhsOidTySigDefOccGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOneedsError :: Bool
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 129, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 728, column 19)
_lhsOidDpdMp =
Map.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 269, column 28)
_lhsOidTySigDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, column 30)
_lhsOidUseOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 693, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathPragmas,_lhsOidDefOccGam,_lhsOidDpdMp,_lhsOidOccDefs,_lhsOidTySigDefOccGam,_lhsOidUseOccGam,_lhsOneedsError,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- MaybeExports ------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isMainMod : Bool
isTopMod : Bool
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathFixityGam : FixityGam
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
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]) ->
( ErrSq,UID,FixityGam,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_MaybeExports_Just :: T_Exports ->
T_MaybeExports
sem_MaybeExports_Just just_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_justIerrSq :: ErrSq
_justIgUniq :: UID
_justIgathFixityGam :: FixityGam
_justIidUseOccGam :: IdUseOccGam
_justIpp :: PP_Doc
_justIppWrap :: (PP_Doc -> PP_Doc)
_justItopInstanceNmL :: ([HsName])
_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 471, 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/NameAnalysis.ag"(line 729, 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
( _justIerrSq,_justIgUniq,_justIgathFixityGam,_justIidUseOccGam,_justIpp,_justIppWrap,_justItopInstanceNmL,_justIundefOccGam) =
just_ _justOfixityGam _justOgUniq _justOidGam _justOisMainMod _justOisTopMod _justOmoduleNm _justOnmLev _justOopts _justOpatchEhNmInInstance _justOtopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_MaybeExports_Nothing :: T_MaybeExports
sem_MaybeExports_Nothing =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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
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
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]) ->
( (Maybe EH.Expr),ErrSq,UID,IdUseOccGam,PP_Doc,(Maybe PP_Doc),(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_MaybeExpression_Just :: T_Expression ->
T_MaybeExpression
sem_MaybeExpression_Just just_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOppMb :: (Maybe PP_Doc)
_lhsOeh :: (Maybe EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_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 462, 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 471, 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/NameAnalysis.ag"(line 729, 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
( _justIconNm,_justIeh,_justIerrSq,_justIgUniq,_justIidUseOccGam,_justIopChain,_justIoperatorName,_justIpp,_justIppWrap,_justItopInstanceNmL,_justIundefOccGam) =
just_ _justOcaseId _justOfixityGam _justOgUniq _justOgenerDerivMp _justOidGam _justOmoduleNm _justOnmLev _justOopts _justOpatchEhNmInInstance _justOpragmas _justOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppMb,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_MaybeExpression_Nothing :: T_MaybeExpression
sem_MaybeExpression_Nothing =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOppMb :: (Maybe PP_Doc)
_lhsOeh :: (Maybe EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 456, 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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppMb,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- MaybeImportSpecification ------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isMainMod : Bool
isTopMod : Bool
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
errSq : ErrSq
gathFixityGam : FixityGam
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
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]) ->
( ErrSq,UID,FixityGam,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_MaybeImportSpecification_Just :: T_ImportSpecification ->
T_MaybeImportSpecification
sem_MaybeImportSpecification_Just just_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_justIerrSq :: ErrSq
_justIgUniq :: UID
_justIgathFixityGam :: FixityGam
_justIidUseOccGam :: IdUseOccGam
_justIpp :: PP_Doc
_justIppWrap :: (PP_Doc -> PP_Doc)
_justItopInstanceNmL :: ([HsName])
_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 471, 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/NameAnalysis.ag"(line 729, 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
( _justIerrSq,_justIgUniq,_justIgathFixityGam,_justIidUseOccGam,_justIpp,_justIppWrap,_justItopInstanceNmL,_justIundefOccGam) =
just_ _justOfixityGam _justOgUniq _justOidGam _justOisMainMod _justOisTopMod _justOmoduleNm _justOnmLev _justOopts _justOpatchEhNmInInstance _justOtopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_MaybeImportSpecification_Nothing :: T_MaybeImportSpecification
sem_MaybeImportSpecification_Nothing =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisMainMod
_lhsIisTopMod
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- MaybeType ---------------------------------------------------
{-
visit 0:
inherited attributes:
doGenVarWild : Bool
fixityGam : FixityGam
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( (Maybe EH.TyExpr),ErrSq,HsNameS,UID,IdUseOccGam,PP_Doc,(Maybe PP_Doc),(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_MaybeType_Just :: T_Type ->
T_MaybeType
sem_MaybeType_Just just_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOppMb :: (Maybe PP_Doc)
_lhsOeh :: (Maybe EH.TyExpr)
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_justOdoGenVarWild :: Bool
_justOfixityGam :: FixityGam
_justOgUniq :: UID
_justOidGam :: IdDefOccGam
_justOisAsPred :: Bool
_justOnmLev :: NmLev
_justOopts :: EHCOpts
_justOpatchEhNmInInstance :: PatchEhNmInInstance
_justOtopInstanceNmL :: ([HsName])
_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])
_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 205, column 9)
_lhsOeh =
Just _justIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 118, column 21)
_lhsOfreeTvarS =
_justIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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
( _justIconNm,_justIeh,_justIehMbAsPr,_justIehMbAsPrL,_justIehMbAsTyPr,_justIehMbAsTyPrL,_justIerrSq,_justIfreeTvarS,_justIgUniq,_justIidUseOccGam,_justImbRefConNm,_justIopChain,_justIoperatorName,_justIpp,_justIppWrap,_justItopInstanceNmL,_justItyConIs,_justIundefOccGam) =
just_ _justOdoGenVarWild _justOfixityGam _justOgUniq _justOidGam _justOisAsPred _justOnmLev _justOopts _justOpatchEhNmInInstance _justOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppMb,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_MaybeType_Nothing :: T_MaybeType
sem_MaybeType_Nothing =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOppMb :: (Maybe PP_Doc)
_lhsOeh :: (Maybe EH.TyExpr)
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 188, column 9)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 201, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppMb,_lhsOppWrap,_lhsOtopInstanceNmL,_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
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
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]) ->
( (EH.Expr),ErrSq,(Set.Set Pragma.Pragma),UID,FixityGam,IdDefOccGam,IdUseOccGam,Bool,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),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 ->
(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)
_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])
_exportsOfixityGam :: FixityGam
_exportsOgUniq :: UID
_exportsOidGam :: IdDefOccGam
_exportsOisMainMod :: Bool
_exportsOisTopMod :: Bool
_exportsOmoduleNm :: HsName
_exportsOnmLev :: NmLev
_exportsOopts :: EHCOpts
_exportsOpatchEhNmInInstance :: PatchEhNmInInstance
_exportsOtopInstanceNmL :: ([HsName])
_bodyOfixityGam :: FixityGam
_bodyOgUniq :: UID
_bodyOidGam :: IdDefOccGam
_bodyOisMainMod :: Bool
_bodyOisTopMod :: Bool
_bodyOmodEntToOrig :: ModEntRngMp
_bodyOmodInScope :: ModEntDomMp
_bodyOmoduleNm :: HsName
_bodyOnmLev :: NmLev
_bodyOopts :: EHCOpts
_bodyOpatchEhNmInInstance :: PatchEhNmInInstance
_bodyOtopInstanceNmL :: ([HsName])
_fileheaderpragmasIerrSq :: ErrSq
_fileheaderpragmasIgUniq :: UID
_fileheaderpragmasIgathPragmas :: (Set.Set Pragma.Pragma)
_fileheaderpragmasIidUseOccGam :: IdUseOccGam
_fileheaderpragmasIpp :: PP_Doc
_fileheaderpragmasIppWrap :: (PP_Doc -> PP_Doc)
_fileheaderpragmasItopInstanceNmL :: ([HsName])
_fileheaderpragmasIundefOccGam :: IdUseOccGam
_exportsIerrSq :: ErrSq
_exportsIgUniq :: UID
_exportsIgathFixityGam :: FixityGam
_exportsIidUseOccGam :: IdUseOccGam
_exportsIpp :: PP_Doc
_exportsIppWrap :: (PP_Doc -> PP_Doc)
_exportsItopInstanceNmL :: ([HsName])
_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])
_bodyIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 23, column 9)
_fileHeaderPragmas =
_fileheaderpragmasIgathPragmas
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/Pragmas.ag"(line 23, 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 305, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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)
_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
( _fileheaderpragmasIerrSq,_fileheaderpragmasIgUniq,_fileheaderpragmasIgathPragmas,_fileheaderpragmasIidUseOccGam,_fileheaderpragmasIpp,_fileheaderpragmasIppWrap,_fileheaderpragmasItopInstanceNmL,_fileheaderpragmasIundefOccGam) =
fileheaderpragmas_ _fileheaderpragmasOgUniq _fileheaderpragmasOidGam _fileheaderpragmasOnmLev _fileheaderpragmasOopts _fileheaderpragmasOpatchEhNmInInstance _fileheaderpragmasOtopInstanceNmL
( _exportsIerrSq,_exportsIgUniq,_exportsIgathFixityGam,_exportsIidUseOccGam,_exportsIpp,_exportsIppWrap,_exportsItopInstanceNmL,_exportsIundefOccGam) =
exports_ _exportsOfixityGam _exportsOgUniq _exportsOidGam _exportsOisMainMod _exportsOisTopMod _exportsOmoduleNm _exportsOnmLev _exportsOopts _exportsOpatchEhNmInInstance _exportsOtopInstanceNmL
( _bodyIeh,_bodyIerrSq,_bodyIextraModImpL,_bodyIgUniq,_bodyIgathFixityGam,_bodyIgathIdGam,_bodyIidUseOccGam,_bodyImainValExists,_bodyIpp,_bodyIppWrap,_bodyItopInstanceNmL,_bodyIundefOccGam) =
body_ _bodyOfixityGam _bodyOgUniq _bodyOidGam _bodyOisMainMod _bodyOisTopMod _bodyOmodEntToOrig _bodyOmodInScope _bodyOmoduleNm _bodyOnmLev _bodyOopts _bodyOpatchEhNmInInstance _bodyOpragmas _bodyOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfileHeaderPragmas,_lhsOgUniq,_lhsOgathFixityGam,_lhsOgathIdGam,_lhsOidUseOccGam,_lhsOmainValExists,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- Pattern -----------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( (EH.PatExpr),ErrSq,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,Bool,(Maybe HsName),PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_Pattern_Literal :: Range ->
Int ->
T_Literal ->
T_Pattern
sem_Pattern_Literal range_ sign_ literal_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_literalOgUniq :: UID
_literalOidGam :: IdDefOccGam
_literalOnmLev :: NmLev
_literalOopts :: EHCOpts
_literalOpatchEhNmInInstance :: PatchEhNmInInstance
_literalOtopInstanceNmL :: ([HsName])
_literalIeh :: Literal
_literalIerrSq :: ErrSq
_literalIgUniq :: UID
_literalIidUseOccGam :: IdUseOccGam
_literalIpp :: PP_Doc
_literalIppWrap :: (PP_Doc -> PP_Doc)
_literalItopInstanceNmL :: ([HsName])
_literalIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 517, 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 517, column 9)
_litnames =
litNames _lhsIopts _literalIeh True sign_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 520, column 29)
(_litrefname,_litrefnames,_idUseOccGam,_errIdUse) =
mkUseOccGam' _lhsIopts _lhsIidGam _litnames range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 522, 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 524, column 9)
_lhsOidUseOccGam =
gamUnions
[ _idUseOccGam, _idUseOccGamEq
, _idUseOccGamCls
, _literalIidUseOccGam
]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 229, 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 801, 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 188, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 264, 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 129, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, 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/NameAnalysis.ag"(line 729, 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
( _literalIeh,_literalIerrSq,_literalIgUniq,_literalIidUseOccGam,_literalIpp,_literalIppWrap,_literalItopInstanceNmL,_literalIundefOccGam) =
literal_ _literalOgUniq _literalOidGam _literalOnmLev _literalOopts _literalOpatchEhNmInInstance _literalOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Pattern_Variable :: Range ->
Name ->
T_Pattern
sem_Pattern_Variable range_ name_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 216, 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 100, column 9)
_isWildcard =
hsnIsWild name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 174, column 9)
_idOccDef =
IdOcc _refname IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 174, column 9)
_idOccDefsNoWildcard =
if _isWildcard then [] else [_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 178, column 9)
_idOccDefs =
_idOccDefsNoWildcard
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 227, 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 812, column 9)
_lhsOeh =
rngLift range_ EH.PatExpr_Var
(_lhsIpatchEhNmInInstance _refname)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 260, 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 129, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
sem_Pattern_Constructor :: Range ->
Name ->
T_Patterns ->
T_Pattern
sem_Pattern_Constructor range_ name_ patterns_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternsOfixityGam :: FixityGam
_patternsOgUniq :: UID
_patternsOidGam :: IdDefOccGam
_patternsOmoduleNm :: HsName
_patternsOnmLev :: NmLev
_patternsOopts :: EHCOpts
_patternsOpatchEhNmInInstance :: PatchEhNmInInstance
_patternsOtopInstanceNmL :: ([HsName])
_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])
_patternsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 559, 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 562, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_patternsIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 219, column 9)
_conNm =
name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 229, 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 815, column 9)
_lhsOeh =
ehPatConApp range_ _refname _patternsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 264, 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 129, column 23)
_lhsOidDefOccGam =
_patternsIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, 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/NameAnalysis.ag"(line 729, 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
( _patternsIeh,_patternsIerrSq,_patternsIgUniq,_patternsIidDefOccGam,_patternsIidOccDefs,_patternsIidUseOccGam,_patternsIpp,_patternsIppL,_patternsIppWrap,_patternsItopInstanceNmL,_patternsIundefOccGam) =
patterns_ _patternsOfixityGam _patternsOgUniq _patternsOidGam _patternsOmoduleNm _patternsOnmLev _patternsOopts _patternsOpatchEhNmInInstance _patternsOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Pattern_Parenthesized :: Range ->
T_Pattern ->
T_Pattern
sem_Pattern_Parenthesized range_ pattern_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOmbTopRefname :: (Maybe HsName)
_lhsOeh :: (EH.PatExpr)
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOisVar :: Bool
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_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])
_patternIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 229, 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 817, column 9)
_lhsOeh =
rngLift range_ EH.PatExpr_Parens _patternIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 129, column 23)
_lhsOidDefOccGam =
_patternIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_patternIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Pattern_As :: Range ->
Name ->
T_Pattern ->
T_Pattern
sem_Pattern_As range_ name_ pattern_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOidDefOccGam :: IdDefOccGam
_lhsOmbTopRefname :: (Maybe HsName)
_lhsOeh :: (EH.PatExpr)
_lhsOerrSq :: ErrSq
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOisVar :: Bool
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_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])
_patternIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 216, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev range_ IdAsp_Val_Var _idOccDefsNoWildcard
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 218, 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 100, column 9)
_isWildcard =
hsnIsWild name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 174, column 9)
_idOccDef =
IdOcc _refname IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 174, column 9)
_idOccDefsNoWildcard =
if _isWildcard then [] else [_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 180, column 9)
_idOccDefs =
_idOccDefsNoWildcard ++ _patternIidOccDefs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 227, 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 823, column 9)
_lhsOeh =
rngLift range_ EH.PatExpr_VarAs
(_lhsIpatchEhNmInInstance _refname)
_patternIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 109, column 21)
_lhsOidOccDefs =
_idOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Pattern_Wildcard :: Range ->
T_Pattern
sem_Pattern_Wildcard range_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 229, 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 827, column 9)
_lhsOeh =
rngLift range_ EH.PatExpr_Var hsnWild
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 264, 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 129, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
sem_Pattern_Tuple :: Range ->
Int ->
T_Patterns ->
T_Pattern
sem_Pattern_Tuple range_ arity_ patterns_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternsOfixityGam :: FixityGam
_patternsOgUniq :: UID
_patternsOidGam :: IdDefOccGam
_patternsOmoduleNm :: HsName
_patternsOnmLev :: NmLev
_patternsOopts :: EHCOpts
_patternsOpatchEhNmInInstance :: PatchEhNmInInstance
_patternsOtopInstanceNmL :: ([HsName])
_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])
_patternsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 229, 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 819, 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 188, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 264, 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 129, column 23)
_lhsOidDefOccGam =
_patternsIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_patternsIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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
( _patternsIeh,_patternsIerrSq,_patternsIgUniq,_patternsIidDefOccGam,_patternsIidOccDefs,_patternsIidUseOccGam,_patternsIpp,_patternsIppL,_patternsIppWrap,_patternsItopInstanceNmL,_patternsIundefOccGam) =
patterns_ _patternsOfixityGam _patternsOgUniq _patternsOidGam _patternsOmoduleNm _patternsOnmLev _patternsOopts _patternsOpatchEhNmInInstance _patternsOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOmbTopRefname :: (Maybe HsName)
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_annotationIeh :: (EH.PatExprAnn)
_annotationIerrSq :: ErrSq
_annotationIgUniq :: UID
_annotationIidDefOccGam :: IdDefOccGam
_annotationIidOccDefs :: ([IdOcc])
_annotationIidUseOccGam :: IdUseOccGam
_annotationIpp :: PP_Doc
_annotationIppWrap :: (PP_Doc -> PP_Doc)
_annotationItopInstanceNmL :: ([HsName])
_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])
_patternIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 229, column 9)
_lhsOmbTopRefname =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 829, column 17)
_eh =
rngLift range_ EH.PatExpr_Ann _annotationIeh _patternIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 129, column 23)
_lhsOidDefOccGam =
_annotationIidDefOccGam `gamAddGam` _patternIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_annotationIidOccDefs ++ _patternIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _annotationIeh,_annotationIerrSq,_annotationIgUniq,_annotationIidDefOccGam,_annotationIidOccDefs,_annotationIidUseOccGam,_annotationIpp,_annotationIppWrap,_annotationItopInstanceNmL,_annotationIundefOccGam) =
annotation_ _annotationOfixityGam _annotationOgUniq _annotationOidGam _annotationOmoduleNm _annotationOnmLev _annotationOopts _annotationOpatchEhNmInInstance _annotationOtopInstanceNmL
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOisVar :: Bool
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOisAsPred :: Bool
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_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])
_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])
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 220, column 9)
_idDefOccGamType =
tvarS2IdDefOccGam _lhsInmLev range_ _typeIfreeTvarS
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 356, column 9)
_typeOidGam =
gamUnion _idDefOccGamType _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 229, 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 831, column 9)
_lhsOeh =
rngLift range_ EH.PatExpr_TypeAs _typeIeh _patternIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 214, 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 129, column 23)
_lhsOidDefOccGam =
_patternIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_patternIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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 (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
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_leftPatternOfixityGam :: FixityGam
_leftPatternOgUniq :: UID
_leftPatternOidGam :: IdDefOccGam
_leftPatternOmoduleNm :: HsName
_leftPatternOnmLev :: NmLev
_leftPatternOopts :: EHCOpts
_leftPatternOpatchEhNmInInstance :: PatchEhNmInInstance
_leftPatternOtopInstanceNmL :: ([HsName])
_rightPatternOfixityGam :: FixityGam
_rightPatternOgUniq :: UID
_rightPatternOidGam :: IdDefOccGam
_rightPatternOmoduleNm :: HsName
_rightPatternOnmLev :: NmLev
_rightPatternOopts :: EHCOpts
_rightPatternOpatchEhNmInInstance :: PatchEhNmInInstance
_rightPatternOtopInstanceNmL :: ([HsName])
_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])
_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])
_rightPatternIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 559, 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 564, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_leftPatternIidUseOccGam,_rightPatternIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 221, column 9)
_conNm =
constructorOperator_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 229, 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 833, column 9)
_lhsOeh =
ehPatConApp range_ _refname [_leftPatternIeh,_rightPatternIeh]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 264, 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 129, column 23)
_lhsOidDefOccGam =
_leftPatternIidDefOccGam `gamAddGam` _rightPatternIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, 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/NameAnalysis.ag"(line 729, 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)
_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
( _leftPatternIeh,_leftPatternIerrSq,_leftPatternIgUniq,_leftPatternIidDefOccGam,_leftPatternIidOccDefs,_leftPatternIidUseOccGam,_leftPatternIisVar,_leftPatternImbTopRefname,_leftPatternIpp,_leftPatternIppWrap,_leftPatternItopInstanceNmL,_leftPatternIundefOccGam) =
leftPattern_ _leftPatternOfixityGam _leftPatternOgUniq _leftPatternOidGam _leftPatternOmoduleNm _leftPatternOnmLev _leftPatternOopts _leftPatternOpatchEhNmInInstance _leftPatternOtopInstanceNmL
( _rightPatternIeh,_rightPatternIerrSq,_rightPatternIgUniq,_rightPatternIidDefOccGam,_rightPatternIidOccDefs,_rightPatternIidUseOccGam,_rightPatternIisVar,_rightPatternImbTopRefname,_rightPatternIpp,_rightPatternIppWrap,_rightPatternItopInstanceNmL,_rightPatternIundefOccGam) =
rightPattern_ _rightPatternOfixityGam _rightPatternOgUniq _rightPatternOidGam _rightPatternOmoduleNm _rightPatternOnmLev _rightPatternOopts _rightPatternOpatchEhNmInInstance _rightPatternOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Pattern_List :: Range ->
T_Patterns ->
T_Pattern
sem_Pattern_List range_ patterns_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternsOfixityGam :: FixityGam
_patternsOgUniq :: UID
_patternsOidGam :: IdDefOccGam
_patternsOmoduleNm :: HsName
_patternsOnmLev :: NmLev
_patternsOopts :: EHCOpts
_patternsOpatchEhNmInInstance :: PatchEhNmInInstance
_patternsOtopInstanceNmL :: ([HsName])
_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])
_patternsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 566, 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 568, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_patternsIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 229, 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 835, 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 188, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 264, 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 129, column 23)
_lhsOidDefOccGam =
_patternsIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, 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/NameAnalysis.ag"(line 729, 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
( _patternsIeh,_patternsIerrSq,_patternsIgUniq,_patternsIidDefOccGam,_patternsIidOccDefs,_patternsIidUseOccGam,_patternsIpp,_patternsIppL,_patternsIppWrap,_patternsItopInstanceNmL,_patternsIundefOccGam) =
patterns_ _patternsOfixityGam _patternsOgUniq _patternsOidGam _patternsOmoduleNm _patternsOnmLev _patternsOopts _patternsOpatchEhNmInInstance _patternsOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Pattern_Record :: Range ->
Name ->
T_RecordPatternBindings ->
T_Pattern
sem_Pattern_Record range_ name_ recordPatternBindings_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_recordPatternBindingsOfixityGam :: FixityGam
_recordPatternBindingsOgUniq :: UID
_recordPatternBindingsOidGam :: IdDefOccGam
_recordPatternBindingsOmoduleNm :: HsName
_recordPatternBindingsOnmLev :: NmLev
_recordPatternBindingsOopts :: EHCOpts
_recordPatternBindingsOpatchEhNmInInstance :: PatchEhNmInInstance
_recordPatternBindingsOtopInstanceNmL :: ([HsName])
_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])
_recordPatternBindingsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 559, 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 570, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_recordPatternBindingsIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 219, column 9)
_conNm =
name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 229, 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 837, 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 188, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 264, 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 129, column 23)
_lhsOidDefOccGam =
_recordPatternBindingsIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, 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/NameAnalysis.ag"(line 729, 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
( _recordPatternBindingsIeh,_recordPatternBindingsIerrSq,_recordPatternBindingsIgUniq,_recordPatternBindingsIidDefOccGam,_recordPatternBindingsIidOccDefs,_recordPatternBindingsIidUseOccGam,_recordPatternBindingsIpp,_recordPatternBindingsIppL,_recordPatternBindingsIppWrap,_recordPatternBindingsItopInstanceNmL,_recordPatternBindingsIundefOccGam) =
recordPatternBindings_ _recordPatternBindingsOfixityGam _recordPatternBindingsOgUniq _recordPatternBindingsOidGam _recordPatternBindingsOmoduleNm _recordPatternBindingsOnmLev _recordPatternBindingsOopts _recordPatternBindingsOpatchEhNmInInstance _recordPatternBindingsOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_rowRecordPattternBindingsOfixityGam :: FixityGam
_rowRecordPattternBindingsOgUniq :: UID
_rowRecordPattternBindingsOidGam :: IdDefOccGam
_rowRecordPattternBindingsOmoduleNm :: HsName
_rowRecordPattternBindingsOnmLev :: NmLev
_rowRecordPattternBindingsOopts :: EHCOpts
_rowRecordPattternBindingsOpatchEhNmInInstance :: PatchEhNmInInstance
_rowRecordPattternBindingsOtopInstanceNmL :: ([HsName])
_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])
_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])
_rowRecordPattternBindingsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 229, 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 839, column 9)
_lhsOeh =
foldl (flip ($)) _patternIeh _rowRecordPattternBindingsIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 264, 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 129, column 23)
_lhsOidDefOccGam =
_patternIidDefOccGam `gamAddGam` _rowRecordPattternBindingsIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_patternIidOccDefs ++ _rowRecordPattternBindingsIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL
( _rowRecordPattternBindingsIeh,_rowRecordPattternBindingsIerrSq,_rowRecordPattternBindingsIgUniq,_rowRecordPattternBindingsIidDefOccGam,_rowRecordPattternBindingsIidOccDefs,_rowRecordPattternBindingsIidUseOccGam,_rowRecordPattternBindingsIpp,_rowRecordPattternBindingsIppL,_rowRecordPattternBindingsIppWrap,_rowRecordPattternBindingsItopInstanceNmL,_rowRecordPattternBindingsIundefOccGam) =
rowRecordPattternBindings_ _rowRecordPattternBindingsOfixityGam _rowRecordPattternBindingsOgUniq _rowRecordPattternBindingsOidGam _rowRecordPattternBindingsOmoduleNm _rowRecordPattternBindingsOnmLev _rowRecordPattternBindingsOopts _rowRecordPattternBindingsOpatchEhNmInInstance _rowRecordPattternBindingsOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Pattern_RowRecordEmpty :: Range ->
T_Pattern
sem_Pattern_RowRecordEmpty range_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 229, 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 841, column 9)
_lhsOeh =
rngLift range_ EH.PatExpr_Rec (rngLift range_ EH.RecPatExpr_Empty)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, column 9)
_isAsPred =
False
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 264, 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 129, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
sem_Pattern_Irrefutable :: Range ->
T_Pattern ->
T_Pattern
sem_Pattern_Irrefutable range_ pattern_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOmbTopRefname :: (Maybe HsName)
_lhsOeh :: (EH.PatExpr)
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOisVar :: Bool
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_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])
_patternIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 229, 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 843, column 9)
_lhsOeh =
rngLift range_ EH.PatExpr_Irrefutable _patternIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 129, column 23)
_lhsOidDefOccGam =
_patternIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_patternIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Pattern_Bang :: Range ->
T_Pattern ->
T_Pattern
sem_Pattern_Bang range_ pattern_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOmbTopRefname :: (Maybe HsName)
_lhsOeh :: (EH.PatExpr)
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOisVar :: Bool
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_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])
_patternIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 229, 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 845, column 9)
_lhsOeh =
rngLift range_ EH.PatExpr_Bang _patternIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 188, 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 129, column 23)
_lhsOidDefOccGam =
_patternIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_patternIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOisVar,_lhsOmbTopRefname,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- PatternAnnotation -------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( (EH.PatExprAnn),ErrSq,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_PatternAnnotation_Empty :: T_PatternAnnotation
sem_PatternAnnotation_Empty =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.PatExprAnn)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 902, 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 129, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
-- Patterns ----------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( ([EH.PatExpr]),ErrSq,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_Patterns_Cons :: T_Pattern ->
T_Patterns ->
T_Patterns
sem_Patterns_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.PatExpr])
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_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])
_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])
_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 795, 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 129, column 23)
_lhsOidDefOccGam =
_hdIidDefOccGam `gamAddGam` _tlIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_hdIidOccDefs ++ _tlIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIidDefOccGam,_hdIidOccDefs,_hdIidUseOccGam,_hdIisVar,_hdImbTopRefname,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidDefOccGam,_tlIidOccDefs,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Patterns_Nil :: T_Patterns
sem_Patterns_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.PatExpr])
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 795, 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 129, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
-- Pragma ------------------------------------------------------
{-
visit 0:
inherited attributes:
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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 : _
-}
-- 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)
-- semantic domain
type T_Pragma = UID ->
IdDefOccGam ->
NmLev ->
EHCOpts ->
PatchEhNmInInstance ->
([HsName]) ->
( ErrSq,UID,(Set.Set Pragma.Pragma),IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_Pragma_Language :: Range ->
Names ->
T_Pragma
sem_Pragma_Language range_ pragmas_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathPragmas,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Pragma_OptionsUHC :: Range ->
String ->
T_Pragma
sem_Pragma_OptionsUHC range_ options_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathPragmas,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Pragma_Derivable :: Range ->
Name ->
Name ->
Name ->
T_Pragma
sem_Pragma_Derivable range_ className_ fieldName_ defaultName_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathPragmas,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Pragma_ExcludeIfTarget :: Range ->
([String]) ->
T_Pragma
sem_Pragma_ExcludeIfTarget range_ targetNames_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathPragmas,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- Pragmas -----------------------------------------------------
{-
visit 0:
inherited attributes:
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( ErrSq,UID,(Set.Set Pragma.Pragma),IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_Pragmas_Cons :: T_Pragma ->
T_Pragmas ->
T_Pragmas
sem_Pragmas_Cons hd_ tl_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIgathPragmas :: (Set.Set Pragma.Pragma)
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_hdIundefOccGam :: IdUseOccGam
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIgathPragmas :: (Set.Set Pragma.Pragma)
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_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 471, 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/NameAnalysis.ag"(line 729, 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 (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
( _hdIerrSq,_hdIgUniq,_hdIgathPragmas,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOgUniq _hdOidGam _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL
( _tlIerrSq,_tlIgUniq,_tlIgathPragmas,_tlIidUseOccGam,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOgUniq _tlOidGam _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathPragmas,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Pragmas_Nil :: T_Pragmas
sem_Pragmas_Nil =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOgathPragmas :: (Set.Set Pragma.Pragma)
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOerrSq,_lhsOgUniq,_lhsOgathPragmas,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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
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
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 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]) ->
( (EH.Expr -> EH.Expr),ErrSq,UID,FixityGam,IdDefOccGam,IdUseOccGam,NmLev,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr -> EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_guardIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 532, 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 534, 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 532, column 9)
_idUseOccGam =
gamUnions [_idUseOccGamVal,_idUseOccGamType]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 537, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_guardIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 99, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUseVal, Seq.fromList _errIdUseType, _guardIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 608, 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/NameAnalysis.ag"(line 729, 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
( _guardIconNm,_guardIeh,_guardIerrSq,_guardIgUniq,_guardIidUseOccGam,_guardIopChain,_guardIoperatorName,_guardIpp,_guardIppWrap,_guardItopInstanceNmL,_guardIundefOccGam) =
guard_ _guardOcaseId _guardOfixityGam _guardOgUniq _guardOgenerDerivMp _guardOidGam _guardOmoduleNm _guardOnmLev _guardOopts _guardOpatchEhNmInInstance _guardOpragmas _guardOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidGam,_lhsOidUseOccGam,_lhsOnmLev,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOeh :: (EH.Expr -> EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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
_declarationsOnmLev :: NmLev
_declarationsOopts :: EHCOpts
_declarationsOpatchEhNmInInstance :: PatchEhNmInInstance
_declarationsOpragmas :: (Set.Set Pragma.Pragma)
_declarationsOtopInstanceNmL :: ([HsName])
_declarationsIeh :: ([EH.Decl])
_declarationsIerrSq :: ErrSq
_declarationsIgUniq :: UID
_declarationsIgathFixityGam :: FixityGam
_declarationsIgathPragmas :: (Set.Set Pragma.Pragma)
_declarationsIidDefOccGam :: IdDefOccGam
_declarationsIidDpdMp :: IdDpdMp
_declarationsIidOccDefs :: ([IdOcc])
_declarationsIidTySigDefOccGam :: IdDefOccGam
_declarationsIidUseOccGam :: IdUseOccGam
_declarationsIneedsError :: Bool
_declarationsIpp :: PP_Doc
_declarationsIppWrap :: (PP_Doc -> PP_Doc)
_declarationsItopInstanceNmL :: ([HsName])
_declarationsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 396, column 9)
_idGam =
gamUnion _declarationsIidDefOccGam _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 899, column 9)
_sccOrder =
idDpdMp2SccOrder _declarationsIidDefOccGam _declarationsIidDpdMp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1031, column 29)
(_mkSccLet,_,_errReorder) =
mkIdOccSccEH 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 97, 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 610, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_declarationsOnmLev =
_nmLev
-- copy rule (down)
_declarationsOopts =
_lhsIopts
-- copy rule (down)
_declarationsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_declarationsOpragmas =
_lhsIpragmas
-- copy rule (down)
_declarationsOtopInstanceNmL =
_lhsItopInstanceNmL
( _declarationsIeh,_declarationsIerrSq,_declarationsIgUniq,_declarationsIgathFixityGam,_declarationsIgathPragmas,_declarationsIidDefOccGam,_declarationsIidDpdMp,_declarationsIidOccDefs,_declarationsIidTySigDefOccGam,_declarationsIidUseOccGam,_declarationsIneedsError,_declarationsIpp,_declarationsIppWrap,_declarationsItopInstanceNmL,_declarationsIundefOccGam) =
declarations_ _declarationsOcaseId _declarationsOfixityGam _declarationsOgUniq _declarationsOgenerDerivMp _declarationsOidGam _declarationsOmoduleNm _declarationsOnmLev _declarationsOopts _declarationsOpatchEhNmInInstance _declarationsOpragmas _declarationsOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidGam,_lhsOidUseOccGam,_lhsOnmLev,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOidGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOeh :: (EH.Expr -> EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOnmLev :: NmLev
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([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])
_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])
_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])
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 398, column 9)
_lhsOidGam =
gamUnion _patternIidDefOccGam _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 539, 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 541, 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 101, 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 612, 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/NameAnalysis.ag"(line 729, 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)
_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
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidGam,_lhsOidUseOccGam,_lhsOnmLev,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Qualifier_Empty :: Range ->
T_Qualifier
sem_Qualifier_Empty range_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOeh :: (EH.Expr -> EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOidGam :: IdDefOccGam
_lhsOnmLev :: NmLev
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 543, 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 103, column 9)
_errSq =
Seq.fromList _errIdUse
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 617, 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 471, 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/NameAnalysis.ag"(line 729, 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,_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
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
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]) ->
( ([EH.Expr -> EH.Expr]),ErrSq,UID,IdDefOccGam,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.Expr -> EH.Expr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_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])
_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])
_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 602, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIgathFixityGam,_hdIidGam,_hdIidUseOccGam,_hdInmLev,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOcaseId _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidGam,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOcaseId _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidGam,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Qualifiers_Nil :: T_Qualifiers
sem_Qualifiers_Nil =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.Expr -> EH.Expr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 602, 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 471, 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/NameAnalysis.ag"(line 729, 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,_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
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
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]) ->
( (EH.DataFieldExpr -> EH.DataFieldExpr),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOeh :: (EH.DataFieldExpr -> EH.DataFieldExpr)
_lhsOerrSq :: ErrSq
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 604, 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 606, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_expressionIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 107, 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 642, 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/NameAnalysis.ag"(line 729, 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
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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
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
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]) ->
( ([EH.DataFieldExpr -> EH.DataFieldExpr]),ErrSq,UID,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.DataFieldExpr -> EH.DataFieldExpr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_hdIeh :: (EH.DataFieldExpr -> EH.DataFieldExpr)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_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])
_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 636, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOcaseId _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOcaseId _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_RecordExpressionBindings_Nil :: T_RecordExpressionBindings
sem_RecordExpressionBindings_Nil =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.DataFieldExpr -> EH.DataFieldExpr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 636, 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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- RecordPatternBinding ----------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( (EH.DataFieldPatExpr -> EH.DataFieldPatExpr),ErrSq,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_RecordPatternBinding_Binding :: Range ->
Name ->
T_Pattern ->
T_RecordPatternBinding
sem_RecordPatternBinding_Binding range_ name_ pattern_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOeh :: (EH.DataFieldPatExpr -> EH.DataFieldPatExpr)
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_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])
_patternIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 610, 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 613, column 9)
_lhsOidUseOccGam =
gamUnions [_idUseOccGam,_patternIidUseOccGam]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 111, 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 708, 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 129, column 23)
_lhsOidDefOccGam =
_patternIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, 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/NameAnalysis.ag"(line 729, 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
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_RecordPatternBinding_Pun :: Range ->
Name ->
T_RecordPatternBinding
sem_RecordPatternBinding_Pun range_ name_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOeh :: (EH.DataFieldPatExpr -> EH.DataFieldPatExpr)
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 230, column 9)
_idDefOccGam =
mkDefOccGam _lhsInmLev range_ IdAsp_Val_Var [_idOccDef]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 610, 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 184, column 9)
_idOccDef =
IdOcc _refname IdOcc_Val
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 113, 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 710, 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 129, column 23)
_lhsOidDefOccGam =
_idDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- RecordPatternBindings ---------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( ([EH.DataFieldPatExpr -> EH.DataFieldPatExpr]),ErrSq,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_RecordPatternBindings_Cons :: T_RecordPatternBinding ->
T_RecordPatternBindings ->
T_RecordPatternBindings
sem_RecordPatternBindings_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_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])
_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])
_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 702, 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 129, column 23)
_lhsOidDefOccGam =
_hdIidDefOccGam `gamAddGam` _tlIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_hdIidOccDefs ++ _tlIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIidDefOccGam,_hdIidOccDefs,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidDefOccGam,_tlIidOccDefs,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_RecordPatternBindings_Nil :: T_RecordPatternBindings
sem_RecordPatternBindings_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_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 702, 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 129, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_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
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.Expr
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
undefOccGam : IdUseOccGam
alternatives:
alternative Expression:
child range : {Range}
child expression : Expression
child where : MaybeDeclarations
visit 0:
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 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]) ->
( (EH.Expr),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOeh :: (EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_whereOcaseId :: UID
_whereOfixityGam :: FixityGam
_whereOgUniq :: UID
_whereOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_whereOidGam :: IdDefOccGam
_whereOmoduleNm :: HsName
_whereOnmLev :: NmLev
_whereOopts :: EHCOpts
_whereOpatchEhNmInInstance :: PatchEhNmInInstance
_whereOpragmas :: (Set.Set Pragma.Pragma)
_whereOtopInstanceNmL :: ([HsName])
_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])
_expressionIundefOccGam :: IdUseOccGam
_whereIeh :: (Maybe [EH.Decl])
_whereIerrSq :: ErrSq
_whereIgUniq :: UID
_whereIgathFixityGam :: FixityGam
_whereIgathPragmas :: (Set.Set Pragma.Pragma)
_whereIidDefOccGam :: IdDefOccGam
_whereIidDpdMp :: IdDpdMp
_whereIidOccDefs :: ([IdOcc])
_whereIidTySigDefOccGam :: IdDefOccGam
_whereIidUseOccGam :: IdUseOccGam
_whereIneedsError :: Bool
_whereIpp :: PP_Doc
_whereIppWrap :: (PP_Doc -> PP_Doc)
_whereItopInstanceNmL :: ([HsName])
_whereIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 388, column 9)
_idGam =
gamUnion _whereIidDefOccGam _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 895, column 9)
_sccOrder =
idDpdMp2SccOrder _whereIidDefOccGam _whereIidDpdMp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1026, column 29)
(_mkSccLet,_,_errReorder) =
mkIdOccSccEH 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 761, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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)
_whereOnmLev =
_nmLev
-- copy rule (down)
_whereOopts =
_lhsIopts
-- copy rule (down)
_whereOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_whereOpragmas =
_lhsIpragmas
-- copy rule (chain)
_whereOtopInstanceNmL =
_expressionItopInstanceNmL
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
( _whereIeh,_whereIerrSq,_whereIgUniq,_whereIgathFixityGam,_whereIgathPragmas,_whereIidDefOccGam,_whereIidDpdMp,_whereIidOccDefs,_whereIidTySigDefOccGam,_whereIidUseOccGam,_whereIneedsError,_whereIpp,_whereIppWrap,_whereItopInstanceNmL,_whereIundefOccGam) =
where_ _whereOcaseId _whereOfixityGam _whereOgUniq _whereOgenerDerivMp _whereOidGam _whereOmoduleNm _whereOnmLev _whereOopts _whereOpatchEhNmInInstance _whereOpragmas _whereOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOeh :: (EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_whereOcaseId :: UID
_whereOfixityGam :: FixityGam
_whereOgUniq :: UID
_whereOgenerDerivMp :: (Map.Map HsName [(HsName,HsName)])
_whereOidGam :: IdDefOccGam
_whereOmoduleNm :: HsName
_whereOnmLev :: NmLev
_whereOopts :: EHCOpts
_whereOpatchEhNmInInstance :: PatchEhNmInInstance
_whereOpragmas :: (Set.Set Pragma.Pragma)
_whereOtopInstanceNmL :: ([HsName])
_guardedexpressionsIeh :: ([UIDS -> EH.Expr -> EH.Expr])
_guardedexpressionsIerrSq :: ErrSq
_guardedexpressionsIgUniq :: UID
_guardedexpressionsIidUseOccGam :: IdUseOccGam
_guardedexpressionsIpp :: PP_Doc
_guardedexpressionsIppWrap :: (PP_Doc -> PP_Doc)
_guardedexpressionsItopInstanceNmL :: ([HsName])
_guardedexpressionsIundefOccGam :: IdUseOccGam
_whereIeh :: (Maybe [EH.Decl])
_whereIerrSq :: ErrSq
_whereIgUniq :: UID
_whereIgathFixityGam :: FixityGam
_whereIgathPragmas :: (Set.Set Pragma.Pragma)
_whereIidDefOccGam :: IdDefOccGam
_whereIidDpdMp :: IdDpdMp
_whereIidOccDefs :: ([IdOcc])
_whereIidTySigDefOccGam :: IdDefOccGam
_whereIidUseOccGam :: IdUseOccGam
_whereIneedsError :: Bool
_whereIpp :: PP_Doc
_whereIppWrap :: (PP_Doc -> PP_Doc)
_whereItopInstanceNmL :: ([HsName])
_whereIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 388, column 9)
_idGam =
gamUnion _whereIidDefOccGam _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 895, column 9)
_sccOrder =
idDpdMp2SccOrder _whereIidDefOccGam _whereIidDpdMp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1026, column 29)
(_mkSccLet,_,_errReorder) =
mkIdOccSccEH 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 765, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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)
_whereOnmLev =
_nmLev
-- copy rule (down)
_whereOopts =
_lhsIopts
-- copy rule (down)
_whereOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_whereOpragmas =
_lhsIpragmas
-- copy rule (chain)
_whereOtopInstanceNmL =
_guardedexpressionsItopInstanceNmL
( _guardedexpressionsIeh,_guardedexpressionsIerrSq,_guardedexpressionsIgUniq,_guardedexpressionsIidUseOccGam,_guardedexpressionsIpp,_guardedexpressionsIppWrap,_guardedexpressionsItopInstanceNmL,_guardedexpressionsIundefOccGam) =
guardedexpressions_ _guardedexpressionsOcaseId _guardedexpressionsOfixityGam _guardedexpressionsOgUniq _guardedexpressionsOgenerDerivMp _guardedexpressionsOidGam _guardedexpressionsOmoduleNm _guardedexpressionsOmustBeMono _guardedexpressionsOnmLev _guardedexpressionsOopts _guardedexpressionsOpatchEhNmInInstance _guardedexpressionsOpragmas _guardedexpressionsOsepPP _guardedexpressionsOtopInstanceNmL
( _whereIeh,_whereIerrSq,_whereIgUniq,_whereIgathFixityGam,_whereIgathPragmas,_whereIidDefOccGam,_whereIidDpdMp,_whereIidOccDefs,_whereIidTySigDefOccGam,_whereIidUseOccGam,_whereIneedsError,_whereIpp,_whereIppWrap,_whereItopInstanceNmL,_whereIundefOccGam) =
where_ _whereOcaseId _whereOfixityGam _whereOgUniq _whereOgenerDerivMp _whereOidGam _whereOmoduleNm _whereOnmLev _whereOopts _whereOpatchEhNmInInstance _whereOpragmas _whereOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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
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
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]) ->
( (EH.Expr -> EH.Expr),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOeh :: (EH.Expr -> EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_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 684, 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 471, 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/NameAnalysis.ag"(line 729, 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
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOeh :: (EH.Expr -> EH.Expr)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_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 682, 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 471, 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/NameAnalysis.ag"(line 729, 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
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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
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
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]) ->
( ([EH.Expr -> EH.Expr]),ErrSq,UID,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.Expr -> EH.Expr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_hdIeh :: (EH.Expr -> EH.Expr)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_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])
_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 676, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOcaseId _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOcaseId _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_RowRecordExpressionUpdates_Nil :: T_RowRecordExpressionUpdates
sem_RowRecordExpressionUpdates_Nil =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.Expr -> EH.Expr])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 676, 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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- RowRecordPatternBinding -------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( (EH.PatExpr -> EH.PatExpr),ErrSq,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_RowRecordPatternBinding_Binding :: Range ->
MaybeName ->
T_Pattern ->
T_RowRecordPatternBinding
sem_RowRecordPatternBinding_Binding range_ name_ pattern_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOeh :: (EH.PatExpr -> EH.PatExpr)
_lhsOerrSq :: ErrSq
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([HsName])
_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])
_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 692, 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 129, column 23)
_lhsOidDefOccGam =
_patternIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_patternIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- RowRecordPatternBindings ------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( ([EH.PatExpr -> EH.PatExpr]),ErrSq,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_RowRecordPatternBindings_Cons :: T_RowRecordPatternBinding ->
T_RowRecordPatternBindings ->
T_RowRecordPatternBindings
sem_RowRecordPatternBindings_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_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])
_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])
_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 686, 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 129, column 23)
_lhsOidDefOccGam =
_hdIidDefOccGam `gamAddGam` _tlIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_hdIidOccDefs ++ _tlIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIidDefOccGam,_hdIidOccDefs,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOfixityGam _hdOgUniq _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidDefOccGam,_tlIidOccDefs,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_RowRecordPatternBindings_Nil :: T_RowRecordPatternBindings
sem_RowRecordPatternBindings_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_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 686, 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 129, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
-- RowTypeUpdate -----------------------------------------------
{-
visit 0:
inherited attributes:
doGenVarWild : Bool
fixityGam : FixityGam
idGam : IdDefOccGam
isAsPred : Bool
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( (EH.TyExpr -> EH.TyExpr),([Maybe EH.PrExpr]),([Maybe EH.TyExpr]),ErrSq,HsNameS,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),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 ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_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])
_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 379, column 9)
_ehMbAsPrL =
[_typeIehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 700, 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 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 118, column 21)
_lhsOfreeTvarS =
_typeIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL
in ( _lhsOeh,_lhsOehMbAsPrL,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- RowTypeUpdates ----------------------------------------------
{-
visit 0:
inherited attributes:
doGenVarWild : Bool
fixityGam : FixityGam
idGam : IdDefOccGam
isAsPred : Bool
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( ([EH.TyExpr -> EH.TyExpr]),([Maybe EH.PrExpr]),([Maybe EH.TyExpr]),ErrSq,HsNameS,UID,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_RowTypeUpdates_Cons :: T_RowTypeUpdate ->
T_RowTypeUpdates ->
T_RowTypeUpdates
sem_RowTypeUpdates_Cons hd_ tl_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOdoGenVarWild :: Bool
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOisAsPred :: Bool
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_tlOdoGenVarWild :: Bool
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOisAsPred :: Bool
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_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])
_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])
_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 694, column 30)
_lhsOeh =
_hdIeh : _tlIeh
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_hdIehMbAsPrL ++ _tlIehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 118, column 21)
_lhsOfreeTvarS =
_hdIfreeTvarS `Set.union` _tlIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIeh,_hdIehMbAsPrL,_hdIehMbAsTyPrL,_hdIerrSq,_hdIfreeTvarS,_hdIgUniq,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOdoGenVarWild _hdOfixityGam _hdOgUniq _hdOidGam _hdOisAsPred _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL
( _tlIeh,_tlIehMbAsPrL,_tlIehMbAsTyPrL,_tlIerrSq,_tlIfreeTvarS,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOdoGenVarWild _tlOfixityGam _tlOgUniq _tlOidGam _tlOisAsPred _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOehMbAsPrL,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_RowTypeUpdates_Nil :: T_RowTypeUpdates
sem_RowTypeUpdates_Nil =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_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 694, column 30)
_lhsOeh =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_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
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
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 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]) ->
( ((EH.Expr,EH.Expr -> EH.Expr)),ErrSq,UID,FixityGam,IdDefOccGam,IdUseOccGam,NmLev,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOidUseOccGam :: IdUseOccGam
_lhsOeh :: ((EH.Expr,EH.Expr -> EH.Expr))
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 640, 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 642, column 9)
_lhsOidUseOccGam =
_idUseOccGam `gamUnion` _expressionIidUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/GatherError.ag"(line 119, column 9)
_errSq =
Seq.unions [Seq.fromList _errIdUse, _expressionIerrSq]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 589, 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/NameAnalysis.ag"(line 729, 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
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidGam,_lhsOidUseOccGam,_lhsOnmLev,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOeh :: ((EH.Expr,EH.Expr -> EH.Expr))
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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
_declarationsOnmLev :: NmLev
_declarationsOopts :: EHCOpts
_declarationsOpatchEhNmInInstance :: PatchEhNmInInstance
_declarationsOpragmas :: (Set.Set Pragma.Pragma)
_declarationsOtopInstanceNmL :: ([HsName])
_declarationsIeh :: ([EH.Decl])
_declarationsIerrSq :: ErrSq
_declarationsIgUniq :: UID
_declarationsIgathFixityGam :: FixityGam
_declarationsIgathPragmas :: (Set.Set Pragma.Pragma)
_declarationsIidDefOccGam :: IdDefOccGam
_declarationsIidDpdMp :: IdDpdMp
_declarationsIidOccDefs :: ([IdOcc])
_declarationsIidTySigDefOccGam :: IdDefOccGam
_declarationsIidUseOccGam :: IdUseOccGam
_declarationsIneedsError :: Bool
_declarationsIpp :: PP_Doc
_declarationsIppWrap :: (PP_Doc -> PP_Doc)
_declarationsItopInstanceNmL :: ([HsName])
_declarationsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 402, column 9)
_idGam =
gamUnion _declarationsIidDefOccGam _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 903, column 9)
_sccOrder =
idDpdMp2SccOrder _declarationsIidDefOccGam _declarationsIidDpdMp
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 1041, column 29)
(_mkSccLet,_,_errReorder) =
mkIdOccSccEH 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 117, 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 591, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_declarationsOnmLev =
_nmLev
-- copy rule (down)
_declarationsOopts =
_lhsIopts
-- copy rule (down)
_declarationsOpatchEhNmInInstance =
_lhsIpatchEhNmInInstance
-- copy rule (down)
_declarationsOpragmas =
_lhsIpragmas
-- copy rule (down)
_declarationsOtopInstanceNmL =
_lhsItopInstanceNmL
( _declarationsIeh,_declarationsIerrSq,_declarationsIgUniq,_declarationsIgathFixityGam,_declarationsIgathPragmas,_declarationsIidDefOccGam,_declarationsIidDpdMp,_declarationsIidOccDefs,_declarationsIidTySigDefOccGam,_declarationsIidUseOccGam,_declarationsIneedsError,_declarationsIpp,_declarationsIppWrap,_declarationsItopInstanceNmL,_declarationsIundefOccGam) =
declarations_ _declarationsOcaseId _declarationsOfixityGam _declarationsOgUniq _declarationsOgenerDerivMp _declarationsOidGam _declarationsOmoduleNm _declarationsOnmLev _declarationsOopts _declarationsOpatchEhNmInInstance _declarationsOpragmas _declarationsOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidGam,_lhsOidUseOccGam,_lhsOnmLev,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(let _lhsOidGam :: IdDefOccGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOeh :: ((EH.Expr,EH.Expr -> EH.Expr))
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOnmLev :: NmLev
_lhsOtopInstanceNmL :: ([HsName])
_patternOfixityGam :: FixityGam
_patternOgUniq :: UID
_patternOidGam :: IdDefOccGam
_patternOmoduleNm :: HsName
_patternOnmLev :: NmLev
_patternOopts :: EHCOpts
_patternOpatchEhNmInInstance :: PatchEhNmInInstance
_patternOtopInstanceNmL :: ([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])
_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])
_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])
_expressionIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 404, column 9)
_lhsOidGam =
gamUnion _patternIidDefOccGam _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 644, 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 646, 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 121, 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 593, 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/NameAnalysis.ag"(line 729, 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)
_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
( _patternIeh,_patternIerrSq,_patternIgUniq,_patternIidDefOccGam,_patternIidOccDefs,_patternIidUseOccGam,_patternIisVar,_patternImbTopRefname,_patternIpp,_patternIppWrap,_patternItopInstanceNmL,_patternIundefOccGam) =
pattern_ _patternOfixityGam _patternOgUniq _patternOidGam _patternOmoduleNm _patternOnmLev _patternOopts _patternOpatchEhNmInInstance _patternOtopInstanceNmL
( _expressionIconNm,_expressionIeh,_expressionIerrSq,_expressionIgUniq,_expressionIidUseOccGam,_expressionIopChain,_expressionIoperatorName,_expressionIpp,_expressionIppWrap,_expressionItopInstanceNmL,_expressionIundefOccGam) =
expression_ _expressionOcaseId _expressionOfixityGam _expressionOgUniq _expressionOgenerDerivMp _expressionOidGam _expressionOmoduleNm _expressionOnmLev _expressionOopts _expressionOpatchEhNmInInstance _expressionOpragmas _expressionOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOgathFixityGam,_lhsOidGam,_lhsOidUseOccGam,_lhsOnmLev,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Statement_Empty :: Range ->
T_Statement
sem_Statement_Empty range_ =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOeh :: ((EH.Expr,EH.Expr -> EH.Expr))
_lhsOerrSq :: ErrSq
_lhsOgathFixityGam :: FixityGam
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOidGam :: IdDefOccGam
_lhsOnmLev :: NmLev
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 600, 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 471, 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/NameAnalysis.ag"(line 729, 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,_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
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
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]) ->
( ([(EH.Expr,EH.Expr -> EH.Expr)]),ErrSq,UID,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),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 ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([(EH.Expr,EH.Expr -> EH.Expr)])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_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])
_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])
_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])
_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 583, 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 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIgathFixityGam,_hdIidGam,_hdIidUseOccGam,_hdInmLev,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdIundefOccGam) =
hd_ _hdOcaseId _hdOfixityGam _hdOgUniq _hdOgenerDerivMp _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOpragmas _hdOtopInstanceNmL
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOcaseId _tlOfixityGam _tlOgUniq _tlOgenerDerivMp _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOpragmas _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Statements_Nil :: T_Statements
sem_Statements_Nil =
(\ _lhsIcaseId
_lhsIfixityGam
_lhsIgUniq
_lhsIgenerDerivMp
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsIpragmas
_lhsItopInstanceNmL ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([(EH.Expr,EH.Expr -> EH.Expr)])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 583, 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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- Strings -----------------------------------------------------
{-
visit 0:
inherited attributes:
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : [String]
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
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]) ->
( ([String]),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_Strings_Cons :: String ->
T_Strings ->
T_Strings
sem_Strings_Cons hd_ tl_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOeh :: ([String])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_tlIeh :: ([String])
_tlIerrSq :: ErrSq
_tlIgUniq :: UID
_tlIidUseOccGam :: IdUseOccGam
_tlIpp :: PP_Doc
_tlIppWrap :: (PP_Doc -> PP_Doc)
_tlItopInstanceNmL :: ([HsName])
_tlIundefOccGam :: IdUseOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 918, 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 471, 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/NameAnalysis.ag"(line 729, 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
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOgUniq _tlOidGam _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Strings_Nil :: T_Strings
sem_Strings_Nil =
(\ _lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOeh :: ([String])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 918, 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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
-- Type --------------------------------------------------------
{-
visit 0:
inherited attributes:
doGenVarWild : Bool
fixityGam : FixityGam
idGam : IdDefOccGam
isAsPred : Bool
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( 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]),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 ->
(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)
_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])
_argumentsOfixityGam :: FixityGam
_argumentsOgUniq :: UID
_argumentsOidGam :: IdDefOccGam
_argumentsOnmLev :: NmLev
_argumentsOopts :: EHCOpts
_argumentsOpatchEhNmInInstance :: PatchEhNmInInstance
_argumentsOtopInstanceNmL :: ([HsName])
_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])
_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])
_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 209, column 9)
_eh =
appTopApp (_functionIeh : _argumentsIeh)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 346, 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 375, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 387, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 397, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 138, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 156, column 9)
_lhsOtyConIs =
_functionItyConIs
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 166, column 9)
_argumentsOisAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 118, column 21)
_lhsOfreeTvarS =
_functionIfreeTvarS `Set.union` _argumentsIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _functionIconNm,_functionIeh,_functionIehMbAsPr,_functionIehMbAsPrL,_functionIehMbAsTyPr,_functionIehMbAsTyPrL,_functionIerrSq,_functionIfreeTvarS,_functionIgUniq,_functionIidUseOccGam,_functionImbRefConNm,_functionIopChain,_functionIoperatorName,_functionIpp,_functionIppWrap,_functionItopInstanceNmL,_functionItyConIs,_functionIundefOccGam) =
function_ _functionOdoGenVarWild _functionOfixityGam _functionOgUniq _functionOidGam _functionOisAsPred _functionOnmLev _functionOopts _functionOpatchEhNmInInstance _functionOtopInstanceNmL
( _argumentsIeh,_argumentsIerrSq,_argumentsIfreeTvarS,_argumentsIgUniq,_argumentsIidUseOccGam,_argumentsIpp,_argumentsIppL,_argumentsIppWrap,_argumentsItopInstanceNmL,_argumentsIundefOccGam) =
arguments_ _argumentsOfixityGam _argumentsOgUniq _argumentsOidGam _argumentsOisAsPred _argumentsOnmLev _argumentsOopts _argumentsOpatchEhNmInInstance _argumentsOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(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)
_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])
_operatorOdoGenVarWild :: Bool
_operatorOfixityGam :: FixityGam
_operatorOgUniq :: UID
_operatorOidGam :: IdDefOccGam
_operatorOisAsPred :: Bool
_operatorOnmLev :: NmLev
_operatorOopts :: EHCOpts
_operatorOpatchEhNmInInstance :: PatchEhNmInInstance
_operatorOtopInstanceNmL :: ([HsName])
_rightTypeOdoGenVarWild :: Bool
_rightTypeOfixityGam :: FixityGam
_rightTypeOgUniq :: UID
_rightTypeOidGam :: IdDefOccGam
_rightTypeOisAsPred :: Bool
_rightTypeOnmLev :: NmLev
_rightTypeOopts :: EHCOpts
_rightTypeOpatchEhNmInInstance :: PatchEhNmInInstance
_rightTypeOtopInstanceNmL :: ([HsName])
_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])
_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])
_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])
_rightTypeItyConIs :: TypeConFixedMeaning
_rightTypeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 256, 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 211, 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 353, 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 375, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 387, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 397, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 138, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 158, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 164, column 9)
_leftTypeOisAsPred =
_lhsIisAsPred || _operatorItyConIs == TyConIsPrArrow
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 118, column 21)
_lhsOfreeTvarS =
_leftTypeIfreeTvarS `Set.union` _operatorIfreeTvarS `Set.union` _rightTypeIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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)
_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
( _leftTypeIconNm,_leftTypeIeh,_leftTypeIehMbAsPr,_leftTypeIehMbAsPrL,_leftTypeIehMbAsTyPr,_leftTypeIehMbAsTyPrL,_leftTypeIerrSq,_leftTypeIfreeTvarS,_leftTypeIgUniq,_leftTypeIidUseOccGam,_leftTypeImbRefConNm,_leftTypeIopChain,_leftTypeIoperatorName,_leftTypeIpp,_leftTypeIppWrap,_leftTypeItopInstanceNmL,_leftTypeItyConIs,_leftTypeIundefOccGam) =
leftType_ _leftTypeOdoGenVarWild _leftTypeOfixityGam _leftTypeOgUniq _leftTypeOidGam _leftTypeOisAsPred _leftTypeOnmLev _leftTypeOopts _leftTypeOpatchEhNmInInstance _leftTypeOtopInstanceNmL
( _operatorIconNm,_operatorIeh,_operatorIehMbAsPr,_operatorIehMbAsPrL,_operatorIehMbAsTyPr,_operatorIehMbAsTyPrL,_operatorIerrSq,_operatorIfreeTvarS,_operatorIgUniq,_operatorIidUseOccGam,_operatorImbRefConNm,_operatorIopChain,_operatorIoperatorName,_operatorIpp,_operatorIppWrap,_operatorItopInstanceNmL,_operatorItyConIs,_operatorIundefOccGam) =
operator_ _operatorOdoGenVarWild _operatorOfixityGam _operatorOgUniq _operatorOidGam _operatorOisAsPred _operatorOnmLev _operatorOopts _operatorOpatchEhNmInInstance _operatorOtopInstanceNmL
( _rightTypeIconNm,_rightTypeIeh,_rightTypeIehMbAsPr,_rightTypeIehMbAsPrL,_rightTypeIehMbAsTyPr,_rightTypeIehMbAsTyPrL,_rightTypeIerrSq,_rightTypeIfreeTvarS,_rightTypeIgUniq,_rightTypeIidUseOccGam,_rightTypeImbRefConNm,_rightTypeIopChain,_rightTypeIoperatorName,_rightTypeIpp,_rightTypeIppWrap,_rightTypeItopInstanceNmL,_rightTypeItyConIs,_rightTypeIundefOccGam) =
rightType_ _rightTypeOdoGenVarWild _rightTypeOfixityGam _rightTypeOgUniq _rightTypeOidGam _rightTypeOisAsPred _rightTypeOnmLev _rightTypeOopts _rightTypeOpatchEhNmInInstance _rightTypeOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_InfixApplicationChainTop :: Range ->
T_Type ->
T_Type
sem_Type_InfixApplicationChainTop range_ type_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_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])
_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])
_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 219, column 9)
_eh =
_ehFromOpChain
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 363, column 9)
_ehMbAsPr =
_typeIehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 375, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 387, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 397, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 138, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 158, column 9)
_lhsOtyConIs =
TyConIsOther
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 118, column 21)
_lhsOfreeTvarS =
_typeIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_Constructor :: Range ->
Name ->
T_Type
sem_Type_Constructor range_ name_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_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 581, column 29)
(_refname,_,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [name_] _idOccKind _idAsp range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 597, 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 254, 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 229, column 9)
_eh =
rngLift range_ EH.TyExpr_Con _refname
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 365, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 375, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 387, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 397, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 136, column 9)
_lhsOmbRefConNm =
Just _refname
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 152, 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 169, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_Parenthesized :: Range ->
T_Type ->
T_Type
sem_Type_Parenthesized range_ type_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_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])
_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])
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 259, 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 231, column 9)
_eh =
rngLift range_ EH.TyExpr_Parens _typeIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 363, column 9)
_ehMbAsPr =
_typeIehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 373, column 9)
_ehMbAsPrL =
_typeIehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 387, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 138, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 158, column 9)
_lhsOtyConIs =
TyConIsOther
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 118, column 21)
_lhsOfreeTvarS =
_typeIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(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)
_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])
_operatorOdoGenVarWild :: Bool
_operatorOfixityGam :: FixityGam
_operatorOgUniq :: UID
_operatorOidGam :: IdDefOccGam
_operatorOisAsPred :: Bool
_operatorOnmLev :: NmLev
_operatorOopts :: EHCOpts
_operatorOpatchEhNmInInstance :: PatchEhNmInInstance
_operatorOtopInstanceNmL :: ([HsName])
_rightTypeOdoGenVarWild :: Bool
_rightTypeOfixityGam :: FixityGam
_rightTypeOgUniq :: UID
_rightTypeOidGam :: IdDefOccGam
_rightTypeOnmLev :: NmLev
_rightTypeOopts :: EHCOpts
_rightTypeOpatchEhNmInInstance :: PatchEhNmInInstance
_rightTypeOtopInstanceNmL :: ([HsName])
_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])
_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])
_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])
_rightTypeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 259, 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 221, 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 365, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 375, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 387, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 397, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 138, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 158, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, 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 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 118, column 21)
_lhsOfreeTvarS =
_leftTypeIfreeTvarS `Set.union` _operatorIfreeTvarS `Set.union` _rightTypeIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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)
_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
( _leftTypeIeh,_leftTypeIerrSq,_leftTypeIfreeTvarS,_leftTypeIgUniq,_leftTypeIidUseOccGam,_leftTypeIpp,_leftTypeIppMb,_leftTypeIppWrap,_leftTypeItopInstanceNmL,_leftTypeIundefOccGam) =
leftType_ _leftTypeOdoGenVarWild _leftTypeOfixityGam _leftTypeOgUniq _leftTypeOidGam _leftTypeOnmLev _leftTypeOopts _leftTypeOpatchEhNmInInstance _leftTypeOtopInstanceNmL
( _operatorIconNm,_operatorIeh,_operatorIehMbAsPr,_operatorIehMbAsPrL,_operatorIehMbAsTyPr,_operatorIehMbAsTyPrL,_operatorIerrSq,_operatorIfreeTvarS,_operatorIgUniq,_operatorIidUseOccGam,_operatorImbRefConNm,_operatorIopChain,_operatorIoperatorName,_operatorIpp,_operatorIppWrap,_operatorItopInstanceNmL,_operatorItyConIs,_operatorIundefOccGam) =
operator_ _operatorOdoGenVarWild _operatorOfixityGam _operatorOgUniq _operatorOidGam _operatorOisAsPred _operatorOnmLev _operatorOopts _operatorOpatchEhNmInInstance _operatorOtopInstanceNmL
( _rightTypeIeh,_rightTypeIerrSq,_rightTypeIfreeTvarS,_rightTypeIgUniq,_rightTypeIidUseOccGam,_rightTypeIpp,_rightTypeIppMb,_rightTypeIppWrap,_rightTypeItopInstanceNmL,_rightTypeIundefOccGam) =
rightType_ _rightTypeOdoGenVarWild _rightTypeOfixityGam _rightTypeOgUniq _rightTypeOidGam _rightTypeOnmLev _rightTypeOopts _rightTypeOpatchEhNmInInstance _rightTypeOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(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)
_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])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_annotationIeh :: (EH.TyExprAnn)
_annotationIerrSq :: ErrSq
_annotationIfreeTvarS :: HsNameS
_annotationIgUniq :: UID
_annotationIidUseOccGam :: IdUseOccGam
_annotationIpp :: PP_Doc
_annotationIppWrap :: (PP_Doc -> PP_Doc)
_annotationItopInstanceNmL :: ([HsName])
_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])
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 259, 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 233, column 17)
_eh =
rngLift range_ EH.TyExpr_Ann _annotationIeh _typeIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 363, column 9)
_ehMbAsPr =
_typeIehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 373, column 9)
_ehMbAsPrL =
_typeIehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 387, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 397, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 138, column 9)
_lhsOmbRefConNm =
Nothing
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 118, column 21)
_lhsOfreeTvarS =
_annotationIfreeTvarS `Set.union` _typeIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _annotationIeh,_annotationIerrSq,_annotationIfreeTvarS,_annotationIgUniq,_annotationIidUseOccGam,_annotationIpp,_annotationIppWrap,_annotationItopInstanceNmL,_annotationIundefOccGam) =
annotation_ _annotationOfixityGam _annotationOgUniq _annotationOidGam _annotationOnmLev _annotationOopts _annotationOpatchEhNmInInstance _annotationOtopInstanceNmL
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_Wildcard :: Range ->
T_Type
sem_Type_Wildcard range_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_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 259, 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 235, column 9)
_eh =
rngLift range_ EH.TyExpr_Wild
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 365, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 375, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 385, column 17)
_ehMbAsTyPr =
Just $ rngLift range_ EH.TyExpr_Impls
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 395, column 17)
_ehMbAsTyPrL =
[_ehMbAsTyPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 138, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 158, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_MonoWildcard :: Range ->
T_Type
sem_Type_MonoWildcard range_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_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 259, 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 237, column 9)
_eh =
rngLift range_ EH.TyExpr_Mono
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 365, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 375, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 385, column 17)
_ehMbAsTyPr =
Just $ rngLift range_ EH.TyExpr_Impls
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 395, column 17)
_ehMbAsTyPrL =
[_ehMbAsTyPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 138, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 158, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_Variable :: Range ->
Name ->
T_Type
sem_Type_Variable range_ name_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_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 577, column 9)
_idAsp =
IdAsp_Type_Var
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 577, column 9)
_idOccKind =
IdOcc_Type
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 581, column 29)
(_refname,_,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [name_] _idOccKind _idAsp range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 259, 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 239, 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 365, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 375, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 387, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 397, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 122, column 9)
_lhsOfreeTvarS =
Set.singleton name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 138, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 158, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_NamedWildcard :: Range ->
Name ->
T_Type
sem_Type_NamedWildcard range_ name_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_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 577, column 9)
_idAsp =
IdAsp_Type_Var
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 577, column 9)
_idOccKind =
IdOcc_Type
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 581, column 29)
(_refname,_,_idUseOccGam,_errIdUse) =
mkUseOccGam _lhsIopts _lhsIidGam [name_] _idOccKind _idAsp range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 259, 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 241, column 9)
_eh =
rngLift range_ EH.TyExpr_VarWild name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 365, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 375, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 387, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 397, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 122, column 9)
_lhsOfreeTvarS =
Set.singleton name_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 138, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 158, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 471, 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/NameAnalysis.ag"(line 729, 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,_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 ->
(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)
_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])
_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])
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 242, column 9)
_idDefOccGamInside =
tvarL2IdDefOccGam _lhsInmLev range_ typevariables_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 408, column 9)
_idGam =
gamUnion _idDefOccGamInside _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 259, 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 243, column 9)
_eh =
foldr (rngLift range_ EH.TyExpr_Quant tyQu_Forall) _typeIeh typevariables_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 351, 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 375, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 387, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 397, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 124, column 9)
_lhsOfreeTvarS =
_typeIfreeTvarS `Set.difference` Set.fromList typevariables_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 138, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 158, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 471, 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/NameAnalysis.ag"(line 729, 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
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(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)
_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])
_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])
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 242, column 9)
_idDefOccGamInside =
tvarL2IdDefOccGam _lhsInmLev range_ typevariables_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 408, column 9)
_idGam =
gamUnion _idDefOccGamInside _lhsIidGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 259, 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 245, column 9)
_eh =
foldr (rngLift range_ EH.TyExpr_Quant tyQu_Exists) _typeIeh typevariables_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 365, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 375, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 387, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 397, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 124, column 9)
_lhsOfreeTvarS =
_typeIfreeTvarS `Set.difference` Set.fromList typevariables_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 138, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 158, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 471, 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/NameAnalysis.ag"(line 729, 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
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_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 ->
(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)
_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])
_rowTypeUpdatesOdoGenVarWild :: Bool
_rowTypeUpdatesOfixityGam :: FixityGam
_rowTypeUpdatesOgUniq :: UID
_rowTypeUpdatesOidGam :: IdDefOccGam
_rowTypeUpdatesOisAsPred :: Bool
_rowTypeUpdatesOnmLev :: NmLev
_rowTypeUpdatesOopts :: EHCOpts
_rowTypeUpdatesOpatchEhNmInInstance :: PatchEhNmInInstance
_rowTypeUpdatesOtopInstanceNmL :: ([HsName])
_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])
_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])
_rowTypeUpdatesIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 259, 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 247, column 9)
_eh =
foldl (flip ($)) _typeIeh _rowTypeUpdatesIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 365, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 375, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 387, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 397, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 138, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 158, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 118, column 21)
_lhsOfreeTvarS =
_typeIfreeTvarS `Set.union` _rowTypeUpdatesIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL
( _rowTypeUpdatesIeh,_rowTypeUpdatesIehMbAsPrL,_rowTypeUpdatesIehMbAsTyPrL,_rowTypeUpdatesIerrSq,_rowTypeUpdatesIfreeTvarS,_rowTypeUpdatesIgUniq,_rowTypeUpdatesIidUseOccGam,_rowTypeUpdatesIpp,_rowTypeUpdatesIppL,_rowTypeUpdatesIppWrap,_rowTypeUpdatesItopInstanceNmL,_rowTypeUpdatesIundefOccGam) =
rowTypeUpdates_ _rowTypeUpdatesOdoGenVarWild _rowTypeUpdatesOfixityGam _rowTypeUpdatesOgUniq _rowTypeUpdatesOidGam _rowTypeUpdatesOisAsPred _rowTypeUpdatesOnmLev _rowTypeUpdatesOopts _rowTypeUpdatesOpatchEhNmInInstance _rowTypeUpdatesOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_RowEmpty :: Range ->
T_Type
sem_Type_RowEmpty range_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_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 259, 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 249, column 9)
_eh =
rngLift range_ EH.TyExpr_Row (rngLift range_ EH.RowTyExpr_Empty)
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 365, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 375, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 387, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 397, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 138, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 158, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_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 ->
(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)
_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])
_rowTypeUpdatesOdoGenVarWild :: Bool
_rowTypeUpdatesOfixityGam :: FixityGam
_rowTypeUpdatesOgUniq :: UID
_rowTypeUpdatesOidGam :: IdDefOccGam
_rowTypeUpdatesOisAsPred :: Bool
_rowTypeUpdatesOnmLev :: NmLev
_rowTypeUpdatesOopts :: EHCOpts
_rowTypeUpdatesOpatchEhNmInInstance :: PatchEhNmInInstance
_rowTypeUpdatesOtopInstanceNmL :: ([HsName])
_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])
_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])
_rowTypeUpdatesIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 259, 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 251, column 9)
_eh =
foldl (\e u -> appCon1App hsnRec $ u $ ehTyExprArg $ e) _typeIeh _rowTypeUpdatesIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 365, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 371, column 9)
_ehMbAsPrL =
_rowTypeUpdatesIehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 387, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 393, column 9)
_ehMbAsTyPrL =
_rowTypeUpdatesIehMbAsTyPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 138, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 158, column 9)
_lhsOtyConIs =
TyConIsOther
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 118, column 21)
_lhsOfreeTvarS =
_typeIfreeTvarS `Set.union` _rowTypeUpdatesIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL
( _rowTypeUpdatesIeh,_rowTypeUpdatesIehMbAsPrL,_rowTypeUpdatesIehMbAsTyPrL,_rowTypeUpdatesIerrSq,_rowTypeUpdatesIfreeTvarS,_rowTypeUpdatesIgUniq,_rowTypeUpdatesIidUseOccGam,_rowTypeUpdatesIpp,_rowTypeUpdatesIppL,_rowTypeUpdatesIppWrap,_rowTypeUpdatesItopInstanceNmL,_rowTypeUpdatesIundefOccGam) =
rowTypeUpdates_ _rowTypeUpdatesOdoGenVarWild _rowTypeUpdatesOfixityGam _rowTypeUpdatesOgUniq _rowTypeUpdatesOidGam _rowTypeUpdatesOisAsPred _rowTypeUpdatesOnmLev _rowTypeUpdatesOopts _rowTypeUpdatesOpatchEhNmInInstance _rowTypeUpdatesOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_RowRecEmpty :: Range ->
T_Type
sem_Type_RowRecEmpty range_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_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 259, 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 253, 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 365, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 375, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 387, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 397, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 138, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 158, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_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 ->
(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)
_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])
_rowTypeUpdatesOdoGenVarWild :: Bool
_rowTypeUpdatesOfixityGam :: FixityGam
_rowTypeUpdatesOgUniq :: UID
_rowTypeUpdatesOidGam :: IdDefOccGam
_rowTypeUpdatesOisAsPred :: Bool
_rowTypeUpdatesOnmLev :: NmLev
_rowTypeUpdatesOopts :: EHCOpts
_rowTypeUpdatesOpatchEhNmInInstance :: PatchEhNmInInstance
_rowTypeUpdatesOtopInstanceNmL :: ([HsName])
_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])
_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])
_rowTypeUpdatesIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 259, 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 255, column 9)
_eh =
foldl (\e u -> appCon1App hsnSum $ u $ ehTyExprArg $ e) _typeIeh _rowTypeUpdatesIeh
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 365, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 375, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 387, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 397, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 138, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 158, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 118, column 21)
_lhsOfreeTvarS =
_typeIfreeTvarS `Set.union` _rowTypeUpdatesIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL
( _rowTypeUpdatesIeh,_rowTypeUpdatesIehMbAsPrL,_rowTypeUpdatesIehMbAsTyPrL,_rowTypeUpdatesIerrSq,_rowTypeUpdatesIfreeTvarS,_rowTypeUpdatesIgUniq,_rowTypeUpdatesIidUseOccGam,_rowTypeUpdatesIpp,_rowTypeUpdatesIppL,_rowTypeUpdatesIppWrap,_rowTypeUpdatesItopInstanceNmL,_rowTypeUpdatesIundefOccGam) =
rowTypeUpdates_ _rowTypeUpdatesOdoGenVarWild _rowTypeUpdatesOfixityGam _rowTypeUpdatesOgUniq _rowTypeUpdatesOidGam _rowTypeUpdatesOisAsPred _rowTypeUpdatesOnmLev _rowTypeUpdatesOopts _rowTypeUpdatesOpatchEhNmInInstance _rowTypeUpdatesOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_RowSumEmpty :: Range ->
T_Type
sem_Type_RowSumEmpty range_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_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 259, 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 257, 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 365, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 375, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 387, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 397, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 138, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 158, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_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 ->
(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)
_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])
_typeOdoGenVarWild :: Bool
_typeOfixityGam :: FixityGam
_typeOgUniq :: UID
_typeOidGam :: IdDefOccGam
_typeOisAsPred :: Bool
_typeOnmLev :: NmLev
_typeOopts :: EHCOpts
_typeOpatchEhNmInInstance :: PatchEhNmInInstance
_typeOtopInstanceNmL :: ([HsName])
_contextIeh :: ([EH.PrExpr])
_contextIehTy :: ([EH.TyExpr])
_contextIerrSq :: ErrSq
_contextIfreeTvarS :: HsNameS
_contextIgUniq :: UID
_contextIidUseOccGam :: IdUseOccGam
_contextIpp :: PP_Doc
_contextIppWrap :: (PP_Doc -> PP_Doc)
_contextItopInstanceNmL :: ([HsName])
_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])
_typeItyConIs :: TypeConFixedMeaning
_typeIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 259, 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 259, column 9)
_eh =
foldr app1Arr _typeIeh _contextIehTy
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 365, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 375, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 387, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 397, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 138, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 158, column 9)
_lhsOtyConIs =
TyConIsOther
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 169, column 17)
_isAsPred =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 118, column 21)
_lhsOfreeTvarS =
_contextIfreeTvarS `Set.union` _typeIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _contextIeh,_contextIehTy,_contextIerrSq,_contextIfreeTvarS,_contextIgUniq,_contextIidUseOccGam,_contextIpp,_contextIppWrap,_contextItopInstanceNmL,_contextIundefOccGam) =
context_ _contextOfixityGam _contextOgUniq _contextOidGam _contextOnmLev _contextOopts _contextOpatchEhNmInInstance _contextOtopInstanceNmL
( _typeIconNm,_typeIeh,_typeIehMbAsPr,_typeIehMbAsPrL,_typeIehMbAsTyPr,_typeIehMbAsTyPrL,_typeIerrSq,_typeIfreeTvarS,_typeIgUniq,_typeIidUseOccGam,_typeImbRefConNm,_typeIopChain,_typeIoperatorName,_typeIpp,_typeIppWrap,_typeItopInstanceNmL,_typeItyConIs,_typeIundefOccGam) =
type_ _typeOdoGenVarWild _typeOfixityGam _typeOgUniq _typeOidGam _typeOisAsPred _typeOnmLev _typeOopts _typeOpatchEhNmInInstance _typeOtopInstanceNmL
in ( _lhsOconNm,_lhsOeh,_lhsOehMbAsPr,_lhsOehMbAsPrL,_lhsOehMbAsTyPr,_lhsOehMbAsTyPrL,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOmbRefConNm,_lhsOopChain,_lhsOoperatorName,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtyConIs,_lhsOundefOccGam)))
sem_Type_TupleConstructor :: Range ->
Int ->
T_Type
sem_Type_TupleConstructor range_ arity_ =
(\ _lhsIdoGenVarWild
_lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(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)
_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 259, 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 261, 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 365, column 9)
_ehMbAsPr =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 375, column 9)
_ehMbAsPrL =
[_ehMbAsPr]
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 387, column 17)
_ehMbAsTyPr =
fmap (rngLift range_ EH.TyExpr_Pred) _ehMbAsPr
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 397, column 17)
_ehMbAsTyPrL =
map (fmap (rngLift range_ EH.TyExpr_Pred)) _ehMbAsPrL
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 138, column 9)
_lhsOmbRefConNm =
Nothing
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/MainAG.ag"(line 158, column 9)
_lhsOtyConIs =
TyConIsOther
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 367, column 44)
_lhsOehMbAsPrL =
_ehMbAsPrL
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 389, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOtyConIs,_lhsOundefOccGam)))
-- TypeAnnotation ----------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( (EH.TyExprAnn),ErrSq,HsNameS,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_TypeAnnotation_Strict :: T_TypeAnnotation
sem_TypeAnnotation_Strict =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 887, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
sem_TypeAnnotation_AnnotationName :: Name ->
T_TypeAnnotation
sem_TypeAnnotation_AnnotationName name_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExprAnn)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 889, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
sem_TypeAnnotation_AnnotationVar :: Name ->
Name ->
T_TypeAnnotation
sem_TypeAnnotation_AnnotationVar name_ var_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOeh :: (EH.TyExprAnn)
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 894, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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,_lhsOundefOccGam)))
-- TypeLeftHandSide --------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( ([EH.TyVar]),ErrSq,HsNameS,UID,IdDefOccGam,([IdOcc]),IdUseOccGam,Name,PP_Doc,(PP_Doc -> PP_Doc),Range,([HsName]),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 ->
(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)
_lhsOtypevariables :: Names
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_patternsOgUniq :: UID
_patternsOidGam :: IdDefOccGam
_patternsOmoduleNm :: HsName
_patternsOnmLev :: NmLev
_patternsOopts :: EHCOpts
_patternsOpatchEhNmInInstance :: PatchEhNmInInstance
_patternsOtopInstanceNmL :: ([HsName])
_patternsIeh :: ([EH.TyVar])
_patternsIerrSq :: ErrSq
_patternsIgUniq :: UID
_patternsIidUseOccGam :: IdUseOccGam
_patternsIpp :: PP_Doc
_patternsIppL :: ([PP_Doc])
_patternsIppWrap :: (PP_Doc -> PP_Doc)
_patternsItopInstanceNmL :: ([HsName])
_patternsItypevariables :: Names
_patternsIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 205, column 9)
_lhsOrange =
range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 205, 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 773, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 129, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameDef.ag"(line 201, column 25)
_lhsOtypevariables =
_patternsItypevariables
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 729, 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
( _patternsIeh,_patternsIerrSq,_patternsIgUniq,_patternsIidUseOccGam,_patternsIpp,_patternsIppL,_patternsIppWrap,_patternsItopInstanceNmL,_patternsItypevariables,_patternsIundefOccGam) =
patterns_ _patternsOgUniq _patternsOidGam _patternsOmoduleNm _patternsOnmLev _patternsOopts _patternsOpatchEhNmInInstance _patternsOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOname,_lhsOpp,_lhsOppWrap,_lhsOrange,_lhsOtopInstanceNmL,_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 ->
(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)
_lhsOtypevariables :: Names
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_leftPatternOgUniq :: UID
_leftPatternOidGam :: IdDefOccGam
_leftPatternOmoduleNm :: HsName
_leftPatternOnmLev :: NmLev
_leftPatternOopts :: EHCOpts
_leftPatternOpatchEhNmInInstance :: PatchEhNmInInstance
_leftPatternOtopInstanceNmL :: ([HsName])
_rightPatternOgUniq :: UID
_rightPatternOidGam :: IdDefOccGam
_rightPatternOmoduleNm :: HsName
_rightPatternOnmLev :: NmLev
_rightPatternOopts :: EHCOpts
_rightPatternOpatchEhNmInInstance :: PatchEhNmInInstance
_rightPatternOtopInstanceNmL :: ([HsName])
_leftPatternIeh :: (EH.TyVar)
_leftPatternIerrSq :: ErrSq
_leftPatternIgUniq :: UID
_leftPatternIidUseOccGam :: IdUseOccGam
_leftPatternIpp :: PP_Doc
_leftPatternIppWrap :: (PP_Doc -> PP_Doc)
_leftPatternItopInstanceNmL :: ([HsName])
_leftPatternItypevariables :: Names
_leftPatternIundefOccGam :: IdUseOccGam
_rightPatternIeh :: (EH.TyVar)
_rightPatternIerrSq :: ErrSq
_rightPatternIgUniq :: UID
_rightPatternIidUseOccGam :: IdUseOccGam
_rightPatternIpp :: PP_Doc
_rightPatternIppWrap :: (PP_Doc -> PP_Doc)
_rightPatternItopInstanceNmL :: ([HsName])
_rightPatternItypevariables :: Names
_rightPatternIundefOccGam :: IdUseOccGam
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 208, column 9)
_lhsOrange =
range_
-- "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 208, 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 775, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 129, column 23)
_lhsOidDefOccGam =
emptyGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameDef.ag"(line 201, column 25)
_lhsOtypevariables =
_leftPatternItypevariables ++ _rightPatternItypevariables
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 729, 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 (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
( _leftPatternIeh,_leftPatternIerrSq,_leftPatternIgUniq,_leftPatternIidUseOccGam,_leftPatternIpp,_leftPatternIppWrap,_leftPatternItopInstanceNmL,_leftPatternItypevariables,_leftPatternIundefOccGam) =
leftPattern_ _leftPatternOgUniq _leftPatternOidGam _leftPatternOmoduleNm _leftPatternOnmLev _leftPatternOopts _leftPatternOpatchEhNmInInstance _leftPatternOtopInstanceNmL
( _rightPatternIeh,_rightPatternIerrSq,_rightPatternIgUniq,_rightPatternIidUseOccGam,_rightPatternIpp,_rightPatternIppWrap,_rightPatternItopInstanceNmL,_rightPatternItypevariables,_rightPatternIundefOccGam) =
rightPattern_ _rightPatternOgUniq _rightPatternOidGam _rightPatternOmoduleNm _rightPatternOnmLev _rightPatternOopts _rightPatternOpatchEhNmInInstance _rightPatternOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOname,_lhsOpp,_lhsOppWrap,_lhsOrange,_lhsOtopInstanceNmL,_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 ->
(let _lhsOeh :: ([EH.TyVar])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidDefOccGam :: IdDefOccGam
_lhsOidOccDefs :: ([IdOcc])
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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])
_patternsOgUniq :: UID
_patternsOidGam :: IdDefOccGam
_patternsOmoduleNm :: HsName
_patternsOnmLev :: NmLev
_patternsOopts :: EHCOpts
_patternsOpatchEhNmInInstance :: PatchEhNmInInstance
_patternsOtopInstanceNmL :: ([HsName])
_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])
_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])
_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 780, 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 118, column 21)
_lhsOfreeTvarS =
_lefthandsideIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 129, column 23)
_lhsOidDefOccGam =
_lefthandsideIidDefOccGam
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameDef.ag"(line 109, column 21)
_lhsOidOccDefs =
_lefthandsideIidOccDefs
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameDef.ag"(line 201, column 25)
_lhsOtypevariables =
_lefthandsideItypevariables ++ _patternsItypevariables
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 729, 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 (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
( _lefthandsideIeh,_lefthandsideIerrSq,_lefthandsideIfreeTvarS,_lefthandsideIgUniq,_lefthandsideIidDefOccGam,_lefthandsideIidOccDefs,_lefthandsideIidUseOccGam,_lefthandsideIname,_lefthandsideIpp,_lefthandsideIppWrap,_lefthandsideIrange,_lefthandsideItopInstanceNmL,_lefthandsideItypevariables,_lefthandsideIundefOccGam) =
lefthandside_ _lefthandsideOfixityGam _lefthandsideOgUniq _lefthandsideOidGam _lefthandsideOmoduleNm _lefthandsideOnmLev _lefthandsideOopts _lefthandsideOpatchEhNmInInstance _lefthandsideOtopInstanceNmL
( _patternsIeh,_patternsIerrSq,_patternsIgUniq,_patternsIidUseOccGam,_patternsIpp,_patternsIppL,_patternsIppWrap,_patternsItopInstanceNmL,_patternsItypevariables,_patternsIundefOccGam) =
patterns_ _patternsOgUniq _patternsOidGam _patternsOmoduleNm _patternsOnmLev _patternsOopts _patternsOpatchEhNmInInstance _patternsOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidDefOccGam,_lhsOidOccDefs,_lhsOidUseOccGam,_lhsOname,_lhsOpp,_lhsOppWrap,_lhsOrange,_lhsOtopInstanceNmL,_lhsOtypevariables,_lhsOundefOccGam)))
-- TypePattern -------------------------------------------------
{-
visit 0:
inherited attributes:
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
chained attributes:
gUniq : UID
topInstanceNmL : [HsName]
synthesized attributes:
eh : EH.TyVar
errSq : ErrSq
idUseOccGam : IdUseOccGam
pp : PP_Doc
ppWrap : PP_Doc -> PP_Doc
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]) ->
( (EH.TyVar),ErrSq,UID,IdUseOccGam,PP_Doc,(PP_Doc -> PP_Doc),([HsName]),Names,IdUseOccGam)
sem_TypePattern_Variable :: Range ->
Name ->
T_TypePattern
sem_TypePattern_Variable range_ name_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOtypevariables :: Names
_lhsOeh :: (EH.TyVar)
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 213, 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 860, 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 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtypevariables,_lhsOundefOccGam)))
-- TypePatterns ------------------------------------------------
{-
visit 0:
inherited attributes:
idGam : IdDefOccGam
moduleNm : HsName
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( ([EH.TyVar]),ErrSq,UID,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),Names,IdUseOccGam)
sem_TypePatterns_Cons :: T_TypePattern ->
T_TypePatterns ->
T_TypePatterns
sem_TypePatterns_Cons hd_ tl_ =
(\ _lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.TyVar])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOtypevariables :: Names
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOmoduleNm :: HsName
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOmoduleNm :: HsName
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_hdIeh :: (EH.TyVar)
_hdIerrSq :: ErrSq
_hdIgUniq :: UID
_hdIidUseOccGam :: IdUseOccGam
_hdIpp :: PP_Doc
_hdIppWrap :: (PP_Doc -> PP_Doc)
_hdItopInstanceNmL :: ([HsName])
_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])
_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 854, 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 471, 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/NameDef.ag"(line 201, column 25)
_lhsOtypevariables =
_hdItypevariables ++ _tlItypevariables
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 729, 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 (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
( _hdIeh,_hdIerrSq,_hdIgUniq,_hdIidUseOccGam,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItypevariables,_hdIundefOccGam) =
hd_ _hdOgUniq _hdOidGam _hdOmoduleNm _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL
( _tlIeh,_tlIerrSq,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlItypevariables,_tlIundefOccGam) =
tl_ _tlOgUniq _tlOidGam _tlOmoduleNm _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtypevariables,_lhsOundefOccGam)))
sem_TypePatterns_Nil :: T_TypePatterns
sem_TypePatterns_Nil =
(\ _lhsIgUniq
_lhsIidGam
_lhsImoduleNm
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.TyVar])
_lhsOerrSq :: ErrSq
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 854, 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 471, 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/NameDef.ag"(line 201, column 25)
_lhsOtypevariables =
[]
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOtypevariables,_lhsOundefOccGam)))
-- Types -------------------------------------------------------
{-
visit 0:
inherited attributes:
fixityGam : FixityGam
idGam : IdDefOccGam
isAsPred : Bool
nmLev : NmLev
opts : EHCOpts
patchEhNmInInstance : PatchEhNmInInstance
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
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]) ->
( ([EH.TyExpr]),ErrSq,HsNameS,UID,IdUseOccGam,PP_Doc,([PP_Doc]),(PP_Doc -> PP_Doc),([HsName]),IdUseOccGam)
sem_Types_Cons :: T_Type ->
T_Types ->
T_Types
sem_Types_Cons hd_ tl_ =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_lhsOundefOccGam :: IdUseOccGam
_lhsOgUniq :: UID
_lhsOtopInstanceNmL :: ([HsName])
_hdOdoGenVarWild :: Bool
_hdOfixityGam :: FixityGam
_hdOgUniq :: UID
_hdOidGam :: IdDefOccGam
_hdOisAsPred :: Bool
_hdOnmLev :: NmLev
_hdOopts :: EHCOpts
_hdOpatchEhNmInInstance :: PatchEhNmInInstance
_hdOtopInstanceNmL :: ([HsName])
_tlOfixityGam :: FixityGam
_tlOgUniq :: UID
_tlOidGam :: IdDefOccGam
_tlOisAsPred :: Bool
_tlOnmLev :: NmLev
_tlOopts :: EHCOpts
_tlOpatchEhNmInInstance :: PatchEhNmInInstance
_tlOtopInstanceNmL :: ([HsName])
_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])
_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])
_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 210, column 9)
_doGenVarWild =
False
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/ToEH.ag"(line 197, 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 118, column 21)
_lhsOfreeTvarS =
_hdIfreeTvarS `Set.union` _tlIfreeTvarS
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, 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)
_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
( _hdIconNm,_hdIeh,_hdIehMbAsPr,_hdIehMbAsPrL,_hdIehMbAsTyPr,_hdIehMbAsTyPrL,_hdIerrSq,_hdIfreeTvarS,_hdIgUniq,_hdIidUseOccGam,_hdImbRefConNm,_hdIopChain,_hdIoperatorName,_hdIpp,_hdIppWrap,_hdItopInstanceNmL,_hdItyConIs,_hdIundefOccGam) =
hd_ _hdOdoGenVarWild _hdOfixityGam _hdOgUniq _hdOidGam _hdOisAsPred _hdOnmLev _hdOopts _hdOpatchEhNmInInstance _hdOtopInstanceNmL
( _tlIeh,_tlIerrSq,_tlIfreeTvarS,_tlIgUniq,_tlIidUseOccGam,_tlIpp,_tlIppL,_tlIppWrap,_tlItopInstanceNmL,_tlIundefOccGam) =
tl_ _tlOfixityGam _tlOgUniq _tlOidGam _tlOisAsPred _tlOnmLev _tlOopts _tlOpatchEhNmInInstance _tlOtopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))
sem_Types_Nil :: T_Types
sem_Types_Nil =
(\ _lhsIfixityGam
_lhsIgUniq
_lhsIidGam
_lhsIisAsPred
_lhsInmLev
_lhsIopts
_lhsIpatchEhNmInInstance
_lhsItopInstanceNmL ->
(let _lhsOppL :: ([PP_Doc])
_lhsOeh :: ([EH.TyExpr])
_lhsOerrSq :: ErrSq
_lhsOfreeTvarS :: HsNameS
_lhsOidUseOccGam :: IdUseOccGam
_lhsOpp :: PP_Doc
_lhsOppWrap :: (PP_Doc -> PP_Doc)
_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 197, 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 118, column 21)
_lhsOfreeTvarS =
Set.empty
-- use rule "build/103/lib-ehc/UHC/Light/Compiler/HS/NameAnalysis.ag"(line 471, 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/NameAnalysis.ag"(line 729, column 30)
_lhsOundefOccGam =
emptyGam
-- copy rule (chain)
_lhsOgUniq =
_lhsIgUniq
-- copy rule (chain)
_lhsOtopInstanceNmL =
_lhsItopInstanceNmL
in ( _lhsOeh,_lhsOerrSq,_lhsOfreeTvarS,_lhsOgUniq,_lhsOidUseOccGam,_lhsOpp,_lhsOppL,_lhsOppWrap,_lhsOtopInstanceNmL,_lhsOundefOccGam)))