uhc-light-1.1.7.2: src/UHC/Light/Compiler/EH/MainAG_PatExpr.hs
module UHC.Light.Compiler.EH.MainAG_PatExpr where
import Data.Char
import Data.List as List
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.EH
import UHC.Light.Compiler.Ty.Pretty
import UHC.Light.Compiler.Ty.FitsInCommon
import UHC.Light.Compiler.Ty.FitsIn
import qualified UHC.Util.FastSeq as Seq
import UHC.Util.Utils
import UHC.Light.Compiler.VarMp
import UHC.Light.Compiler.Substitutable
import Data.Maybe
import UHC.Light.Compiler.Ty.Utils1
import UHC.Light.Compiler.Ty.Trf.Quantify
import UHC.Light.Compiler.Ty.Trf.Instantiate
import UHC.Light.Compiler.Ty
import UHC.Light.Compiler.Base.Debug as Debug
import Debug.Trace
import UHC.Light.Compiler.Ty.FitsInCommon2
import UHC.Light.Compiler.Ty.FIEnv2
import qualified Data.Set as Set
import qualified Data.Map as Map
import Data.Set (Set)
import Data.Map (Map)
import UHC.Light.Compiler.Ty.Trf.FreshVar
import UHC.Light.Compiler.Ty.Ftv
import UHC.Util.Utils (groupSortOn)
import Control.Applicative ((<|>))
import UHC.Light.Compiler.AbstractCore
import UHC.Light.Compiler.AbstractCore.Utils
import UHC.Light.Compiler.Core
import UHC.Light.Compiler.Core.FFI
import UHC.Light.Compiler.Core.Utils
import UHC.Light.Compiler.Core.Pretty
import UHC.Light.Compiler.Foreign.Extract
import UHC.Light.Compiler.LamInfo
import UHC.Light.Compiler.CodeGen.RefGenerator
import qualified UHC.Light.Compiler.Core.SysF.AsTy as SysF
import UHC.Light.Compiler.FinalEnv
import UHC.Light.Compiler.Core.Subst
import Control.Monad.State
import UHC.Light.Compiler.Ty.Utils2
import UHC.Light.Compiler.Base.Target
import UHC.Light.Compiler.Core.Coercion
import UHC.Light.Compiler.Ty.Trf.MergePreds
import UHC.Light.Compiler.Ty.Trf.Canonic
import UHC.Light.Compiler.Gam.ClGam
import UHC.Light.Compiler.Pred
import UHC.Light.Compiler.Pred.RedGraph (redPruneReductionsUntil)
import UHC.Light.Compiler.CHR
import UHC.Light.Compiler.CHR.Constraint
import UHC.Light.Compiler.Pred.CHR
import UHC.Light.Compiler.Pred.ToCHR
import UHC.Light.Compiler.Pred.Heuristics
import UHC.Light.Compiler.CHR.Solve
import UHC.Light.Compiler.Pred.EvidenceToCore
import UHC.Light.Compiler.Gam.ClassDefaultGam
import UHC.Light.Compiler.Ty.Trf.BetaReduce (tyBetaRedFull)
import UHC.Light.Compiler.Module.ImportExport
import UHC.Light.Compiler.Ty.UsedNames
import UHC.Light.Compiler.CodeGen.ImportUsedModules
import UHC.Light.Compiler.CodeGen.ModuleImportExportImpl
import UHC.Light.Compiler.CodeGen.BuiltinPrims
import UHC.Light.Compiler.Foreign
import UHC.Light.Compiler.Foreign
import UHC.Light.Compiler.Foreign.Pretty
import UHC.Light.Compiler.Deriving
import UHC.Light.Compiler.Generics
import UHC.Light.Compiler.VarMp.Utils
import UHC.Light.Compiler.EH.MainAG_common
-- PatExpr -----------------------------------------------------
{-
visit 0:
synthesized attribute:
range : Range
visit 1:
chained attribute:
gUniq : UID
visit 2:
inherited attributes:
kiGam : KiGam
lexLev : Int
chained attribute:
predSameScopeCounter : Int
visit 3:
inherited attributes:
opts : EHCOpts
polGam : PolGam
predScope : PredScope
tyKiGlobFreeTvarS : TyVarIdS
chained attributes:
kiVarMp : VarMp
polVarMp : VarMp
tyGam : TyGam
tyKiGam : TyKiGam
visit 4:
inherited attributes:
clGam : ClGam
dataGam : DataGam
finKiVarMp : VarMp
finTyKiGam : TyKiGam
tyTyTySigFreeTvarS : TyVarIdS
synthesized attributes:
chrInstDeclSq : Seq.FastSeq (CHRScopedInstanceDecl Pred RedHowAnnotation PredScope)
topNm : HsName
visit 5:
inherited attribute:
valGam : ValGam
synthesized attributes:
arity : Int
mbTopNm : Maybe HsName
patFunTy : Ty
visit 6:
inherited attributes:
fiOpts : FIOpts
inclVarBind : Bool
knTy : Ty
knTyL : TyL
tySigGam : ValGam
chained attribute:
patTyVarMp : VarMp
synthesized attribute:
valGam : ValGam
visit 7:
inherited attributes:
chrStore : ScopedPredStore
clDfGam : ClassDefaultGam
tvKiVarMp : VarMp
tyTyGlobFreeTvarS : TyVarIdS
valTyGlobFreeTvarS : TyVarIdS
chained attribute:
tyVarMp : VarMp
synthesized attributes:
cpNm : RPatNm
gathCnstrMp : CHRPredOccCnstrMp
gathRangeMp : RangeMp
scopeGam : ScopeGam
ty : Ty
visit 8:
inherited attributes:
ceParentNm : HsName
chrEvidBindMp : EvidKeyToCBindMap
chrScopeBindMp : PredScopeToCBindMap
finTyVarMp : VarMp
finValGam : ValGam
moduleNm : HsName
rangeMp : RangeMp
sysfEnv : ToSysfEnv
tySigVarMp : VarMp
chained attribute:
cSubst : CSubst
synthesized attributes:
allErrSq : ErrSq
appArgPPL : [PP_Doc]
appFunNm : HsName
appFunPP : PP_Doc
errSq : ErrSq
fsRPatL : FieldSplitL
gathMentrelFilterMp : ModEntRelFilterMp
gathTvKiVarMp : VarMp
isBang : Bool
patCRest : CPatRest
pp : PP_Doc
rpat : RPat
valCBindL : CBindL
alternatives:
alternative IConst:
child hsrange : {Range}
child int : {Int}
visit 0:
local range : {Range}
visit 1:
local _tup169 : _
intra range : {Range}
visit 2:
intra _tup169 : _
intra range : {Range}
visit 3:
intra _tup169 : _
intra range : {Range}
visit 4:
local lUniq : {UID}
local topNm : {HsName}
intra _tup169 : _
intra range : {Range}
visit 5:
local mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra range : {Range}
visit 6:
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra range : {Range}
visit 7:
local cpNm : {RPatNm}
local ty : {Ty}
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra range : {Range}
visit 8:
local pp : _
local finalTy : _
local fe : {FIEnv}
local finalTyExpanded : _
local sysfty : _
local acorety : _
local rpat : _
intra ty : {Ty}
intra range : {Range}
intra cpNm : {RPatNm}
alternative CConst:
child hsrange : {Range}
child char : {Char}
visit 0:
local range : {Range}
visit 1:
local _tup170 : _
intra range : {Range}
visit 2:
intra _tup170 : _
intra range : {Range}
visit 3:
intra _tup170 : _
intra range : {Range}
visit 4:
local lUniq : {UID}
local topNm : {HsName}
intra _tup170 : _
intra range : {Range}
visit 5:
local mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra range : {Range}
visit 6:
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra range : {Range}
visit 7:
local cpNm : {RPatNm}
local ty : {Ty}
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra range : {Range}
visit 8:
local pp : _
local finalTy : _
local fe : {FIEnv}
local finalTyExpanded : _
local sysfty : _
local acorety : _
local rpat : _
intra ty : {Ty}
intra range : {Range}
intra cpNm : {RPatNm}
alternative Con:
child hsrange : {Range}
child nm : {HsName}
visit 0:
local range : {Range}
visit 1:
local _tup173 : _
intra range : {Range}
visit 2:
intra _tup173 : _
intra range : {Range}
visit 3:
intra _tup173 : _
intra range : {Range}
visit 4:
local lUniq : {UID}
local topNm : {HsName}
intra _tup173 : _
intra range : {Range}
visit 5:
local mbTopNm : {Maybe HsName}
local lUniq2 : {UID}
local _tup172 : _
local tvarv2_ : {Ty}
local tvarv1_ : {Ty}
local knTyShape : _
local _tup171 : _
local ty_g_ : {Ty}
local fe : {FIEnv}
local fo_fitP_ : {FIOut}
local tyVarMp_p_ : {VarMp}
local patFunTy : {Ty}
intra _tup173 : _
intra lUniq : {UID}
intra range : {Range}
intra topNm : {HsName}
visit 6:
local lUniq3 : {UID}
local fo_fitR_ : {FIOut}
intra _tup173 : _
intra tvarv1_ : {Ty}
intra tyVarMp_p_ : {VarMp}
intra fe : {FIEnv}
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra _tup171 : _
intra range : {Range}
intra ty_g_ : {Ty}
visit 7:
local cpNm : {RPatNm}
local ty_r_ : _
local ty : {Ty}
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra fo_fitR_ : {FIOut}
intra _tup171 : _
intra range : {Range}
intra ty_g_ : {Ty}
intra tvarv1_ : {Ty}
intra fe : {FIEnv}
visit 8:
local appFunNm : _
local pp : _
local nmErrs : {ErrL}
local fsRPatL : _
local gathMentrelFilterMp : _
local knPatTy : {Ty}
local finalTy : _
local finalTyExpanded : _
local finKnPatTy : _
local tyConNm : _
local dgi : {DataGamInfo}
local dti : _
local tag : _
local sysfty : _
local acorety : _
local rpat : _
intra _tup171 : _
intra fo_fitR_ : {FIOut}
intra range : {Range}
intra ty_g_ : {Ty}
intra tvarv1_ : {Ty}
intra ty : {Ty}
intra fe : {FIEnv}
intra cpNm : {RPatNm}
alternative Var:
child hsrange : {Range}
child nm : {HsName}
visit 0:
local range : {Range}
visit 1:
local _tup177 : _
intra range : {Range}
visit 2:
intra _tup177 : _
intra range : {Range}
visit 3:
intra _tup177 : _
intra range : {Range}
visit 4:
local lUniq : {UID}
local topNm : {HsName}
intra _tup177 : _
intra range : {Range}
visit 5:
local mbTopNm : {Maybe HsName}
intra _tup177 : _
intra lUniq : {UID}
intra range : {Range}
intra topNm : {HsName}
visit 6:
local lUniq_4_fo : {UID}
local lUniq2 : {UID}
local _tup176 : _
local ty_kn_ensured : _
local ty_kn_ : {Ty}
local patTyVarMpKnTyEns : _
local patTyVarMpKnTy1 : _
local _tup174 : _
local ty_g_ : {Ty}
local fe : {FIEnv}
local fo_ : {FIOut}
local _tup175 : _
local patTyVarMpKnEx : _
local ty : {Ty}
local varTy : _
local addToGam : _
intra _tup177 : _
intra lUniq : {UID}
intra range : {Range}
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
visit 7:
local cpNm : {RPatNm}
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra ty : {Ty}
intra fe : {FIEnv}
visit 8:
local pp : _
local finalTy : _
local finalTyExpanded : _
local sysfty : _
local acorety : _
local rpat : _
intra ty : {Ty}
intra fe : {FIEnv}
intra cpNm : {RPatNm}
alternative VarAs:
child hsrange : {Range}
child nm : {HsName}
child patExpr : PatExpr
visit 0:
local range : {Range}
visit 1:
local _tup180 : _
intra range : {Range}
visit 2:
intra _tup180 : _
intra range : {Range}
visit 3:
intra _tup180 : _
intra range : {Range}
visit 4:
local lUniq : {UID}
local topNm : {HsName}
intra _tup180 : _
intra range : {Range}
visit 5:
local mbTopNm : {Maybe HsName}
intra _tup180 : _
intra lUniq : {UID}
intra range : {Range}
intra topNm : {HsName}
visit 6:
local lUniq_4_fo : {UID}
local lUniq2 : {UID}
local patTyVarMpKnTy1 : _
local ty_kn_ : {Ty}
local _tup178 : _
local ty_g_ : {Ty}
local fe : {FIEnv}
local fo_ : {FIOut}
local _tup179 : _
local patTyVarMpKnEx : _
local ty : {Ty}
local varTy : _
local addToGam : _
intra _tup180 : _
intra lUniq : {UID}
intra range : {Range}
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
visit 7:
local cpNm : {RPatNm}
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra ty : {Ty}
visit 8:
local pp : _
local rpat : _
intra cpNm : {RPatNm}
alternative App:
child hsrange : {Range}
child func : PatExpr
child arg : PatExpr
visit 0:
local range : {Range}
visit 1:
local _tup183 : _
visit 5:
local mbTopNm : {Maybe HsName}
visit 6:
local _tup182 : _
local knTyL : {TyL}
local knArgTy : {Ty}
visit 7:
local cpNm : {RPatNm}
visit 8:
local _tup181 : _
local pp : _
alternative AppTop:
child hsrange : {Range}
child patExpr : PatExpr
visit 0:
local range : {Range}
visit 1:
local _tup186 : _
intra range : {Range}
visit 2:
intra _tup186 : _
intra range : {Range}
visit 3:
intra _tup186 : _
intra range : {Range}
visit 4:
local lUniq : {UID}
local topNm : {HsName}
intra _tup186 : _
intra range : {Range}
visit 5:
local mbTopNm : {Maybe HsName}
local patFunTy : {Ty}
intra range : {Range}
intra lUniq : {UID}
intra topNm : {HsName}
visit 6:
local _tup185 : _
local knProdTy : _
local prodTyL : _
local _tup184 : _
local knTyL : {TyL}
local knPatTy : {Ty}
local fe : {FIEnv}
local fo_fitR_ : {FIOut}
intra patFunTy : {Ty}
intra range : {Range}
intra lUniq : {UID}
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
visit 7:
local cpNm : {RPatNm}
local ty : {Ty}
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra fo_fitR_ : {FIOut}
intra _tup184 : _
intra range : {Range}
intra fe : {FIEnv}
intra knPatTy : {Ty}
visit 8:
local pp : _
local arityErrs : {ErrL}
local appFunNm : _
local finalTy : _
local finalTyExpanded : _
local finKnPatTy : _
local fsRPatL : _
local rpatBinds : _
local rest : _
local tyConNm : _
local dgi : {DataGamInfo}
local dti : _
local tag : _
local sysfty : _
local acorety : _
local rpat : _
local rceEnv : _
local valCBindLSub : _
local valCBindL : _
intra _tup184 : _
intra fo_fitR_ : {FIOut}
intra range : {Range}
intra ty : {Ty}
intra fe : {FIEnv}
intra knPatTy : {Ty}
intra cpNm : {RPatNm}
alternative Parens:
child hsrange : {Range}
child patExpr : PatExpr
visit 0:
local range : {Range}
visit 1:
local _tup187 : _
visit 5:
local mbTopNm : {Maybe HsName}
visit 8:
local pp : _
alternative Ann:
child hsrange : {Range}
child ann : PatExprAnn
child patExpr : PatExpr
visit 0:
local range : {Range}
visit 1:
local _tup188 : _
visit 5:
local mbTopNm : {Maybe HsName}
visit 8:
local pp : _
alternative TypeAs:
child hsrange : {Range}
child tyExpr : TyExpr
child patExpr : PatExpr
visit 0:
local range : {Range}
visit 1:
local _tup189 : _
intra range : {Range}
visit 2:
intra _tup189 : _
intra range : {Range}
visit 3:
intra _tup189 : _
intra range : {Range}
visit 4:
intra _tup189 : _
intra range : {Range}
visit 5:
local mbTopNm : {Maybe HsName}
intra _tup189 : _
intra range : {Range}
visit 6:
local lUniq_4_fo : {UID}
local ty_q_ : {Ty}
local fe : {FIEnv}
local fo_ : {FIOut}
intra _tup189 : _
intra range : {Range}
visit 7:
intra fo_ : {FIOut}
intra range : {Range}
visit 8:
local pp : _
intra fo_ : {FIOut}
intra range : {Range}
alternative SConst:
child hsrange : {Range}
child str : {String}
visit 0:
local range : {Range}
visit 1:
local _tup190 : _
intra range : {Range}
visit 2:
intra _tup190 : _
intra range : {Range}
visit 3:
intra _tup190 : _
intra range : {Range}
visit 4:
local lUniq : {UID}
local topNm : {HsName}
intra _tup190 : _
intra range : {Range}
visit 5:
local mbTopNm : {Maybe HsName}
intra range : {Range}
intra lUniq : {UID}
intra topNm : {HsName}
visit 6:
local constTy : {Ty}
local fe : {FIEnv}
local fo_ : {FIOut}
intra range : {Range}
intra lUniq : {UID}
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
visit 7:
local cpNm : {RPatNm}
local ty : {Ty}
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra constTy : {Ty}
intra fe : {FIEnv}
visit 8:
local pp : _
local finalTy : _
local finalTyExpanded : _
local sysfty : _
local acorety : _
local rpat : _
intra ty : {Ty}
intra fe : {FIEnv}
intra cpNm : {RPatNm}
alternative Rec:
child hsrange : {Range}
child recPatExpr : RecPatExpr
visit 0:
local range : {Range}
visit 1:
local _tup191 : _
intra range : {Range}
visit 2:
intra _tup191 : _
intra range : {Range}
visit 3:
intra _tup191 : _
intra range : {Range}
visit 4:
local lUniq : {UID}
local topNm : {HsName}
intra _tup191 : _
intra range : {Range}
visit 5:
local mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra range : {Range}
visit 6:
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra range : {Range}
visit 7:
local cpNm : {RPatNm}
local ty : {Ty}
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra range : {Range}
visit 8:
local appFunNm : _
local pp : _
local fsRPatL : _
local finalTy : _
local fe : {FIEnv}
local finalTyExpanded : _
local rpatBinds : _
local rest : _
local tag : _
local sysfty : _
local acorety : _
local rpat : _
local rceEnv : _
local valCBindLSub : _
local valCBindL : _
intra range : {Range}
intra ty : {Ty}
intra cpNm : {RPatNm}
alternative DataFields:
child hsrange : {Range}
child dataFieldPatExpr : DataFieldPatExpr
visit 0:
local range : {Range}
visit 1:
local _tup193 : _
intra range : {Range}
visit 2:
intra _tup193 : _
intra range : {Range}
visit 3:
intra _tup193 : _
intra range : {Range}
visit 4:
local lUniq : {UID}
local topNm : {HsName}
intra _tup193 : _
intra range : {Range}
visit 5:
local mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra range : {Range}
visit 6:
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra range : {Range}
visit 7:
local cpNm : {RPatNm}
local ty : {Ty}
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra range : {Range}
visit 8:
local pp : _
local finalTy : _
local fe : {FIEnv}
local finalTyExpanded : _
local fsRPatL : _
local tag : _
local _tup192 : _
local rpatBind0 : _
local rpatBindss : _
local rest : _
local sysfty : _
local acorety : _
local rpat : _
local rceEnv : _
local valCBindLSub : _
local rpatBindsNonSat : _
local valCBindL : _
intra ty : {Ty}
intra range : {Range}
intra cpNm : {RPatNm}
alternative Irrefutable:
child hsrange : {Range}
child patExpr : PatExpr
visit 0:
local range : {Range}
visit 1:
local _tup194 : _
intra range : {Range}
visit 2:
intra range : {Range}
visit 3:
intra range : {Range}
visit 4:
local topNm : {HsName}
intra range : {Range}
visit 5:
local mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra range : {Range}
visit 6:
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra range : {Range}
visit 7:
local cpNm : {RPatNm}
local ty : {Ty}
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra range : {Range}
visit 8:
local pp : _
local finalTy : _
local fe : {FIEnv}
local finalTyExpanded : _
local sysfty : _
local acorety : _
local rpat : _
intra ty : {Ty}
intra range : {Range}
intra cpNm : {RPatNm}
alternative Bang:
child hsrange : {Range}
child patExpr : PatExpr
visit 0:
local range : {Range}
visit 1:
local _tup195 : _
visit 4:
local topNm : {HsName}
visit 5:
local mbTopNm : {Maybe HsName}
intra topNm : {HsName}
visit 6:
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
visit 7:
local cpNm : {RPatNm}
local ty : {Ty}
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
visit 8:
local pp : _
local rpat : _
alternative Expr:
child hsrange : {Range}
child expr : Expr
child mbConst : {Maybe SrcConst}
visit 0:
local range : {Range}
visit 1:
local _tup198 : _
intra range : {Range}
visit 2:
intra _tup198 : _
intra range : {Range}
visit 3:
intra _tup198 : _
intra range : {Range}
visit 4:
local lUniq : {UID}
local topNm : {HsName}
intra _tup198 : _
intra range : {Range}
visit 5:
local mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra _tup198 : _
intra lUniq : {UID}
intra range : {Range}
visit 6:
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra _tup198 : _
intra lUniq : {UID}
intra range : {Range}
visit 7:
local cpNm : {RPatNm}
local lUniq_97_fitsIn_ty : {UID}
local knExprTy : {Ty}
local eqFldNm : {HsName}
local _tup197 : _
local eqTy : {Ty}
local fe : {FIEnv}
local fo_ : {FIOut}
local hereCnstrMp : _
intra mbTopNm : {Maybe HsName}
intra topNm : {HsName}
intra _tup198 : _
intra lUniq : {UID}
intra range : {Range}
visit 8:
local pp : _
local lUniq_cexpr : {UID}
local cexprBaseEq : _
local _tup196 : _
local cexprpatCSubst : _
local nmErrs : {ErrL}
local gathMentrelFilterMp : _
local cexpr : _
local rpat : _
intra _tup198 : _
intra eqFldNm : {HsName}
intra fo_ : {FIOut}
intra _tup197 : _
intra range : {Range}
intra eqTy : {Ty}
intra cpNm : {RPatNm}
-}
sem_PatExpr_IConst :: Range ->
Int ->
T_PatExpr
sem_PatExpr_IConst hsrange_ int_ | hsrange_ `seq` (int_ `seq` (True)) =
(case (hsrange_) of
{ _range | _range `seq` (True) ->
(case (_range) of
{ _lhsOrange | _lhsOrange `seq` (True) ->
(case ((let sem_PatExpr_IConst_1 :: T_PatExpr_1
sem_PatExpr_IConst_1 =
(\ _lhsIgUniq ->
_lhsIgUniq `seq`
((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of
{ __tup169 | __tup169 `seq` (True) ->
(case (__tup169) of
{ (_lhsOgUniq,_) | _lhsOgUniq `seq` (True) ->
(case ((let sem_PatExpr_IConst_2 :: T_PatExpr_2
sem_PatExpr_IConst_2 =
(\ _lhsIkiGam
_lhsIlexLev
_lhsIpredSameScopeCounter ->
_lhsIkiGam `seq`
(_lhsIlexLev `seq`
(_lhsIpredSameScopeCounter `seq`
((case (_lhsIpredSameScopeCounter) of
{ _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) ->
(case ((let sem_PatExpr_IConst_3 :: T_PatExpr_3
sem_PatExpr_IConst_3 =
(\ _lhsIkiVarMp
_lhsIopts
_lhsIpolGam
_lhsIpolVarMp
_lhsIpredScope
_lhsItyGam
_lhsItyKiGam
_lhsItyKiGlobFreeTvarS ->
_lhsIkiVarMp `seq`
(_lhsIopts `seq`
(_lhsIpolGam `seq`
(_lhsIpolVarMp `seq`
(_lhsIpredScope `seq`
(_lhsItyGam `seq`
(_lhsItyKiGam `seq`
(_lhsItyKiGlobFreeTvarS `seq`
((case (_lhsIkiVarMp) of
{ _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) ->
(case (_lhsIpolVarMp) of
{ _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) ->
(case (_lhsItyGam) of
{ _lhsOtyGam | _lhsOtyGam `seq` (True) ->
(case (_lhsItyKiGam) of
{ _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) ->
(case ((let sem_PatExpr_IConst_4 :: T_PatExpr_4
sem_PatExpr_IConst_4 =
(\ _lhsIclGam
_lhsIdataGam
_lhsIfinKiVarMp
_lhsIfinTyKiGam
_lhsItyTyTySigFreeTvarS ->
_lhsIclGam `seq`
(_lhsIdataGam `seq`
(_lhsIfinKiVarMp `seq`
(_lhsIfinTyKiGam `seq`
(_lhsItyTyTySigFreeTvarS `seq`
((case (Seq.empty) of
{ _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) ->
(case (__tup169) of
{ (_,_lUniq) | _lUniq `seq` (True) ->
(case (uidHNm _lUniq) of
{ _topNm | _topNm `seq` (True) ->
(case (_topNm) of
{ _lhsOtopNm | _lhsOtopNm `seq` (True) ->
(case ((let sem_PatExpr_IConst_5 :: T_PatExpr_5
sem_PatExpr_IConst_5 =
(\ _lhsIvalGam ->
_lhsIvalGam `seq`
((case (0) of
{ _lhsOarity | _lhsOarity `seq` (True) ->
(case (Nothing) of
{ _mbTopNm | _mbTopNm `seq` (True) ->
(case (_mbTopNm) of
{ _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) ->
(case (Ty_Any) of
{ _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) ->
(case ((let sem_PatExpr_IConst_6 :: T_PatExpr_6
sem_PatExpr_IConst_6 =
(\ _lhsIfiOpts
_lhsIinclVarBind
_lhsIknTy
_lhsIknTyL
_lhsIpatTyVarMp
_lhsItySigGam ->
_lhsIfiOpts `seq`
(_lhsIinclVarBind `seq`
(_lhsIknTy `seq`
(_lhsIknTyL `seq`
(_lhsIpatTyVarMp `seq`
(_lhsItySigGam `seq`
((case (_lhsIpatTyVarMp) of
{ _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) ->
(case (_lhsIvalGam) of
{ _lhsOvalGam | _lhsOvalGam `seq` (True) ->
(case ((let sem_PatExpr_IConst_7 :: T_PatExpr_7
sem_PatExpr_IConst_7 =
(\ _lhsIchrStore
_lhsIclDfGam
_lhsItvKiVarMp
_lhsItyTyGlobFreeTvarS
_lhsItyVarMp
_lhsIvalTyGlobFreeTvarS ->
_lhsIchrStore `seq`
(_lhsIclDfGam `seq`
(_lhsItvKiVarMp `seq`
(_lhsItyTyGlobFreeTvarS `seq`
(_lhsItyVarMp `seq`
(_lhsIvalTyGlobFreeTvarS `seq`
((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of
{ _cpNm | _cpNm `seq` (True) ->
(case (_cpNm) of
{ _lhsOcpNm | _lhsOcpNm `seq` (True) ->
(case (Map.empty) of
{ _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) ->
(case (Map.empty) of
{ _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) ->
(case (emptyGam) of
{ _lhsOscopeGam | _lhsOscopeGam `seq` (True) ->
(case (tyInt) of
{ _ty | _ty `seq` (True) ->
(case (_ty) of
{ _lhsOty | _lhsOty `seq` (True) ->
(case (_lhsItyVarMp) of
{ _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) ->
(case ((let sem_PatExpr_IConst_8 :: T_PatExpr_8
sem_PatExpr_IConst_8 =
(\ _lhsIcSubst
_lhsIceParentNm
_lhsIchrEvidBindMp
_lhsIchrScopeBindMp
_lhsIfinTyVarMp
_lhsIfinValGam
_lhsImoduleNm
_lhsIrangeMp
_lhsIsysfEnv
_lhsItySigVarMp ->
_lhsIcSubst `seq`
(_lhsIceParentNm `seq`
(_lhsIchrEvidBindMp `seq`
(_lhsIchrScopeBindMp `seq`
(_lhsIfinTyVarMp `seq`
(_lhsIfinValGam `seq`
(_lhsImoduleNm `seq`
(_lhsIrangeMp `seq`
(_lhsIsysfEnv `seq`
(_lhsItySigVarMp `seq`
((case (Seq.empty) of
{ _lhsOallErrSq | _lhsOallErrSq `seq` (True) ->
(case ([]) of
{ _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) ->
(case (hsnUnknown) of
{ _lhsOappFunNm | _lhsOappFunNm `seq` (True) ->
(case (pp (show int_)) of
{ _pp | _pp `seq` (True) ->
(case (_pp) of
{ _lhsOappFunPP | _lhsOappFunPP `seq` (True) ->
(case (_lhsIcSubst) of
{ _lhsOcSubst | _lhsOcSubst `seq` (True) ->
(case (Seq.empty) of
{ _lhsOerrSq | _lhsOerrSq `seq` (True) ->
(case ([]) of
{ _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) ->
(case (Map.empty) of
{ _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) ->
(case (emptyVarMp) of
{ _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) ->
(case (False) of
{ _lhsOisBang | _lhsOisBang `seq` (True) ->
(case (CPatRest_Empty) of
{ _lhsOpatCRest | _lhsOpatCRest `seq` (True) ->
(case (_pp) of
{ _lhsOpp | _lhsOpp `seq` (True) ->
(case (_lhsIfinTyVarMp `varUpd` _ty) of
{ _finalTy | _finalTy `seq` (True) ->
(case (defaultFIEnv
{ feEHCOpts = _lhsIopts
, fePredScope = _lhsIpredScope
, feTyGam = _lhsItyGam
, fePolGam = _lhsIpolGam
, feRange = _range
}) of
{ _fe | _fe `seq` (True) ->
(case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTy) of
{ _finalTyExpanded | _finalTyExpanded `seq` (True) ->
(case ((appDbg "{Expr,PatExpr,Decl,DataFieldExpr}.sysfty not implemented" :: SysfTy)) of
{ _sysfty | _sysfty `seq` (True) ->
(case (mkCTy _lhsIopts _finalTyExpanded _sysfty) of
{ _acorety | _acorety `seq` (True) ->
(case (RPat_Int _cpNm _acorety (toInteger int_)) of
{ _rpat | _rpat `seq` (True) ->
(case (_rpat) of
{ _lhsOrpat | _lhsOrpat `seq` (True) ->
(case ([]) of
{ _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) ->
( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOrpat,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))
in sem_PatExpr_IConst_8)) of
{ ( sem_PatExpr_8) | True ->
( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_IConst_7)) of
{ ( sem_PatExpr_7) | True ->
( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }))))))))
in sem_PatExpr_IConst_6)) of
{ ( sem_PatExpr_6) | True ->
( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) })))
in sem_PatExpr_IConst_5)) of
{ ( sem_PatExpr_5) | True ->
( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) })))))))
in sem_PatExpr_IConst_4)) of
{ ( sem_PatExpr_4) | True ->
( _lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }))))))))))
in sem_PatExpr_IConst_3)) of
{ ( sem_PatExpr_3) | True ->
( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) })))))
in sem_PatExpr_IConst_2)) of
{ ( sem_PatExpr_2) | True ->
( _lhsOgUniq,sem_PatExpr_2) }) }) })))
in sem_PatExpr_IConst_1)) of
{ ( sem_PatExpr_1) | True ->
( _lhsOrange,sem_PatExpr_1) }) }) })
sem_PatExpr_CConst :: Range ->
Char ->
T_PatExpr
sem_PatExpr_CConst hsrange_ char_ | hsrange_ `seq` (char_ `seq` (True)) =
(case (hsrange_) of
{ _range | _range `seq` (True) ->
(case (_range) of
{ _lhsOrange | _lhsOrange `seq` (True) ->
(case ((let sem_PatExpr_CConst_1 :: T_PatExpr_1
sem_PatExpr_CConst_1 =
(\ _lhsIgUniq ->
_lhsIgUniq `seq`
((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of
{ __tup170 | __tup170 `seq` (True) ->
(case (__tup170) of
{ (_lhsOgUniq,_) | _lhsOgUniq `seq` (True) ->
(case ((let sem_PatExpr_CConst_2 :: T_PatExpr_2
sem_PatExpr_CConst_2 =
(\ _lhsIkiGam
_lhsIlexLev
_lhsIpredSameScopeCounter ->
_lhsIkiGam `seq`
(_lhsIlexLev `seq`
(_lhsIpredSameScopeCounter `seq`
((case (_lhsIpredSameScopeCounter) of
{ _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) ->
(case ((let sem_PatExpr_CConst_3 :: T_PatExpr_3
sem_PatExpr_CConst_3 =
(\ _lhsIkiVarMp
_lhsIopts
_lhsIpolGam
_lhsIpolVarMp
_lhsIpredScope
_lhsItyGam
_lhsItyKiGam
_lhsItyKiGlobFreeTvarS ->
_lhsIkiVarMp `seq`
(_lhsIopts `seq`
(_lhsIpolGam `seq`
(_lhsIpolVarMp `seq`
(_lhsIpredScope `seq`
(_lhsItyGam `seq`
(_lhsItyKiGam `seq`
(_lhsItyKiGlobFreeTvarS `seq`
((case (_lhsIkiVarMp) of
{ _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) ->
(case (_lhsIpolVarMp) of
{ _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) ->
(case (_lhsItyGam) of
{ _lhsOtyGam | _lhsOtyGam `seq` (True) ->
(case (_lhsItyKiGam) of
{ _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) ->
(case ((let sem_PatExpr_CConst_4 :: T_PatExpr_4
sem_PatExpr_CConst_4 =
(\ _lhsIclGam
_lhsIdataGam
_lhsIfinKiVarMp
_lhsIfinTyKiGam
_lhsItyTyTySigFreeTvarS ->
_lhsIclGam `seq`
(_lhsIdataGam `seq`
(_lhsIfinKiVarMp `seq`
(_lhsIfinTyKiGam `seq`
(_lhsItyTyTySigFreeTvarS `seq`
((case (Seq.empty) of
{ _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) ->
(case (__tup170) of
{ (_,_lUniq) | _lUniq `seq` (True) ->
(case (uidHNm _lUniq) of
{ _topNm | _topNm `seq` (True) ->
(case (_topNm) of
{ _lhsOtopNm | _lhsOtopNm `seq` (True) ->
(case ((let sem_PatExpr_CConst_5 :: T_PatExpr_5
sem_PatExpr_CConst_5 =
(\ _lhsIvalGam ->
_lhsIvalGam `seq`
((case (0) of
{ _lhsOarity | _lhsOarity `seq` (True) ->
(case (Nothing) of
{ _mbTopNm | _mbTopNm `seq` (True) ->
(case (_mbTopNm) of
{ _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) ->
(case (Ty_Any) of
{ _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) ->
(case ((let sem_PatExpr_CConst_6 :: T_PatExpr_6
sem_PatExpr_CConst_6 =
(\ _lhsIfiOpts
_lhsIinclVarBind
_lhsIknTy
_lhsIknTyL
_lhsIpatTyVarMp
_lhsItySigGam ->
_lhsIfiOpts `seq`
(_lhsIinclVarBind `seq`
(_lhsIknTy `seq`
(_lhsIknTyL `seq`
(_lhsIpatTyVarMp `seq`
(_lhsItySigGam `seq`
((case (_lhsIpatTyVarMp) of
{ _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) ->
(case (_lhsIvalGam) of
{ _lhsOvalGam | _lhsOvalGam `seq` (True) ->
(case ((let sem_PatExpr_CConst_7 :: T_PatExpr_7
sem_PatExpr_CConst_7 =
(\ _lhsIchrStore
_lhsIclDfGam
_lhsItvKiVarMp
_lhsItyTyGlobFreeTvarS
_lhsItyVarMp
_lhsIvalTyGlobFreeTvarS ->
_lhsIchrStore `seq`
(_lhsIclDfGam `seq`
(_lhsItvKiVarMp `seq`
(_lhsItyTyGlobFreeTvarS `seq`
(_lhsItyVarMp `seq`
(_lhsIvalTyGlobFreeTvarS `seq`
((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of
{ _cpNm | _cpNm `seq` (True) ->
(case (_cpNm) of
{ _lhsOcpNm | _lhsOcpNm `seq` (True) ->
(case (Map.empty) of
{ _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) ->
(case (Map.empty) of
{ _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) ->
(case (emptyGam) of
{ _lhsOscopeGam | _lhsOscopeGam `seq` (True) ->
(case (tyChar) of
{ _ty | _ty `seq` (True) ->
(case (_ty) of
{ _lhsOty | _lhsOty `seq` (True) ->
(case (_lhsItyVarMp) of
{ _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) ->
(case ((let sem_PatExpr_CConst_8 :: T_PatExpr_8
sem_PatExpr_CConst_8 =
(\ _lhsIcSubst
_lhsIceParentNm
_lhsIchrEvidBindMp
_lhsIchrScopeBindMp
_lhsIfinTyVarMp
_lhsIfinValGam
_lhsImoduleNm
_lhsIrangeMp
_lhsIsysfEnv
_lhsItySigVarMp ->
_lhsIcSubst `seq`
(_lhsIceParentNm `seq`
(_lhsIchrEvidBindMp `seq`
(_lhsIchrScopeBindMp `seq`
(_lhsIfinTyVarMp `seq`
(_lhsIfinValGam `seq`
(_lhsImoduleNm `seq`
(_lhsIrangeMp `seq`
(_lhsIsysfEnv `seq`
(_lhsItySigVarMp `seq`
((case (Seq.empty) of
{ _lhsOallErrSq | _lhsOallErrSq `seq` (True) ->
(case ([]) of
{ _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) ->
(case (hsnUnknown) of
{ _lhsOappFunNm | _lhsOappFunNm `seq` (True) ->
(case (pp (show char_)) of
{ _pp | _pp `seq` (True) ->
(case (_pp) of
{ _lhsOappFunPP | _lhsOappFunPP `seq` (True) ->
(case (_lhsIcSubst) of
{ _lhsOcSubst | _lhsOcSubst `seq` (True) ->
(case (Seq.empty) of
{ _lhsOerrSq | _lhsOerrSq `seq` (True) ->
(case ([]) of
{ _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) ->
(case (Map.empty) of
{ _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) ->
(case (emptyVarMp) of
{ _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) ->
(case (False) of
{ _lhsOisBang | _lhsOisBang `seq` (True) ->
(case (CPatRest_Empty) of
{ _lhsOpatCRest | _lhsOpatCRest `seq` (True) ->
(case (_pp) of
{ _lhsOpp | _lhsOpp `seq` (True) ->
(case (_lhsIfinTyVarMp `varUpd` _ty) of
{ _finalTy | _finalTy `seq` (True) ->
(case (defaultFIEnv
{ feEHCOpts = _lhsIopts
, fePredScope = _lhsIpredScope
, feTyGam = _lhsItyGam
, fePolGam = _lhsIpolGam
, feRange = _range
}) of
{ _fe | _fe `seq` (True) ->
(case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTy) of
{ _finalTyExpanded | _finalTyExpanded `seq` (True) ->
(case ((appDbg "{Expr,PatExpr,Decl,DataFieldExpr}.sysfty not implemented" :: SysfTy)) of
{ _sysfty | _sysfty `seq` (True) ->
(case (mkCTy _lhsIopts _finalTyExpanded _sysfty) of
{ _acorety | _acorety `seq` (True) ->
(case (RPat_Char _cpNm _acorety char_) of
{ _rpat | _rpat `seq` (True) ->
(case (_rpat) of
{ _lhsOrpat | _lhsOrpat `seq` (True) ->
(case ([]) of
{ _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) ->
( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOrpat,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))
in sem_PatExpr_CConst_8)) of
{ ( sem_PatExpr_8) | True ->
( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_CConst_7)) of
{ ( sem_PatExpr_7) | True ->
( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }))))))))
in sem_PatExpr_CConst_6)) of
{ ( sem_PatExpr_6) | True ->
( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) })))
in sem_PatExpr_CConst_5)) of
{ ( sem_PatExpr_5) | True ->
( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) })))))))
in sem_PatExpr_CConst_4)) of
{ ( sem_PatExpr_4) | True ->
( _lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }))))))))))
in sem_PatExpr_CConst_3)) of
{ ( sem_PatExpr_3) | True ->
( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) })))))
in sem_PatExpr_CConst_2)) of
{ ( sem_PatExpr_2) | True ->
( _lhsOgUniq,sem_PatExpr_2) }) }) })))
in sem_PatExpr_CConst_1)) of
{ ( sem_PatExpr_1) | True ->
( _lhsOrange,sem_PatExpr_1) }) }) })
sem_PatExpr_Con :: Range ->
HsName ->
T_PatExpr
sem_PatExpr_Con hsrange_ nm_ | hsrange_ `seq` (nm_ `seq` (True)) =
(case (hsrange_) of
{ _range | _range `seq` (True) ->
(case (_range) of
{ _lhsOrange | _lhsOrange `seq` (True) ->
(case ((let sem_PatExpr_Con_1 :: T_PatExpr_1
sem_PatExpr_Con_1 =
(\ _lhsIgUniq ->
_lhsIgUniq `seq`
((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> case nextUnique __cont of { (__cont, lUniq2) -> case nextUnique __cont of { (__cont, lUniq3) -> (__cont,lUniq,lUniq2,lUniq3)}}} )) of
{ __tup173 | __tup173 `seq` (True) ->
(case (__tup173) of
{ (_lhsOgUniq,_,_,_) | _lhsOgUniq `seq` (True) ->
(case ((let sem_PatExpr_Con_2 :: T_PatExpr_2
sem_PatExpr_Con_2 =
(\ _lhsIkiGam
_lhsIlexLev
_lhsIpredSameScopeCounter ->
_lhsIkiGam `seq`
(_lhsIlexLev `seq`
(_lhsIpredSameScopeCounter `seq`
((case (_lhsIpredSameScopeCounter) of
{ _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) ->
(case ((let sem_PatExpr_Con_3 :: T_PatExpr_3
sem_PatExpr_Con_3 =
(\ _lhsIkiVarMp
_lhsIopts
_lhsIpolGam
_lhsIpolVarMp
_lhsIpredScope
_lhsItyGam
_lhsItyKiGam
_lhsItyKiGlobFreeTvarS ->
_lhsIkiVarMp `seq`
(_lhsIopts `seq`
(_lhsIpolGam `seq`
(_lhsIpolVarMp `seq`
(_lhsIpredScope `seq`
(_lhsItyGam `seq`
(_lhsItyKiGam `seq`
(_lhsItyKiGlobFreeTvarS `seq`
((case (_lhsIkiVarMp) of
{ _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) ->
(case (_lhsIpolVarMp) of
{ _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) ->
(case (_lhsItyGam) of
{ _lhsOtyGam | _lhsOtyGam `seq` (True) ->
(case (_lhsItyKiGam) of
{ _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) ->
(case ((let sem_PatExpr_Con_4 :: T_PatExpr_4
sem_PatExpr_Con_4 =
(\ _lhsIclGam
_lhsIdataGam
_lhsIfinKiVarMp
_lhsIfinTyKiGam
_lhsItyTyTySigFreeTvarS ->
_lhsIclGam `seq`
(_lhsIdataGam `seq`
(_lhsIfinKiVarMp `seq`
(_lhsIfinTyKiGam `seq`
(_lhsItyTyTySigFreeTvarS `seq`
((case (Seq.empty) of
{ _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) ->
(case (__tup173) of
{ (_,_lUniq,_,_) | _lUniq `seq` (True) ->
(case (uidHNm _lUniq) of
{ _topNm | _topNm `seq` (True) ->
(case (_topNm) of
{ _lhsOtopNm | _lhsOtopNm `seq` (True) ->
(case ((let sem_PatExpr_Con_5 :: T_PatExpr_5
sem_PatExpr_Con_5 =
(\ _lhsIvalGam ->
_lhsIvalGam `seq`
((case (0) of
{ _lhsOarity | _lhsOarity `seq` (True) ->
(case (Nothing) of
{ _mbTopNm | _mbTopNm `seq` (True) ->
(case (_mbTopNm) of
{ _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) ->
(case (__tup173) of
{ (_,_,_lUniq2,_) | _lUniq2 `seq` (True) ->
(case (let [a,r] = mkNewTyVarL 2 _lUniq in (a,r)) of
{ __tup172 | __tup172 `seq` (True) ->
(case (__tup172) of
{ (_,_tvarv2_) | _tvarv2_ `seq` (True) ->
(case (__tup172) of
{ (_tvarv1_,_) | _tvarv1_ `seq` (True) ->
(case ([_tvarv1_ ] `appArr` _tvarv2_) of
{ _knTyShape | _knTyShape `seq` (True) ->
(case (valGamLookupTy (hsnUn nm_) _lhsIvalGam) of
{ __tup171 | __tup171 `seq` (True) ->
(case (__tup171) of
{ (_ty_g_,_) | _ty_g_ `seq` (True) ->
(case (defaultFIEnv
{ feEHCOpts = _lhsIopts
, fePredScope = _lhsIpredScope
, feTyGam = _lhsItyGam
, fePolGam = _lhsIpolGam
, feRange = _range
}) of
{ _fe | _fe `seq` (True) ->
(case (fitsIn instFIOpts _fe _lUniq2 (emptyVarMp :: VarMp) _ty_g_ _knTyShape) of
{ _fo_fitP_ | _fo_fitP_ `seq` (True) ->
(case (foVarMp _fo_fitP_) of
{ _tyVarMp_p_ | _tyVarMp_p_ `seq` (True) ->
(case (_tyVarMp_p_ `varUpd` foTy _fo_fitP_) of
{ _patFunTy | _patFunTy `seq` (True) ->
(case (_patFunTy) of
{ _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) ->
(case ((let sem_PatExpr_Con_6 :: T_PatExpr_6
sem_PatExpr_Con_6 =
(\ _lhsIfiOpts
_lhsIinclVarBind
_lhsIknTy
_lhsIknTyL
_lhsIpatTyVarMp
_lhsItySigGam ->
_lhsIfiOpts `seq`
(_lhsIinclVarBind `seq`
(_lhsIknTy `seq`
(_lhsIknTyL `seq`
(_lhsIpatTyVarMp `seq`
(_lhsItySigGam `seq`
((case (__tup173) of
{ (_,_,_,_lUniq3) | _lUniq3 `seq` (True) ->
(case (fitsIn _lhsIfiOpts _fe _lUniq3 (_tyVarMp_p_ `varUpd` _lhsIpatTyVarMp) _lhsIknTy _tvarv1_) of
{ _fo_fitR_ | _fo_fitR_ `seq` (True) ->
(case (foVarMp _fo_fitR_ `varUpd` _tyVarMp_p_ `varUpd` _lhsIpatTyVarMp) of
{ _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) ->
(case (_lhsIvalGam) of
{ _lhsOvalGam | _lhsOvalGam `seq` (True) ->
(case ((let sem_PatExpr_Con_7 :: T_PatExpr_7
sem_PatExpr_Con_7 =
(\ _lhsIchrStore
_lhsIclDfGam
_lhsItvKiVarMp
_lhsItyTyGlobFreeTvarS
_lhsItyVarMp
_lhsIvalTyGlobFreeTvarS ->
_lhsIchrStore `seq`
(_lhsIclDfGam `seq`
(_lhsItvKiVarMp `seq`
(_lhsItyTyGlobFreeTvarS `seq`
(_lhsItyVarMp `seq`
(_lhsIvalTyGlobFreeTvarS `seq`
((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of
{ _cpNm | _cpNm `seq` (True) ->
(case (_cpNm) of
{ _lhsOcpNm | _lhsOcpNm `seq` (True) ->
(case (Map.empty) of
{ _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) ->
(case (Map.empty) of
{ _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) ->
(case (emptyGam) of
{ _lhsOscopeGam | _lhsOscopeGam `seq` (True) ->
(case (foTy _fo_fitR_) of
{ _ty_r_ | _ty_r_ `seq` (True) ->
(case (_ty_r_) of
{ _ty | _ty `seq` (True) ->
(case (_ty) of
{ _lhsOty | _lhsOty `seq` (True) ->
(case (_lhsItyVarMp) of
{ _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) ->
(case ((let sem_PatExpr_Con_8 :: T_PatExpr_8
sem_PatExpr_Con_8 =
(\ _lhsIcSubst
_lhsIceParentNm
_lhsIchrEvidBindMp
_lhsIchrScopeBindMp
_lhsIfinTyVarMp
_lhsIfinValGam
_lhsImoduleNm
_lhsIrangeMp
_lhsIsysfEnv
_lhsItySigVarMp ->
_lhsIcSubst `seq`
(_lhsIceParentNm `seq`
(_lhsIchrEvidBindMp `seq`
(_lhsIchrScopeBindMp `seq`
(_lhsIfinTyVarMp `seq`
(_lhsIfinValGam `seq`
(_lhsImoduleNm `seq`
(_lhsIrangeMp `seq`
(_lhsIsysfEnv `seq`
(_lhsItySigVarMp `seq`
((case (Seq.empty) of
{ _lhsOallErrSq | _lhsOallErrSq `seq` (True) ->
(case ([]) of
{ _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) ->
(case (nm_) of
{ _appFunNm | _appFunNm `seq` (True) ->
(case (_appFunNm) of
{ _lhsOappFunNm | _lhsOappFunNm `seq` (True) ->
(case (ppCon nm_) of
{ _pp | _pp `seq` (True) ->
(case (_pp) of
{ _lhsOappFunPP | _lhsOappFunPP `seq` (True) ->
(case (_lhsIcSubst) of
{ _lhsOcSubst | _lhsOcSubst `seq` (True) ->
(case (__tup171) of
{ (_,_nmErrs) | _nmErrs `seq` (True) ->
(case (rngLift _range mkNestErr' _pp [Seq.fromList _nmErrs, foErrSq _fo_fitR_]) of
{ _lhsOerrSq | _lhsOerrSq `seq` (True) ->
(case ([]) of
{ _fsRPatL | _fsRPatL `seq` (True) ->
(case (_fsRPatL) of
{ _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) ->
(case (mentrelFilterMpSingleton [_lhsImoduleNm] IdOcc_Val nm_
`mentrelFilterMpUnion`
tyUsedNames _lhsImoduleNm _ty_g_) of
{ _gathMentrelFilterMp | _gathMentrelFilterMp `seq` (True) ->
(case (_gathMentrelFilterMp) of
{ _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) ->
(case (emptyVarMp) of
{ _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) ->
(case (False) of
{ _lhsOisBang | _lhsOisBang `seq` (True) ->
(case (CPatRest_Empty) of
{ _lhsOpatCRest | _lhsOpatCRest `seq` (True) ->
(case (_pp) of
{ _lhsOpp | _lhsOpp `seq` (True) ->
(case (_tvarv1_) of
{ _knPatTy | _knPatTy `seq` (True) ->
(case (_lhsIfinTyVarMp `varUpd` _ty) of
{ _finalTy | _finalTy `seq` (True) ->
(case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTy) of
{ _finalTyExpanded | _finalTyExpanded `seq` (True) ->
(case (_lhsIfinTyVarMp `varUpd` _knPatTy) of
{ _finKnPatTy | _finKnPatTy `seq` (True) ->
(case (tyConNm $ fst $ appUnApp _finKnPatTy) of
{ _tyConNm | _tyConNm `seq` (True) ->
(case (panicJust ("PatExpr.{AppTop,Con}.dgi: " ++ show _tyConNm)
$ dataGamLookup _tyConNm $ _lhsIdataGam) of
{ _dgi | _dgi `seq` (True) ->
(case (panicJust ("PatExpr.{AppTop,Con}.dti: " ++ show _tyConNm ++ "." ++ show _appFunNm)
$ Map.lookup _appFunNm $ dgiConstrTagMp _dgi) of
{ _dti | _dti `seq` (True) ->
(case (dtiCTag _dti) of
{ _tag | _tag `seq` (True) ->
(case ((appDbg "{Expr,PatExpr,Decl,DataFieldExpr}.sysfty not implemented" :: SysfTy)) of
{ _sysfty | _sysfty `seq` (True) ->
(case (mkCTy _lhsIopts _finalTyExpanded _sysfty) of
{ _acorety | _acorety `seq` (True) ->
(case (RPat_Con _cpNm _acorety _tag (RPatConBind_One CPatRest_Empty [])) of
{ _rpat | _rpat `seq` (True) ->
(case (_rpat) of
{ _lhsOrpat | _lhsOrpat `seq` (True) ->
(case ([]) of
{ _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) ->
( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOrpat,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))
in sem_PatExpr_Con_8)) of
{ ( sem_PatExpr_8) | True ->
( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_Con_7)) of
{ ( sem_PatExpr_7) | True ->
( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }))))))))
in sem_PatExpr_Con_6)) of
{ ( sem_PatExpr_6) | True ->
( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))
in sem_PatExpr_Con_5)) of
{ ( sem_PatExpr_5) | True ->
( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) })))))))
in sem_PatExpr_Con_4)) of
{ ( sem_PatExpr_4) | True ->
( _lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }))))))))))
in sem_PatExpr_Con_3)) of
{ ( sem_PatExpr_3) | True ->
( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) })))))
in sem_PatExpr_Con_2)) of
{ ( sem_PatExpr_2) | True ->
( _lhsOgUniq,sem_PatExpr_2) }) }) })))
in sem_PatExpr_Con_1)) of
{ ( sem_PatExpr_1) | True ->
( _lhsOrange,sem_PatExpr_1) }) }) })
sem_PatExpr_Var :: Range ->
HsName ->
T_PatExpr
sem_PatExpr_Var hsrange_ nm_ | hsrange_ `seq` (nm_ `seq` (True)) =
(case (hsrange_) of
{ _range | _range `seq` (True) ->
(case (_range) of
{ _lhsOrange | _lhsOrange `seq` (True) ->
(case ((let sem_PatExpr_Var_1 :: T_PatExpr_1
sem_PatExpr_Var_1 =
(\ _lhsIgUniq ->
_lhsIgUniq `seq`
((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> case nextUnique __cont of { (__cont, lUniq2) -> case nextUnique __cont of { (__cont, lUniq_4_fo) -> (__cont,lUniq,lUniq2,lUniq_4_fo)}}} )) of
{ __tup177 | __tup177 `seq` (True) ->
(case (__tup177) of
{ (_lhsOgUniq,_,_,_) | _lhsOgUniq `seq` (True) ->
(case ((let sem_PatExpr_Var_2 :: T_PatExpr_2
sem_PatExpr_Var_2 =
(\ _lhsIkiGam
_lhsIlexLev
_lhsIpredSameScopeCounter ->
_lhsIkiGam `seq`
(_lhsIlexLev `seq`
(_lhsIpredSameScopeCounter `seq`
((case (_lhsIpredSameScopeCounter) of
{ _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) ->
(case ((let sem_PatExpr_Var_3 :: T_PatExpr_3
sem_PatExpr_Var_3 =
(\ _lhsIkiVarMp
_lhsIopts
_lhsIpolGam
_lhsIpolVarMp
_lhsIpredScope
_lhsItyGam
_lhsItyKiGam
_lhsItyKiGlobFreeTvarS ->
_lhsIkiVarMp `seq`
(_lhsIopts `seq`
(_lhsIpolGam `seq`
(_lhsIpolVarMp `seq`
(_lhsIpredScope `seq`
(_lhsItyGam `seq`
(_lhsItyKiGam `seq`
(_lhsItyKiGlobFreeTvarS `seq`
((case (_lhsIkiVarMp) of
{ _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) ->
(case (_lhsIpolVarMp) of
{ _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) ->
(case (_lhsItyGam) of
{ _lhsOtyGam | _lhsOtyGam `seq` (True) ->
(case (_lhsItyKiGam) of
{ _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) ->
(case ((let sem_PatExpr_Var_4 :: T_PatExpr_4
sem_PatExpr_Var_4 =
(\ _lhsIclGam
_lhsIdataGam
_lhsIfinKiVarMp
_lhsIfinTyKiGam
_lhsItyTyTySigFreeTvarS ->
_lhsIclGam `seq`
(_lhsIdataGam `seq`
(_lhsIfinKiVarMp `seq`
(_lhsIfinTyKiGam `seq`
(_lhsItyTyTySigFreeTvarS `seq`
((case (Seq.empty) of
{ _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) ->
(case (__tup177) of
{ (_,_lUniq,_,_) | _lUniq `seq` (True) ->
(case (if hsnIsWild nm_ then uidHNm _lUniq else nm_) of
{ _topNm | _topNm `seq` (True) ->
(case (_topNm) of
{ _lhsOtopNm | _lhsOtopNm `seq` (True) ->
(case ((let sem_PatExpr_Var_5 :: T_PatExpr_5
sem_PatExpr_Var_5 =
(\ _lhsIvalGam ->
_lhsIvalGam `seq`
((case (0) of
{ _lhsOarity | _lhsOarity `seq` (True) ->
(case (if hsnIsWild nm_ then Nothing else Just nm_) of
{ _mbTopNm | _mbTopNm `seq` (True) ->
(case (_mbTopNm) of
{ _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) ->
(case (Ty_Any) of
{ _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) ->
(case ((let sem_PatExpr_Var_6 :: T_PatExpr_6
sem_PatExpr_Var_6 =
(\ _lhsIfiOpts
_lhsIinclVarBind
_lhsIknTy
_lhsIknTyL
_lhsIpatTyVarMp
_lhsItySigGam ->
_lhsIfiOpts `seq`
(_lhsIinclVarBind `seq`
(_lhsIknTy `seq`
(_lhsIknTyL `seq`
(_lhsIpatTyVarMp `seq`
(_lhsItySigGam `seq`
((case (__tup177) of
{ (_,_,_,_lUniq_4_fo) | _lUniq_4_fo `seq` (True) ->
(case (__tup177) of
{ (_,_,_lUniq2,_) | _lUniq2 `seq` (True) ->
(case (tyAsVarMp' tyEnsureNonAnyImpl _lUniq _lhsIknTy) of
{ __tup176 | __tup176 `seq` (True) ->
(case (__tup176) of
{ (_ty_kn_ensured,_) | _ty_kn_ensured `seq` (True) ->
(case (_ty_kn_ensured) of
{ _ty_kn_ | _ty_kn_ `seq` (True) ->
(case (__tup176) of
{ (_,_patTyVarMpKnTyEns) | _patTyVarMpKnTyEns `seq` (True) ->
(case (_patTyVarMpKnTyEns `varUpd` _lhsIpatTyVarMp) of
{ _patTyVarMpKnTy1 | _patTyVarMpKnTy1 `seq` (True) ->
(case (valGamLookupTy nm_ _lhsItySigGam) of
{ __tup174 | __tup174 `seq` (True) ->
(case (__tup174) of
{ (_ty_g_,_) | _ty_g_ `seq` (True) ->
(case (defaultFIEnv
{ feEHCOpts = _lhsIopts
, fePredScope = _lhsIpredScope
, feTyGam = _lhsItyGam
, fePolGam = _lhsIpolGam
, feRange = _range
}) of
{ _fe | _fe `seq` (True) ->
(case (fitsIn _lhsIfiOpts _fe _lUniq_4_fo _patTyVarMpKnTy1 _ty_kn_ _ty_g_) of
{ _fo_ | _fo_ `seq` (True) ->
(case (tyAsVarMp' tyInst1Exists _lUniq2 (foTy _fo_)) of
{ __tup175 | __tup175 `seq` (True) ->
(case (__tup175) of
{ (_,_patTyVarMpKnEx) | _patTyVarMpKnEx `seq` (True) ->
(case (__tup175) of
{ (_ty,_) | _ty `seq` (True) ->
(case (tyRestrictKiVarMp [_ty] `varUpd` _patTyVarMpKnEx `varUpd` foVarMp _fo_ `varUpd` _lhsIpatTyVarMp) of
{ _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) ->
(case (_ty) of
{ _varTy | _varTy `seq` (True) ->
(case (if _lhsIinclVarBind && not (hsnIsWild nm_)
then \g -> gamAdd nm_
(ValGamInfo _varTy) g
else id) of
{ _addToGam | _addToGam `seq` (True) ->
(case (_addToGam _lhsIvalGam) of
{ _lhsOvalGam | _lhsOvalGam `seq` (True) ->
(case ((let sem_PatExpr_Var_7 :: T_PatExpr_7
sem_PatExpr_Var_7 =
(\ _lhsIchrStore
_lhsIclDfGam
_lhsItvKiVarMp
_lhsItyTyGlobFreeTvarS
_lhsItyVarMp
_lhsIvalTyGlobFreeTvarS ->
_lhsIchrStore `seq`
(_lhsIclDfGam `seq`
(_lhsItvKiVarMp `seq`
(_lhsItyTyGlobFreeTvarS `seq`
(_lhsItyVarMp `seq`
(_lhsIvalTyGlobFreeTvarS `seq`
((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of
{ _cpNm | _cpNm `seq` (True) ->
(case (_cpNm) of
{ _lhsOcpNm | _lhsOcpNm `seq` (True) ->
(case (Map.empty) of
{ _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) ->
(case (Map.empty) of
{ _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) ->
(case (gamSingleton nm_ _lhsIpredScope) of
{ _lhsOscopeGam | _lhsOscopeGam `seq` (True) ->
(case (_ty) of
{ _lhsOty | _lhsOty `seq` (True) ->
(case (_lhsItyVarMp) of
{ _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) ->
(case ((let sem_PatExpr_Var_8 :: T_PatExpr_8
sem_PatExpr_Var_8 =
(\ _lhsIcSubst
_lhsIceParentNm
_lhsIchrEvidBindMp
_lhsIchrScopeBindMp
_lhsIfinTyVarMp
_lhsIfinValGam
_lhsImoduleNm
_lhsIrangeMp
_lhsIsysfEnv
_lhsItySigVarMp ->
_lhsIcSubst `seq`
(_lhsIceParentNm `seq`
(_lhsIchrEvidBindMp `seq`
(_lhsIchrScopeBindMp `seq`
(_lhsIfinTyVarMp `seq`
(_lhsIfinValGam `seq`
(_lhsImoduleNm `seq`
(_lhsIrangeMp `seq`
(_lhsIsysfEnv `seq`
(_lhsItySigVarMp `seq`
((case (Seq.empty) of
{ _lhsOallErrSq | _lhsOallErrSq `seq` (True) ->
(case ([]) of
{ _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) ->
(case (hsnUnknown) of
{ _lhsOappFunNm | _lhsOappFunNm `seq` (True) ->
(case (pp nm_) of
{ _pp | _pp `seq` (True) ->
(case (_pp) of
{ _lhsOappFunPP | _lhsOappFunPP `seq` (True) ->
(case (_lhsIcSubst) of
{ _lhsOcSubst | _lhsOcSubst `seq` (True) ->
(case (Seq.empty) of
{ _lhsOerrSq | _lhsOerrSq `seq` (True) ->
(case ([]) of
{ _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) ->
(case (Map.empty) of
{ _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) ->
(case (emptyVarMp) of
{ _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) ->
(case (False) of
{ _lhsOisBang | _lhsOisBang `seq` (True) ->
(case (CPatRest_Var nm_) of
{ _lhsOpatCRest | _lhsOpatCRest `seq` (True) ->
(case (_pp) of
{ _lhsOpp | _lhsOpp `seq` (True) ->
(case (_lhsIfinTyVarMp `varUpd` _ty) of
{ _finalTy | _finalTy `seq` (True) ->
(case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTy) of
{ _finalTyExpanded | _finalTyExpanded `seq` (True) ->
(case ((appDbg "{Expr,PatExpr,Decl,DataFieldExpr}.sysfty not implemented" :: SysfTy)) of
{ _sysfty | _sysfty `seq` (True) ->
(case (mkCTy _lhsIopts _finalTyExpanded _sysfty) of
{ _acorety | _acorety `seq` (True) ->
(case (RPat_Var _cpNm _acorety False) of
{ _rpat | _rpat `seq` (True) ->
(case (_rpat) of
{ _lhsOrpat | _lhsOrpat `seq` (True) ->
(case ([]) of
{ _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) ->
( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOrpat,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))
in sem_PatExpr_Var_8)) of
{ ( sem_PatExpr_8) | True ->
( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_Var_7)) of
{ ( sem_PatExpr_7) | True ->
( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_Var_6)) of
{ ( sem_PatExpr_6) | True ->
( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) })))
in sem_PatExpr_Var_5)) of
{ ( sem_PatExpr_5) | True ->
( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) })))))))
in sem_PatExpr_Var_4)) of
{ ( sem_PatExpr_4) | True ->
( _lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }))))))))))
in sem_PatExpr_Var_3)) of
{ ( sem_PatExpr_3) | True ->
( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) })))))
in sem_PatExpr_Var_2)) of
{ ( sem_PatExpr_2) | True ->
( _lhsOgUniq,sem_PatExpr_2) }) }) })))
in sem_PatExpr_Var_1)) of
{ ( sem_PatExpr_1) | True ->
( _lhsOrange,sem_PatExpr_1) }) }) })
sem_PatExpr_VarAs :: Range ->
HsName ->
T_PatExpr ->
T_PatExpr
sem_PatExpr_VarAs hsrange_ nm_ patExpr_ | hsrange_ `seq` (nm_ `seq` (patExpr_ `seq` (True))) =
(case (patExpr_) of
{ ( _patExprIrange,patExpr_1) | True ->
(case (rangeUnions [hsrange_, _patExprIrange, _patExprIrange
]) of
{ _range | _range `seq` (True) ->
(case (_range) of
{ _lhsOrange | _lhsOrange `seq` (True) ->
(case ((let sem_PatExpr_VarAs_1 :: T_PatExpr_1
sem_PatExpr_VarAs_1 =
(\ _lhsIgUniq ->
_lhsIgUniq `seq`
((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> case nextUnique __cont of { (__cont, lUniq2) -> case nextUnique __cont of { (__cont, lUniq_4_fo) -> (__cont,lUniq,lUniq2,lUniq_4_fo)}}} )) of
{ __tup180 | __tup180 `seq` (True) ->
(case (__tup180) of
{ (_patExprOgUniq,_,_,_) | _patExprOgUniq `seq` (True) ->
(case (patExpr_1 _patExprOgUniq) of
{ ( _patExprIgUniq,patExpr_2) | True ->
(case (_patExprIgUniq) of
{ _lhsOgUniq | _lhsOgUniq `seq` (True) ->
(case ((let sem_PatExpr_VarAs_2 :: T_PatExpr_2
sem_PatExpr_VarAs_2 =
(\ _lhsIkiGam
_lhsIlexLev
_lhsIpredSameScopeCounter ->
_lhsIkiGam `seq`
(_lhsIlexLev `seq`
(_lhsIpredSameScopeCounter `seq`
((case (_lhsIpredSameScopeCounter) of
{ _patExprOpredSameScopeCounter | _patExprOpredSameScopeCounter `seq` (True) ->
(case (_lhsIlexLev) of
{ _patExprOlexLev | _patExprOlexLev `seq` (True) ->
(case (_lhsIkiGam) of
{ _patExprOkiGam | _patExprOkiGam `seq` (True) ->
(case (patExpr_2 _patExprOkiGam _patExprOlexLev _patExprOpredSameScopeCounter) of
{ ( _patExprIpredSameScopeCounter,patExpr_3) | True ->
(case (_patExprIpredSameScopeCounter) of
{ _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) ->
(case ((let sem_PatExpr_VarAs_3 :: T_PatExpr_3
sem_PatExpr_VarAs_3 =
(\ _lhsIkiVarMp
_lhsIopts
_lhsIpolGam
_lhsIpolVarMp
_lhsIpredScope
_lhsItyGam
_lhsItyKiGam
_lhsItyKiGlobFreeTvarS ->
_lhsIkiVarMp `seq`
(_lhsIopts `seq`
(_lhsIpolGam `seq`
(_lhsIpolVarMp `seq`
(_lhsIpredScope `seq`
(_lhsItyGam `seq`
(_lhsItyKiGam `seq`
(_lhsItyKiGlobFreeTvarS `seq`
((case (_lhsItyKiGlobFreeTvarS) of
{ _patExprOtyKiGlobFreeTvarS | _patExprOtyKiGlobFreeTvarS `seq` (True) ->
(case (_lhsItyKiGam) of
{ _patExprOtyKiGam | _patExprOtyKiGam `seq` (True) ->
(case (_lhsItyGam) of
{ _patExprOtyGam | _patExprOtyGam `seq` (True) ->
(case (_lhsIpredScope) of
{ _patExprOpredScope | _patExprOpredScope `seq` (True) ->
(case (_lhsIpolVarMp) of
{ _patExprOpolVarMp | _patExprOpolVarMp `seq` (True) ->
(case (_lhsIpolGam) of
{ _patExprOpolGam | _patExprOpolGam `seq` (True) ->
(case (_lhsIopts) of
{ _patExprOopts | _patExprOopts `seq` (True) ->
(case (_lhsIkiVarMp) of
{ _patExprOkiVarMp | _patExprOkiVarMp `seq` (True) ->
(case (patExpr_3 _patExprOkiVarMp _patExprOopts _patExprOpolGam _patExprOpolVarMp _patExprOpredScope _patExprOtyGam _patExprOtyKiGam _patExprOtyKiGlobFreeTvarS) of
{ ( _patExprIkiVarMp,_patExprIpolVarMp,_patExprItyGam,_patExprItyKiGam,patExpr_4) | True ->
(case (_patExprIkiVarMp) of
{ _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) ->
(case (_patExprIpolVarMp) of
{ _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) ->
(case (_patExprItyGam) of
{ _lhsOtyGam | _lhsOtyGam `seq` (True) ->
(case (_patExprItyKiGam) of
{ _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) ->
(case ((let sem_PatExpr_VarAs_4 :: T_PatExpr_4
sem_PatExpr_VarAs_4 =
(\ _lhsIclGam
_lhsIdataGam
_lhsIfinKiVarMp
_lhsIfinTyKiGam
_lhsItyTyTySigFreeTvarS ->
_lhsIclGam `seq`
(_lhsIdataGam `seq`
(_lhsIfinKiVarMp `seq`
(_lhsIfinTyKiGam `seq`
(_lhsItyTyTySigFreeTvarS `seq`
((case (_lhsItyTyTySigFreeTvarS) of
{ _patExprOtyTyTySigFreeTvarS | _patExprOtyTyTySigFreeTvarS `seq` (True) ->
(case (_lhsIfinTyKiGam) of
{ _patExprOfinTyKiGam | _patExprOfinTyKiGam `seq` (True) ->
(case (_lhsIfinKiVarMp) of
{ _patExprOfinKiVarMp | _patExprOfinKiVarMp `seq` (True) ->
(case (_lhsIdataGam) of
{ _patExprOdataGam | _patExprOdataGam `seq` (True) ->
(case (_lhsIclGam) of
{ _patExprOclGam | _patExprOclGam `seq` (True) ->
(case (patExpr_4 _patExprOclGam _patExprOdataGam _patExprOfinKiVarMp _patExprOfinTyKiGam _patExprOtyTyTySigFreeTvarS) of
{ ( _patExprIchrInstDeclSq,_patExprItopNm,patExpr_5) | True ->
(case (_patExprIchrInstDeclSq) of
{ _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) ->
(case (__tup180) of
{ (_,_lUniq,_,_) | _lUniq `seq` (True) ->
(case (if hsnIsWild nm_ then uidHNm _lUniq else nm_) of
{ _topNm | _topNm `seq` (True) ->
(case (_topNm) of
{ _lhsOtopNm | _lhsOtopNm `seq` (True) ->
(case ((let sem_PatExpr_VarAs_5 :: T_PatExpr_5
sem_PatExpr_VarAs_5 =
(\ _lhsIvalGam ->
_lhsIvalGam `seq`
((case (_lhsIvalGam) of
{ _patExprOvalGam | _patExprOvalGam `seq` (True) ->
(case (patExpr_5 _patExprOvalGam) of
{ ( _patExprIarity,_patExprImbTopNm,_patExprIpatFunTy,patExpr_6) | True ->
(case (_patExprIarity) of
{ _lhsOarity | _lhsOarity `seq` (True) ->
(case (if hsnIsWild nm_ then Nothing else Just nm_) of
{ _mbTopNm | _mbTopNm `seq` (True) ->
(case (_mbTopNm) of
{ _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) ->
(case (_patExprIpatFunTy) of
{ _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) ->
(case ((let sem_PatExpr_VarAs_6 :: T_PatExpr_6
sem_PatExpr_VarAs_6 =
(\ _lhsIfiOpts
_lhsIinclVarBind
_lhsIknTy
_lhsIknTyL
_lhsIpatTyVarMp
_lhsItySigGam ->
_lhsIfiOpts `seq`
(_lhsIinclVarBind `seq`
(_lhsIknTy `seq`
(_lhsIknTyL `seq`
(_lhsIpatTyVarMp `seq`
(_lhsItySigGam `seq`
((case (_lhsItySigGam) of
{ _patExprOtySigGam | _patExprOtySigGam `seq` (True) ->
(case (_lhsIknTyL) of
{ _patExprOknTyL | _patExprOknTyL `seq` (True) ->
(case (_lhsIinclVarBind) of
{ _patExprOinclVarBind | _patExprOinclVarBind `seq` (True) ->
(case (_lhsIfiOpts) of
{ _patExprOfiOpts | _patExprOfiOpts `seq` (True) ->
(case (__tup180) of
{ (_,_,_,_lUniq_4_fo) | _lUniq_4_fo `seq` (True) ->
(case (__tup180) of
{ (_,_,_lUniq2,_) | _lUniq2 `seq` (True) ->
(case (_lhsIpatTyVarMp) of
{ _patTyVarMpKnTy1 | _patTyVarMpKnTy1 `seq` (True) ->
(case (tyEnsureNonAny _lUniq _lhsIknTy) of
{ _ty_kn_ | _ty_kn_ `seq` (True) ->
(case (valGamLookupTy nm_ _lhsItySigGam) of
{ __tup178 | __tup178 `seq` (True) ->
(case (__tup178) of
{ (_ty_g_,_) | _ty_g_ `seq` (True) ->
(case (defaultFIEnv
{ feEHCOpts = _lhsIopts
, fePredScope = _lhsIpredScope
, feTyGam = _lhsItyGam
, fePolGam = _lhsIpolGam
, feRange = _range
}) of
{ _fe | _fe `seq` (True) ->
(case (fitsIn _lhsIfiOpts _fe _lUniq_4_fo _patTyVarMpKnTy1 _ty_kn_ _ty_g_) of
{ _fo_ | _fo_ `seq` (True) ->
(case (tyAsVarMp' tyInst1Exists _lUniq2 (foTy _fo_)) of
{ __tup179 | __tup179 `seq` (True) ->
(case (__tup179) of
{ (_,_patTyVarMpKnEx) | _patTyVarMpKnEx `seq` (True) ->
(case (__tup179) of
{ (_ty,_) | _ty `seq` (True) ->
(case (tyRestrictKiVarMp [_ty] `varUpd` _patTyVarMpKnEx `varUpd` foVarMp _fo_ `varUpd` _lhsIpatTyVarMp) of
{ _patExprOpatTyVarMp | _patExprOpatTyVarMp `seq` (True) ->
(case (_ty) of
{ _patExprOknTy | _patExprOknTy `seq` (True) ->
(case (patExpr_6 _patExprOfiOpts _patExprOinclVarBind _patExprOknTy _patExprOknTyL _patExprOpatTyVarMp _patExprOtySigGam) of
{ ( _patExprIpatTyVarMp,_patExprIvalGam,patExpr_7) | True ->
(case (_patExprIpatTyVarMp) of
{ _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) ->
(case (_ty) of
{ _varTy | _varTy `seq` (True) ->
(case (if _lhsIinclVarBind && not (hsnIsWild nm_)
then \g -> gamAdd nm_
(ValGamInfo _varTy) g
else id) of
{ _addToGam | _addToGam `seq` (True) ->
(case (_addToGam _patExprIvalGam) of
{ _lhsOvalGam | _lhsOvalGam `seq` (True) ->
(case ((let sem_PatExpr_VarAs_7 :: T_PatExpr_7
sem_PatExpr_VarAs_7 =
(\ _lhsIchrStore
_lhsIclDfGam
_lhsItvKiVarMp
_lhsItyTyGlobFreeTvarS
_lhsItyVarMp
_lhsIvalTyGlobFreeTvarS ->
_lhsIchrStore `seq`
(_lhsIclDfGam `seq`
(_lhsItvKiVarMp `seq`
(_lhsItyTyGlobFreeTvarS `seq`
(_lhsItyVarMp `seq`
(_lhsIvalTyGlobFreeTvarS `seq`
((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of
{ _cpNm | _cpNm `seq` (True) ->
(case (_cpNm) of
{ _lhsOcpNm | _lhsOcpNm `seq` (True) ->
(case (_lhsIvalTyGlobFreeTvarS) of
{ _patExprOvalTyGlobFreeTvarS | _patExprOvalTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItyVarMp) of
{ _patExprOtyVarMp | _patExprOtyVarMp `seq` (True) ->
(case (_lhsItyTyGlobFreeTvarS) of
{ _patExprOtyTyGlobFreeTvarS | _patExprOtyTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItvKiVarMp) of
{ _patExprOtvKiVarMp | _patExprOtvKiVarMp `seq` (True) ->
(case (_lhsIclDfGam) of
{ _patExprOclDfGam | _patExprOclDfGam `seq` (True) ->
(case (_lhsIchrStore) of
{ _patExprOchrStore | _patExprOchrStore `seq` (True) ->
(case (patExpr_7 _patExprOchrStore _patExprOclDfGam _patExprOtvKiVarMp _patExprOtyTyGlobFreeTvarS _patExprOtyVarMp _patExprOvalTyGlobFreeTvarS) of
{ ( _patExprIcpNm,_patExprIgathCnstrMp,_patExprIgathRangeMp,_patExprIscopeGam,_patExprIty,_patExprItyVarMp,patExpr_8) | True ->
(case (_patExprIgathCnstrMp) of
{ _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) ->
(case (_patExprIgathRangeMp) of
{ _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) ->
(case (_patExprIscopeGam) of
{ _lhsOscopeGam | _lhsOscopeGam `seq` (True) ->
(case (_ty) of
{ _lhsOty | _lhsOty `seq` (True) ->
(case (_patExprItyVarMp) of
{ _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) ->
(case ((let sem_PatExpr_VarAs_8 :: T_PatExpr_8
sem_PatExpr_VarAs_8 =
(\ _lhsIcSubst
_lhsIceParentNm
_lhsIchrEvidBindMp
_lhsIchrScopeBindMp
_lhsIfinTyVarMp
_lhsIfinValGam
_lhsImoduleNm
_lhsIrangeMp
_lhsIsysfEnv
_lhsItySigVarMp ->
_lhsIcSubst `seq`
(_lhsIceParentNm `seq`
(_lhsIchrEvidBindMp `seq`
(_lhsIchrScopeBindMp `seq`
(_lhsIfinTyVarMp `seq`
(_lhsIfinValGam `seq`
(_lhsImoduleNm `seq`
(_lhsIrangeMp `seq`
(_lhsIsysfEnv `seq`
(_lhsItySigVarMp `seq`
((case (_lhsIsysfEnv) of
{ _patExprOsysfEnv | _patExprOsysfEnv `seq` (True) ->
(case (_lhsIrangeMp) of
{ _patExprOrangeMp | _patExprOrangeMp `seq` (True) ->
(case (_lhsIfinValGam) of
{ _patExprOfinValGam | _patExprOfinValGam `seq` (True) ->
(case (_lhsIfinTyVarMp) of
{ _patExprOfinTyVarMp | _patExprOfinTyVarMp `seq` (True) ->
(case (_lhsItySigVarMp) of
{ _patExprOtySigVarMp | _patExprOtySigVarMp `seq` (True) ->
(case (_lhsImoduleNm) of
{ _patExprOmoduleNm | _patExprOmoduleNm `seq` (True) ->
(case (_lhsIchrScopeBindMp) of
{ _patExprOchrScopeBindMp | _patExprOchrScopeBindMp `seq` (True) ->
(case (_lhsIchrEvidBindMp) of
{ _patExprOchrEvidBindMp | _patExprOchrEvidBindMp `seq` (True) ->
(case (_lhsIceParentNm) of
{ _patExprOceParentNm | _patExprOceParentNm `seq` (True) ->
(case (_lhsIcSubst) of
{ _patExprOcSubst | _patExprOcSubst `seq` (True) ->
(case (patExpr_8 _patExprOcSubst _patExprOceParentNm _patExprOchrEvidBindMp _patExprOchrScopeBindMp _patExprOfinTyVarMp _patExprOfinValGam _patExprOmoduleNm _patExprOrangeMp _patExprOsysfEnv _patExprOtySigVarMp) of
{ ( _patExprIallErrSq,_patExprIappArgPPL,_patExprIappFunNm,_patExprIappFunPP,_patExprIcSubst,_patExprIerrSq,_patExprIfsRPatL,_patExprIgathMentrelFilterMp,_patExprIgathTvKiVarMp,_patExprIisBang,_patExprIpatCRest,_patExprIpp,_patExprIrpat,_patExprIvalCBindL) | True ->
(case (_patExprIallErrSq) of
{ _lhsOallErrSq | _lhsOallErrSq `seq` (True) ->
(case ([]) of
{ _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) ->
(case (hsnUnknown) of
{ _lhsOappFunNm | _lhsOappFunNm `seq` (True) ->
(case (pp nm_ >|< "@" >|< _patExprIpp) of
{ _pp | _pp `seq` (True) ->
(case (_pp) of
{ _lhsOappFunPP | _lhsOappFunPP `seq` (True) ->
(case (_patExprIcSubst) of
{ _lhsOcSubst | _lhsOcSubst `seq` (True) ->
(case (_patExprIerrSq) of
{ _lhsOerrSq | _lhsOerrSq `seq` (True) ->
(case ([]) of
{ _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) ->
(case (_patExprIgathMentrelFilterMp) of
{ _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) ->
(case (_patExprIgathTvKiVarMp) of
{ _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) ->
(case (False) of
{ _lhsOisBang | _lhsOisBang `seq` (True) ->
(case (CPatRest_Empty) of
{ _lhsOpatCRest | _lhsOpatCRest `seq` (True) ->
(case (_pp) of
{ _lhsOpp | _lhsOpp `seq` (True) ->
(case (_patExprIrpat {rcpPNm = _cpNm}) of
{ _rpat | _rpat `seq` (True) ->
(case (_rpat) of
{ _lhsOrpat | _lhsOrpat `seq` (True) ->
(case (_patExprIvalCBindL) of
{ _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) ->
( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOrpat,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))
in sem_PatExpr_VarAs_8)) of
{ ( sem_PatExpr_8) | True ->
( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_VarAs_7)) of
{ ( sem_PatExpr_7) | True ->
( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_VarAs_6)) of
{ ( sem_PatExpr_6) | True ->
( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }) }) })))
in sem_PatExpr_VarAs_5)) of
{ ( sem_PatExpr_5) | True ->
( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) }) }) })))))))
in sem_PatExpr_VarAs_4)) of
{ ( sem_PatExpr_4) | True ->
( _lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))
in sem_PatExpr_VarAs_3)) of
{ ( sem_PatExpr_3) | True ->
( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) })))))
in sem_PatExpr_VarAs_2)) of
{ ( sem_PatExpr_2) | True ->
( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) })))
in sem_PatExpr_VarAs_1)) of
{ ( sem_PatExpr_1) | True ->
( _lhsOrange,sem_PatExpr_1) }) }) }) })
sem_PatExpr_App :: Range ->
T_PatExpr ->
T_PatExpr ->
T_PatExpr
sem_PatExpr_App hsrange_ func_ arg_ | hsrange_ `seq` (func_ `seq` (arg_ `seq` (True))) =
(case (arg_) of
{ ( _argIrange,arg_1) | True ->
(case (func_) of
{ ( _funcIrange,func_1) | True ->
(case (rangeUnions [hsrange_, _funcIrange , _argIrange ]) of
{ _range | _range `seq` (True) ->
(case (_range) of
{ _lhsOrange | _lhsOrange `seq` (True) ->
(case ((let sem_PatExpr_App_1 :: T_PatExpr_1
sem_PatExpr_App_1 =
(\ _lhsIgUniq ->
_lhsIgUniq `seq`
((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of
{ __tup183 | __tup183 `seq` (True) ->
(case (__tup183) of
{ (_funcOgUniq,_) | _funcOgUniq `seq` (True) ->
(case (func_1 _funcOgUniq) of
{ ( _funcIgUniq,func_2) | True ->
(case (_funcIgUniq) of
{ _argOgUniq | _argOgUniq `seq` (True) ->
(case (arg_1 _argOgUniq) of
{ ( _argIgUniq,arg_2) | True ->
(case (_argIgUniq) of
{ _lhsOgUniq | _lhsOgUniq `seq` (True) ->
(case ((let sem_PatExpr_App_2 :: T_PatExpr_2
sem_PatExpr_App_2 =
(\ _lhsIkiGam
_lhsIlexLev
_lhsIpredSameScopeCounter ->
_lhsIkiGam `seq`
(_lhsIlexLev `seq`
(_lhsIpredSameScopeCounter `seq`
((case (_lhsIpredSameScopeCounter) of
{ _funcOpredSameScopeCounter | _funcOpredSameScopeCounter `seq` (True) ->
(case (_lhsIlexLev) of
{ _funcOlexLev | _funcOlexLev `seq` (True) ->
(case (_lhsIkiGam) of
{ _funcOkiGam | _funcOkiGam `seq` (True) ->
(case (func_2 _funcOkiGam _funcOlexLev _funcOpredSameScopeCounter) of
{ ( _funcIpredSameScopeCounter,func_3) | True ->
(case (_funcIpredSameScopeCounter) of
{ _argOpredSameScopeCounter | _argOpredSameScopeCounter `seq` (True) ->
(case (_lhsIlexLev) of
{ _argOlexLev | _argOlexLev `seq` (True) ->
(case (_lhsIkiGam) of
{ _argOkiGam | _argOkiGam `seq` (True) ->
(case (arg_2 _argOkiGam _argOlexLev _argOpredSameScopeCounter) of
{ ( _argIpredSameScopeCounter,arg_3) | True ->
(case (_argIpredSameScopeCounter) of
{ _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) ->
(case ((let sem_PatExpr_App_3 :: T_PatExpr_3
sem_PatExpr_App_3 =
(\ _lhsIkiVarMp
_lhsIopts
_lhsIpolGam
_lhsIpolVarMp
_lhsIpredScope
_lhsItyGam
_lhsItyKiGam
_lhsItyKiGlobFreeTvarS ->
_lhsIkiVarMp `seq`
(_lhsIopts `seq`
(_lhsIpolGam `seq`
(_lhsIpolVarMp `seq`
(_lhsIpredScope `seq`
(_lhsItyGam `seq`
(_lhsItyKiGam `seq`
(_lhsItyKiGlobFreeTvarS `seq`
((case (_lhsItyKiGlobFreeTvarS) of
{ _argOtyKiGlobFreeTvarS | _argOtyKiGlobFreeTvarS `seq` (True) ->
(case (_lhsItyKiGlobFreeTvarS) of
{ _funcOtyKiGlobFreeTvarS | _funcOtyKiGlobFreeTvarS `seq` (True) ->
(case (_lhsItyKiGam) of
{ _funcOtyKiGam | _funcOtyKiGam `seq` (True) ->
(case (_lhsItyGam) of
{ _funcOtyGam | _funcOtyGam `seq` (True) ->
(case (_lhsIpredScope) of
{ _funcOpredScope | _funcOpredScope `seq` (True) ->
(case (_lhsIpolVarMp) of
{ _funcOpolVarMp | _funcOpolVarMp `seq` (True) ->
(case (_lhsIpolGam) of
{ _funcOpolGam | _funcOpolGam `seq` (True) ->
(case (_lhsIopts) of
{ _funcOopts | _funcOopts `seq` (True) ->
(case (_lhsIkiVarMp) of
{ _funcOkiVarMp | _funcOkiVarMp `seq` (True) ->
(case (func_3 _funcOkiVarMp _funcOopts _funcOpolGam _funcOpolVarMp _funcOpredScope _funcOtyGam _funcOtyKiGam _funcOtyKiGlobFreeTvarS) of
{ ( _funcIkiVarMp,_funcIpolVarMp,_funcItyGam,_funcItyKiGam,func_4) | True ->
(case (_funcItyKiGam) of
{ _argOtyKiGam | _argOtyKiGam `seq` (True) ->
(case (_funcItyGam) of
{ _argOtyGam | _argOtyGam `seq` (True) ->
(case (_lhsIpredScope) of
{ _argOpredScope | _argOpredScope `seq` (True) ->
(case (_funcIpolVarMp) of
{ _argOpolVarMp | _argOpolVarMp `seq` (True) ->
(case (_lhsIpolGam) of
{ _argOpolGam | _argOpolGam `seq` (True) ->
(case (_lhsIopts) of
{ _argOopts | _argOopts `seq` (True) ->
(case (_funcIkiVarMp) of
{ _argOkiVarMp | _argOkiVarMp `seq` (True) ->
(case (arg_3 _argOkiVarMp _argOopts _argOpolGam _argOpolVarMp _argOpredScope _argOtyGam _argOtyKiGam _argOtyKiGlobFreeTvarS) of
{ ( _argIkiVarMp,_argIpolVarMp,_argItyGam,_argItyKiGam,arg_4) | True ->
(case (_argIkiVarMp) of
{ _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) ->
(case (_argIpolVarMp) of
{ _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) ->
(case (_argItyGam) of
{ _lhsOtyGam | _lhsOtyGam `seq` (True) ->
(case (_argItyKiGam) of
{ _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) ->
(case ((let sem_PatExpr_App_4 :: T_PatExpr_4
sem_PatExpr_App_4 =
(\ _lhsIclGam
_lhsIdataGam
_lhsIfinKiVarMp
_lhsIfinTyKiGam
_lhsItyTyTySigFreeTvarS ->
_lhsIclGam `seq`
(_lhsIdataGam `seq`
(_lhsIfinKiVarMp `seq`
(_lhsIfinTyKiGam `seq`
(_lhsItyTyTySigFreeTvarS `seq`
((case (_lhsItyTyTySigFreeTvarS) of
{ _argOtyTyTySigFreeTvarS | _argOtyTyTySigFreeTvarS `seq` (True) ->
(case (_lhsIfinTyKiGam) of
{ _argOfinTyKiGam | _argOfinTyKiGam `seq` (True) ->
(case (_lhsIfinKiVarMp) of
{ _argOfinKiVarMp | _argOfinKiVarMp `seq` (True) ->
(case (_lhsIdataGam) of
{ _argOdataGam | _argOdataGam `seq` (True) ->
(case (_lhsIclGam) of
{ _argOclGam | _argOclGam `seq` (True) ->
(case (_lhsItyTyTySigFreeTvarS) of
{ _funcOtyTyTySigFreeTvarS | _funcOtyTyTySigFreeTvarS `seq` (True) ->
(case (_lhsIfinTyKiGam) of
{ _funcOfinTyKiGam | _funcOfinTyKiGam `seq` (True) ->
(case (_lhsIfinKiVarMp) of
{ _funcOfinKiVarMp | _funcOfinKiVarMp `seq` (True) ->
(case (_lhsIdataGam) of
{ _funcOdataGam | _funcOdataGam `seq` (True) ->
(case (_lhsIclGam) of
{ _funcOclGam | _funcOclGam `seq` (True) ->
(case (arg_4 _argOclGam _argOdataGam _argOfinKiVarMp _argOfinTyKiGam _argOtyTyTySigFreeTvarS) of
{ ( _argIchrInstDeclSq,_argItopNm,arg_5) | True ->
(case (func_4 _funcOclGam _funcOdataGam _funcOfinKiVarMp _funcOfinTyKiGam _funcOtyTyTySigFreeTvarS) of
{ ( _funcIchrInstDeclSq,_funcItopNm,func_5) | True ->
(case (_funcIchrInstDeclSq `Seq.union` _argIchrInstDeclSq) of
{ _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) ->
(case (hsnUnknown) of
{ _lhsOtopNm | _lhsOtopNm `seq` (True) ->
(case ((let sem_PatExpr_App_5 :: T_PatExpr_5
sem_PatExpr_App_5 =
(\ _lhsIvalGam ->
_lhsIvalGam `seq`
((case (_lhsIvalGam) of
{ _funcOvalGam | _funcOvalGam `seq` (True) ->
(case (func_5 _funcOvalGam) of
{ ( _funcIarity,_funcImbTopNm,_funcIpatFunTy,func_6) | True ->
(case (_funcIarity + 1) of
{ _lhsOarity | _lhsOarity `seq` (True) ->
(case (Nothing) of
{ _mbTopNm | _mbTopNm `seq` (True) ->
(case (_mbTopNm) of
{ _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) ->
(case (_funcIpatFunTy) of
{ _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) ->
(case ((let sem_PatExpr_App_6 :: T_PatExpr_6
sem_PatExpr_App_6 =
(\ _lhsIfiOpts
_lhsIinclVarBind
_lhsIknTy
_lhsIknTyL
_lhsIpatTyVarMp
_lhsItySigGam ->
_lhsIfiOpts `seq`
(_lhsIinclVarBind `seq`
(_lhsIknTy `seq`
(_lhsIknTyL `seq`
(_lhsIpatTyVarMp `seq`
(_lhsItySigGam `seq`
((case (_lhsItySigGam) of
{ _funcOtySigGam | _funcOtySigGam `seq` (True) ->
(case (_lhsIpatTyVarMp) of
{ _funcOpatTyVarMp | _funcOpatTyVarMp `seq` (True) ->
(case (hdAndTl _lhsIknTyL) of
{ __tup182 | __tup182 `seq` (True) ->
(case (__tup182) of
{ (_,_knTyL) | _knTyL `seq` (True) ->
(case (_knTyL) of
{ _funcOknTyL | _funcOknTyL `seq` (True) ->
(case (_lhsIinclVarBind) of
{ _funcOinclVarBind | _funcOinclVarBind `seq` (True) ->
(case (_lhsIfiOpts) of
{ _funcOfiOpts | _funcOfiOpts `seq` (True) ->
(case (Ty_Any) of
{ _funcOknTy | _funcOknTy `seq` (True) ->
(case (func_6 _funcOfiOpts _funcOinclVarBind _funcOknTy _funcOknTyL _funcOpatTyVarMp _funcOtySigGam) of
{ ( _funcIpatTyVarMp,_funcIvalGam,func_7) | True ->
(case (_funcIvalGam) of
{ _argOvalGam | _argOvalGam `seq` (True) ->
(case (_lhsItySigGam) of
{ _argOtySigGam | _argOtySigGam `seq` (True) ->
(case (_funcIpatTyVarMp) of
{ _argOpatTyVarMp | _argOpatTyVarMp `seq` (True) ->
(case (_knTyL) of
{ _argOknTyL | _argOknTyL `seq` (True) ->
(case (_lhsIinclVarBind) of
{ _argOinclVarBind | _argOinclVarBind `seq` (True) ->
(case (_lhsIfiOpts) of
{ _argOfiOpts | _argOfiOpts `seq` (True) ->
(case (__tup182) of
{ (_knArgTy,_) | _knArgTy `seq` (True) ->
(case (_knArgTy) of
{ _argOknTy | _argOknTy `seq` (True) ->
(case (arg_5 _argOvalGam) of
{ ( _argIarity,_argImbTopNm,_argIpatFunTy,arg_6) | True ->
(case (arg_6 _argOfiOpts _argOinclVarBind _argOknTy _argOknTyL _argOpatTyVarMp _argOtySigGam) of
{ ( _argIpatTyVarMp,_argIvalGam,arg_7) | True ->
(case (_argIpatTyVarMp) of
{ _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) ->
(case (_argIvalGam) of
{ _lhsOvalGam | _lhsOvalGam `seq` (True) ->
(case ((let sem_PatExpr_App_7 :: T_PatExpr_7
sem_PatExpr_App_7 =
(\ _lhsIchrStore
_lhsIclDfGam
_lhsItvKiVarMp
_lhsItyTyGlobFreeTvarS
_lhsItyVarMp
_lhsIvalTyGlobFreeTvarS ->
_lhsIchrStore `seq`
(_lhsIclDfGam `seq`
(_lhsItvKiVarMp `seq`
(_lhsItyTyGlobFreeTvarS `seq`
(_lhsItyVarMp `seq`
(_lhsIvalTyGlobFreeTvarS `seq`
((case (_lhsIvalTyGlobFreeTvarS) of
{ _argOvalTyGlobFreeTvarS | _argOvalTyGlobFreeTvarS `seq` (True) ->
(case (_lhsIvalTyGlobFreeTvarS) of
{ _funcOvalTyGlobFreeTvarS | _funcOvalTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItyVarMp) of
{ _funcOtyVarMp | _funcOtyVarMp `seq` (True) ->
(case (_lhsItyTyGlobFreeTvarS) of
{ _funcOtyTyGlobFreeTvarS | _funcOtyTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItvKiVarMp) of
{ _funcOtvKiVarMp | _funcOtvKiVarMp `seq` (True) ->
(case (_lhsIclDfGam) of
{ _funcOclDfGam | _funcOclDfGam `seq` (True) ->
(case (_lhsIchrStore) of
{ _funcOchrStore | _funcOchrStore `seq` (True) ->
(case (func_7 _funcOchrStore _funcOclDfGam _funcOtvKiVarMp _funcOtyTyGlobFreeTvarS _funcOtyVarMp _funcOvalTyGlobFreeTvarS) of
{ ( _funcIcpNm,_funcIgathCnstrMp,_funcIgathRangeMp,_funcIscopeGam,_funcIty,_funcItyVarMp,func_8) | True ->
(case (_funcItyVarMp) of
{ _argOtyVarMp | _argOtyVarMp `seq` (True) ->
(case (_lhsItyTyGlobFreeTvarS) of
{ _argOtyTyGlobFreeTvarS | _argOtyTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItvKiVarMp) of
{ _argOtvKiVarMp | _argOtvKiVarMp `seq` (True) ->
(case (_lhsIclDfGam) of
{ _argOclDfGam | _argOclDfGam `seq` (True) ->
(case (_lhsIchrStore) of
{ _argOchrStore | _argOchrStore `seq` (True) ->
(case (arg_7 _argOchrStore _argOclDfGam _argOtvKiVarMp _argOtyTyGlobFreeTvarS _argOtyVarMp _argOvalTyGlobFreeTvarS) of
{ ( _argIcpNm,_argIgathCnstrMp,_argIgathRangeMp,_argIscopeGam,_argIty,_argItyVarMp,arg_8) | True ->
(case (_argIcpNm) of
{ _cpNm | _cpNm `seq` (True) ->
(case (_cpNm) of
{ _lhsOcpNm | _lhsOcpNm `seq` (True) ->
(case (_funcIgathCnstrMp `cnstrMpUnion` _argIgathCnstrMp) of
{ _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) ->
(case (_funcIgathRangeMp `Map.union` _argIgathRangeMp) of
{ _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) ->
(case (_funcIscopeGam `gamUnion` _argIscopeGam) of
{ _lhsOscopeGam | _lhsOscopeGam `seq` (True) ->
(case (_argIty) of
{ _lhsOty | _lhsOty `seq` (True) ->
(case (_argItyVarMp) of
{ _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) ->
(case ((let sem_PatExpr_App_8 :: T_PatExpr_8
sem_PatExpr_App_8 =
(\ _lhsIcSubst
_lhsIceParentNm
_lhsIchrEvidBindMp
_lhsIchrScopeBindMp
_lhsIfinTyVarMp
_lhsIfinValGam
_lhsImoduleNm
_lhsIrangeMp
_lhsIsysfEnv
_lhsItySigVarMp ->
_lhsIcSubst `seq`
(_lhsIceParentNm `seq`
(_lhsIchrEvidBindMp `seq`
(_lhsIchrScopeBindMp `seq`
(_lhsIfinTyVarMp `seq`
(_lhsIfinValGam `seq`
(_lhsImoduleNm `seq`
(_lhsIrangeMp `seq`
(_lhsIsysfEnv `seq`
(_lhsItySigVarMp `seq`
((case (_lhsIsysfEnv) of
{ _argOsysfEnv | _argOsysfEnv `seq` (True) ->
(case (_lhsIrangeMp) of
{ _argOrangeMp | _argOrangeMp `seq` (True) ->
(case (_lhsIfinValGam) of
{ _argOfinValGam | _argOfinValGam `seq` (True) ->
(case (_lhsIfinTyVarMp) of
{ _argOfinTyVarMp | _argOfinTyVarMp `seq` (True) ->
(case (_lhsIsysfEnv) of
{ _funcOsysfEnv | _funcOsysfEnv `seq` (True) ->
(case (_lhsIrangeMp) of
{ _funcOrangeMp | _funcOrangeMp `seq` (True) ->
(case (_lhsIfinValGam) of
{ _funcOfinValGam | _funcOfinValGam `seq` (True) ->
(case (_lhsIfinTyVarMp) of
{ _funcOfinTyVarMp | _funcOfinTyVarMp `seq` (True) ->
(case (_lhsItySigVarMp) of
{ _argOtySigVarMp | _argOtySigVarMp `seq` (True) ->
(case (_lhsImoduleNm) of
{ _argOmoduleNm | _argOmoduleNm `seq` (True) ->
(case (_lhsIchrScopeBindMp) of
{ _argOchrScopeBindMp | _argOchrScopeBindMp `seq` (True) ->
(case (_lhsIchrEvidBindMp) of
{ _argOchrEvidBindMp | _argOchrEvidBindMp `seq` (True) ->
(case (_lhsIchrScopeBindMp) of
{ _funcOchrScopeBindMp | _funcOchrScopeBindMp `seq` (True) ->
(case (_lhsIchrEvidBindMp) of
{ _funcOchrEvidBindMp | _funcOchrEvidBindMp `seq` (True) ->
(case (_lhsIcSubst) of
{ _funcOcSubst | _funcOcSubst `seq` (True) ->
(case (_lhsItySigVarMp) of
{ _funcOtySigVarMp | _funcOtySigVarMp `seq` (True) ->
(case (_lhsImoduleNm) of
{ _funcOmoduleNm | _funcOmoduleNm `seq` (True) ->
(case (_lhsIceParentNm) of
{ _funcOceParentNm | _funcOceParentNm `seq` (True) ->
(case (func_8 _funcOcSubst _funcOceParentNm _funcOchrEvidBindMp _funcOchrScopeBindMp _funcOfinTyVarMp _funcOfinValGam _funcOmoduleNm _funcOrangeMp _funcOsysfEnv _funcOtySigVarMp) of
{ ( _funcIallErrSq,_funcIappArgPPL,_funcIappFunNm,_funcIappFunPP,_funcIcSubst,_funcIerrSq,_funcIfsRPatL,_funcIgathMentrelFilterMp,_funcIgathTvKiVarMp,_funcIisBang,_funcIpatCRest,_funcIpp,_funcIrpat,_funcIvalCBindL) | True ->
(case (_funcIcSubst) of
{ _argOcSubst | _argOcSubst `seq` (True) ->
(case (rpatNmNm _argIcpNm) of
{ _argOceParentNm | _argOceParentNm `seq` (True) ->
(case (arg_8 _argOcSubst _argOceParentNm _argOchrEvidBindMp _argOchrScopeBindMp _argOfinTyVarMp _argOfinValGam _argOmoduleNm _argOrangeMp _argOsysfEnv _argOtySigVarMp) of
{ ( _argIallErrSq,_argIappArgPPL,_argIappFunNm,_argIappFunPP,_argIcSubst,_argIerrSq,_argIfsRPatL,_argIgathMentrelFilterMp,_argIgathTvKiVarMp,_argIisBang,_argIpatCRest,_argIpp,_argIrpat,_argIvalCBindL) | True ->
(case (_funcIallErrSq `Seq.union` _argIallErrSq) of
{ _lhsOallErrSq | _lhsOallErrSq `seq` (True) ->
(case (mkExtAppPP (_funcIappFunNm,_funcIappFunPP,_funcIappArgPPL)
(_argIappFunNm,_argIappFunPP,_argIappArgPPL,_argIpp)) of
{ __tup181 | __tup181 `seq` (True) ->
(case (__tup181) of
{ (_,_lhsOappArgPPL) | _lhsOappArgPPL `seq` (True) ->
(case (_funcIappFunNm) of
{ _lhsOappFunNm | _lhsOappFunNm `seq` (True) ->
(case (__tup181) of
{ (_lhsOappFunPP,_) | _lhsOappFunPP `seq` (True) ->
(case (_argIcSubst) of
{ _lhsOcSubst | _lhsOcSubst `seq` (True) ->
(case (_funcIerrSq `Seq.union` _argIerrSq) of
{ _lhsOerrSq | _lhsOerrSq `seq` (True) ->
(case ((FldImplicitOffset,_argIrpat) : _funcIfsRPatL) of
{ _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) ->
(case (_funcIgathMentrelFilterMp `mentrelFilterMpUnion` _argIgathMentrelFilterMp) of
{ _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) ->
(case (_funcIgathTvKiVarMp `varmpUnion` _argIgathTvKiVarMp) of
{ _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) ->
(case (False) of
{ _lhsOisBang | _lhsOisBang `seq` (True) ->
(case (CPatRest_Empty) of
{ _lhsOpatCRest | _lhsOpatCRest `seq` (True) ->
(case (_funcIpp >#< _argIpp) of
{ _pp | _pp `seq` (True) ->
(case (_pp) of
{ _lhsOpp | _lhsOpp `seq` (True) ->
(case (_argIrpat) of
{ _lhsOrpat | _lhsOrpat `seq` (True) ->
(case (_funcIvalCBindL ++ _argIvalCBindL) of
{ _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) ->
( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOrpat,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))
in sem_PatExpr_App_8)) of
{ ( sem_PatExpr_8) | True ->
( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_App_7)) of
{ ( sem_PatExpr_7) | True ->
( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_App_6)) of
{ ( sem_PatExpr_6) | True ->
( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }) }) })))
in sem_PatExpr_App_5)) of
{ ( sem_PatExpr_5) | True ->
( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))
in sem_PatExpr_App_4)) of
{ ( sem_PatExpr_4) | True ->
( _lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))
in sem_PatExpr_App_3)) of
{ ( sem_PatExpr_3) | True ->
( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) }) }) }) }) })))))
in sem_PatExpr_App_2)) of
{ ( sem_PatExpr_2) | True ->
( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) }) }) })))
in sem_PatExpr_App_1)) of
{ ( sem_PatExpr_1) | True ->
( _lhsOrange,sem_PatExpr_1) }) }) }) }) })
sem_PatExpr_AppTop :: Range ->
T_PatExpr ->
T_PatExpr
sem_PatExpr_AppTop hsrange_ patExpr_ | hsrange_ `seq` (patExpr_ `seq` (True)) =
(case (patExpr_) of
{ ( _patExprIrange,patExpr_1) | True ->
(case (rangeUnions [hsrange_, _patExprIrange, _patExprIrange
]) of
{ _range | _range `seq` (True) ->
(case (_range) of
{ _lhsOrange | _lhsOrange `seq` (True) ->
(case ((let sem_PatExpr_AppTop_1 :: T_PatExpr_1
sem_PatExpr_AppTop_1 =
(\ _lhsIgUniq ->
_lhsIgUniq `seq`
((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of
{ __tup186 | __tup186 `seq` (True) ->
(case (__tup186) of
{ (_patExprOgUniq,_) | _patExprOgUniq `seq` (True) ->
(case (patExpr_1 _patExprOgUniq) of
{ ( _patExprIgUniq,patExpr_2) | True ->
(case (_patExprIgUniq) of
{ _lhsOgUniq | _lhsOgUniq `seq` (True) ->
(case ((let sem_PatExpr_AppTop_2 :: T_PatExpr_2
sem_PatExpr_AppTop_2 =
(\ _lhsIkiGam
_lhsIlexLev
_lhsIpredSameScopeCounter ->
_lhsIkiGam `seq`
(_lhsIlexLev `seq`
(_lhsIpredSameScopeCounter `seq`
((case (_lhsIpredSameScopeCounter) of
{ _patExprOpredSameScopeCounter | _patExprOpredSameScopeCounter `seq` (True) ->
(case (_lhsIlexLev) of
{ _patExprOlexLev | _patExprOlexLev `seq` (True) ->
(case (_lhsIkiGam) of
{ _patExprOkiGam | _patExprOkiGam `seq` (True) ->
(case (patExpr_2 _patExprOkiGam _patExprOlexLev _patExprOpredSameScopeCounter) of
{ ( _patExprIpredSameScopeCounter,patExpr_3) | True ->
(case (_patExprIpredSameScopeCounter) of
{ _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) ->
(case ((let sem_PatExpr_AppTop_3 :: T_PatExpr_3
sem_PatExpr_AppTop_3 =
(\ _lhsIkiVarMp
_lhsIopts
_lhsIpolGam
_lhsIpolVarMp
_lhsIpredScope
_lhsItyGam
_lhsItyKiGam
_lhsItyKiGlobFreeTvarS ->
_lhsIkiVarMp `seq`
(_lhsIopts `seq`
(_lhsIpolGam `seq`
(_lhsIpolVarMp `seq`
(_lhsIpredScope `seq`
(_lhsItyGam `seq`
(_lhsItyKiGam `seq`
(_lhsItyKiGlobFreeTvarS `seq`
((case (_lhsItyKiGlobFreeTvarS) of
{ _patExprOtyKiGlobFreeTvarS | _patExprOtyKiGlobFreeTvarS `seq` (True) ->
(case (_lhsItyKiGam) of
{ _patExprOtyKiGam | _patExprOtyKiGam `seq` (True) ->
(case (_lhsItyGam) of
{ _patExprOtyGam | _patExprOtyGam `seq` (True) ->
(case (_lhsIpredScope) of
{ _patExprOpredScope | _patExprOpredScope `seq` (True) ->
(case (_lhsIpolVarMp) of
{ _patExprOpolVarMp | _patExprOpolVarMp `seq` (True) ->
(case (_lhsIpolGam) of
{ _patExprOpolGam | _patExprOpolGam `seq` (True) ->
(case (_lhsIopts) of
{ _patExprOopts | _patExprOopts `seq` (True) ->
(case (_lhsIkiVarMp) of
{ _patExprOkiVarMp | _patExprOkiVarMp `seq` (True) ->
(case (patExpr_3 _patExprOkiVarMp _patExprOopts _patExprOpolGam _patExprOpolVarMp _patExprOpredScope _patExprOtyGam _patExprOtyKiGam _patExprOtyKiGlobFreeTvarS) of
{ ( _patExprIkiVarMp,_patExprIpolVarMp,_patExprItyGam,_patExprItyKiGam,patExpr_4) | True ->
(case (_patExprIkiVarMp) of
{ _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) ->
(case (_patExprIpolVarMp) of
{ _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) ->
(case (_patExprItyGam) of
{ _lhsOtyGam | _lhsOtyGam `seq` (True) ->
(case (_patExprItyKiGam) of
{ _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) ->
(case ((let sem_PatExpr_AppTop_4 :: T_PatExpr_4
sem_PatExpr_AppTop_4 =
(\ _lhsIclGam
_lhsIdataGam
_lhsIfinKiVarMp
_lhsIfinTyKiGam
_lhsItyTyTySigFreeTvarS ->
_lhsIclGam `seq`
(_lhsIdataGam `seq`
(_lhsIfinKiVarMp `seq`
(_lhsIfinTyKiGam `seq`
(_lhsItyTyTySigFreeTvarS `seq`
((case (_lhsItyTyTySigFreeTvarS) of
{ _patExprOtyTyTySigFreeTvarS | _patExprOtyTyTySigFreeTvarS `seq` (True) ->
(case (_lhsIfinTyKiGam) of
{ _patExprOfinTyKiGam | _patExprOfinTyKiGam `seq` (True) ->
(case (_lhsIfinKiVarMp) of
{ _patExprOfinKiVarMp | _patExprOfinKiVarMp `seq` (True) ->
(case (_lhsIdataGam) of
{ _patExprOdataGam | _patExprOdataGam `seq` (True) ->
(case (_lhsIclGam) of
{ _patExprOclGam | _patExprOclGam `seq` (True) ->
(case (patExpr_4 _patExprOclGam _patExprOdataGam _patExprOfinKiVarMp _patExprOfinTyKiGam _patExprOtyTyTySigFreeTvarS) of
{ ( _patExprIchrInstDeclSq,_patExprItopNm,patExpr_5) | True ->
(case (_patExprIchrInstDeclSq) of
{ _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) ->
(case (__tup186) of
{ (_,_lUniq) | _lUniq `seq` (True) ->
(case (uidHNm _lUniq) of
{ _topNm | _topNm `seq` (True) ->
(case (_topNm) of
{ _lhsOtopNm | _lhsOtopNm `seq` (True) ->
(case ((let sem_PatExpr_AppTop_5 :: T_PatExpr_5
sem_PatExpr_AppTop_5 =
(\ _lhsIvalGam ->
_lhsIvalGam `seq`
((case (0) of
{ _lhsOarity | _lhsOarity `seq` (True) ->
(case (Nothing) of
{ _mbTopNm | _mbTopNm `seq` (True) ->
(case (_mbTopNm) of
{ _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) ->
(case (_lhsIvalGam) of
{ _patExprOvalGam | _patExprOvalGam `seq` (True) ->
(case (patExpr_5 _patExprOvalGam) of
{ ( _patExprIarity,_patExprImbTopNm,_patExprIpatFunTy,patExpr_6) | True ->
(case (_patExprIpatFunTy) of
{ _patFunTy | _patFunTy `seq` (True) ->
(case (_patFunTy) of
{ _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) ->
(case ((let sem_PatExpr_AppTop_6 :: T_PatExpr_6
sem_PatExpr_AppTop_6 =
(\ _lhsIfiOpts
_lhsIinclVarBind
_lhsIknTy
_lhsIknTyL
_lhsIpatTyVarMp
_lhsItySigGam ->
_lhsIfiOpts `seq`
(_lhsIinclVarBind `seq`
(_lhsIknTy `seq`
(_lhsIknTyL `seq`
(_lhsIpatTyVarMp `seq`
(_lhsItySigGam `seq`
((case (_lhsItySigGam) of
{ _patExprOtySigGam | _patExprOtySigGam `seq` (True) ->
(case (appUn1Arr _patFunTy) of
{ __tup185 | __tup185 `seq` (True) ->
(case (__tup185) of
{ (_,_knProdTy) | _knProdTy `seq` (True) ->
(case (tyProdArgs _knProdTy) of
{ _prodTyL | _prodTyL `seq` (True) ->
(case (case _prodTyL of
tL | _patExprIarity == length tL
-> (reverse tL,[])
_ -> (repeat Ty_Any
, [rngLift _range Err_PatArity2 "type"
(ppTy _knProdTy) _patExprIarity])) of
{ __tup184 | __tup184 `seq` (True) ->
(case (__tup184) of
{ (_knTyL,_) | _knTyL `seq` (True) ->
(case (_knTyL) of
{ _patExprOknTyL | _patExprOknTyL `seq` (True) ->
(case (_lhsIknTy) of
{ _patExprOknTy | _patExprOknTy `seq` (True) ->
(case (_lhsIfiOpts) of
{ _patExprOfiOpts | _patExprOfiOpts `seq` (True) ->
(case (True) of
{ _patExprOinclVarBind | _patExprOinclVarBind `seq` (True) ->
(case (__tup185) of
{ (_knPatTy,_) | _knPatTy `seq` (True) ->
(case (defaultFIEnv
{ feEHCOpts = _lhsIopts
, fePredScope = _lhsIpredScope
, feTyGam = _lhsItyGam
, fePolGam = _lhsIpolGam
, feRange = _range
}) of
{ _fe | _fe `seq` (True) ->
(case (fitsIn _lhsIfiOpts _fe _lUniq _lhsIpatTyVarMp _lhsIknTy _knPatTy) of
{ _fo_fitR_ | _fo_fitR_ `seq` (True) ->
(case (foVarMp _fo_fitR_ `varUpd` _lhsIpatTyVarMp) of
{ _patExprOpatTyVarMp | _patExprOpatTyVarMp `seq` (True) ->
(case (patExpr_6 _patExprOfiOpts _patExprOinclVarBind _patExprOknTy _patExprOknTyL _patExprOpatTyVarMp _patExprOtySigGam) of
{ ( _patExprIpatTyVarMp,_patExprIvalGam,patExpr_7) | True ->
(case (_patExprIpatTyVarMp) of
{ _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) ->
(case (_patExprIvalGam) of
{ _lhsOvalGam | _lhsOvalGam `seq` (True) ->
(case ((let sem_PatExpr_AppTop_7 :: T_PatExpr_7
sem_PatExpr_AppTop_7 =
(\ _lhsIchrStore
_lhsIclDfGam
_lhsItvKiVarMp
_lhsItyTyGlobFreeTvarS
_lhsItyVarMp
_lhsIvalTyGlobFreeTvarS ->
_lhsIchrStore `seq`
(_lhsIclDfGam `seq`
(_lhsItvKiVarMp `seq`
(_lhsItyTyGlobFreeTvarS `seq`
(_lhsItyVarMp `seq`
(_lhsIvalTyGlobFreeTvarS `seq`
((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of
{ _cpNm | _cpNm `seq` (True) ->
(case (_cpNm) of
{ _lhsOcpNm | _lhsOcpNm `seq` (True) ->
(case (_lhsIvalTyGlobFreeTvarS) of
{ _patExprOvalTyGlobFreeTvarS | _patExprOvalTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItyVarMp) of
{ _patExprOtyVarMp | _patExprOtyVarMp `seq` (True) ->
(case (_lhsItyTyGlobFreeTvarS) of
{ _patExprOtyTyGlobFreeTvarS | _patExprOtyTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItvKiVarMp) of
{ _patExprOtvKiVarMp | _patExprOtvKiVarMp `seq` (True) ->
(case (_lhsIclDfGam) of
{ _patExprOclDfGam | _patExprOclDfGam `seq` (True) ->
(case (_lhsIchrStore) of
{ _patExprOchrStore | _patExprOchrStore `seq` (True) ->
(case (patExpr_7 _patExprOchrStore _patExprOclDfGam _patExprOtvKiVarMp _patExprOtyTyGlobFreeTvarS _patExprOtyVarMp _patExprOvalTyGlobFreeTvarS) of
{ ( _patExprIcpNm,_patExprIgathCnstrMp,_patExprIgathRangeMp,_patExprIscopeGam,_patExprIty,_patExprItyVarMp,patExpr_8) | True ->
(case (_patExprIgathCnstrMp) of
{ _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) ->
(case (_patExprIgathRangeMp) of
{ _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) ->
(case (_patExprIscopeGam) of
{ _lhsOscopeGam | _lhsOscopeGam `seq` (True) ->
(case (foTy _fo_fitR_) of
{ _ty | _ty `seq` (True) ->
(case (_ty) of
{ _lhsOty | _lhsOty `seq` (True) ->
(case (_patExprItyVarMp) of
{ _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) ->
(case ((let sem_PatExpr_AppTop_8 :: T_PatExpr_8
sem_PatExpr_AppTop_8 =
(\ _lhsIcSubst
_lhsIceParentNm
_lhsIchrEvidBindMp
_lhsIchrScopeBindMp
_lhsIfinTyVarMp
_lhsIfinValGam
_lhsImoduleNm
_lhsIrangeMp
_lhsIsysfEnv
_lhsItySigVarMp ->
_lhsIcSubst `seq`
(_lhsIceParentNm `seq`
(_lhsIchrEvidBindMp `seq`
(_lhsIchrScopeBindMp `seq`
(_lhsIfinTyVarMp `seq`
(_lhsIfinValGam `seq`
(_lhsImoduleNm `seq`
(_lhsIrangeMp `seq`
(_lhsIsysfEnv `seq`
(_lhsItySigVarMp `seq`
((case (_lhsIsysfEnv) of
{ _patExprOsysfEnv | _patExprOsysfEnv `seq` (True) ->
(case (_lhsIrangeMp) of
{ _patExprOrangeMp | _patExprOrangeMp `seq` (True) ->
(case (_lhsIfinValGam) of
{ _patExprOfinValGam | _patExprOfinValGam `seq` (True) ->
(case (_lhsIfinTyVarMp) of
{ _patExprOfinTyVarMp | _patExprOfinTyVarMp `seq` (True) ->
(case (_lhsItySigVarMp) of
{ _patExprOtySigVarMp | _patExprOtySigVarMp `seq` (True) ->
(case (_lhsImoduleNm) of
{ _patExprOmoduleNm | _patExprOmoduleNm `seq` (True) ->
(case (_lhsIchrScopeBindMp) of
{ _patExprOchrScopeBindMp | _patExprOchrScopeBindMp `seq` (True) ->
(case (_lhsIchrEvidBindMp) of
{ _patExprOchrEvidBindMp | _patExprOchrEvidBindMp `seq` (True) ->
(case (_lhsIceParentNm) of
{ _patExprOceParentNm | _patExprOceParentNm `seq` (True) ->
(case (_lhsIcSubst) of
{ _patExprOcSubst | _patExprOcSubst `seq` (True) ->
(case (patExpr_8 _patExprOcSubst _patExprOceParentNm _patExprOchrEvidBindMp _patExprOchrScopeBindMp _patExprOfinTyVarMp _patExprOfinValGam _patExprOmoduleNm _patExprOrangeMp _patExprOsysfEnv _patExprOtySigVarMp) of
{ ( _patExprIallErrSq,_patExprIappArgPPL,_patExprIappFunNm,_patExprIappFunPP,_patExprIcSubst,_patExprIerrSq,_patExprIfsRPatL,_patExprIgathMentrelFilterMp,_patExprIgathTvKiVarMp,_patExprIisBang,_patExprIpatCRest,_patExprIpp,_patExprIrpat,_patExprIvalCBindL) | True ->
(case (_patExprIallErrSq) of
{ _lhsOallErrSq | _lhsOallErrSq `seq` (True) ->
(case ([]) of
{ _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) ->
(case (hsnUnknown) of
{ _lhsOappFunNm | _lhsOappFunNm `seq` (True) ->
(case (ppAppTop (_patExprIappFunNm,_patExprIappFunPP)
_patExprIappArgPPL _patExprIpp) of
{ _pp | _pp `seq` (True) ->
(case (_pp) of
{ _lhsOappFunPP | _lhsOappFunPP `seq` (True) ->
(case (_patExprIcSubst) of
{ _lhsOcSubst | _lhsOcSubst `seq` (True) ->
(case (__tup184) of
{ (_,_arityErrs) | _arityErrs `seq` (True) ->
(case (rngLift _range mkNestErr' _pp [_patExprIerrSq, Seq.fromList _arityErrs, foErrSq _fo_fitR_]) of
{ _lhsOerrSq | _lhsOerrSq `seq` (True) ->
(case ([]) of
{ _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) ->
(case (_patExprIgathMentrelFilterMp) of
{ _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) ->
(case (_patExprIgathTvKiVarMp) of
{ _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) ->
(case (False) of
{ _lhsOisBang | _lhsOisBang `seq` (True) ->
(case (CPatRest_Empty) of
{ _lhsOpatCRest | _lhsOpatCRest `seq` (True) ->
(case (_pp) of
{ _lhsOpp | _lhsOpp `seq` (True) ->
(case (_patExprIappFunNm) of
{ _appFunNm | _appFunNm `seq` (True) ->
(case (_lhsIfinTyVarMp `varUpd` _ty) of
{ _finalTy | _finalTy `seq` (True) ->
(case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTy) of
{ _finalTyExpanded | _finalTyExpanded `seq` (True) ->
(case (_lhsIfinTyVarMp `varUpd` _knPatTy) of
{ _finKnPatTy | _finKnPatTy `seq` (True) ->
(case (_patExprIfsRPatL) of
{ _fsRPatL | _fsRPatL `seq` (True) ->
(case (fsL2PatOffsetL _lhsIopts $ reverse $ _fsRPatL) of
{ _rpatBinds | _rpatBinds `seq` (True) ->
(case (CPatRest_Empty) of
{ _rest | _rest `seq` (True) ->
(case (tyConNm $ fst $ appUnApp _finKnPatTy) of
{ _tyConNm | _tyConNm `seq` (True) ->
(case (panicJust ("PatExpr.{AppTop,Con}.dgi: " ++ show _tyConNm)
$ dataGamLookup _tyConNm $ _lhsIdataGam) of
{ _dgi | _dgi `seq` (True) ->
(case (panicJust ("PatExpr.{AppTop,Con}.dti: " ++ show _tyConNm ++ "." ++ show _appFunNm)
$ Map.lookup _appFunNm $ dgiConstrTagMp _dgi) of
{ _dti | _dti `seq` (True) ->
(case (dtiCTag _dti) of
{ _tag | _tag `seq` (True) ->
(case ((appDbg "{Expr,PatExpr,Decl,DataFieldExpr}.sysfty not implemented" :: SysfTy)) of
{ _sysfty | _sysfty `seq` (True) ->
(case (mkCTy _lhsIopts _finalTyExpanded _sysfty) of
{ _acorety | _acorety `seq` (True) ->
(case (RPat_Con _cpNm _acorety _tag (RPatConBind_One _rest (map fst _rpatBinds))) of
{ _rpat | _rpat `seq` (True) ->
(case (_rpat) of
{ _lhsOrpat | _lhsOrpat `seq` (True) ->
(case ((emptyRCEEnv _lhsIopts) { rceValGam = _lhsIvalGam, rceDataGam = _lhsIdataGam, rceTyVarMp = _lhsIfinTyVarMp }) of
{ _rceEnv | _rceEnv `seq` (True) ->
(case (_patExprIvalCBindL) of
{ _valCBindLSub | _valCBindLSub `seq` (True) ->
(case (acoreRPatBindL2BindL _rceEnv (not $ null _valCBindLSub) _lhsIceParentNm _tag (Just (_rest,length _fsRPatL)) _rpatBinds) of
{ _valCBindL | _valCBindL `seq` (True) ->
(case (_valCBindL ++ _valCBindLSub) of
{ _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) ->
( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOrpat,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))
in sem_PatExpr_AppTop_8)) of
{ ( sem_PatExpr_8) | True ->
( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_AppTop_7)) of
{ ( sem_PatExpr_7) | True ->
( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_AppTop_6)) of
{ ( sem_PatExpr_6) | True ->
( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }) }) }) })))
in sem_PatExpr_AppTop_5)) of
{ ( sem_PatExpr_5) | True ->
( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) }) }) })))))))
in sem_PatExpr_AppTop_4)) of
{ ( sem_PatExpr_4) | True ->
( _lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))
in sem_PatExpr_AppTop_3)) of
{ ( sem_PatExpr_3) | True ->
( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) })))))
in sem_PatExpr_AppTop_2)) of
{ ( sem_PatExpr_2) | True ->
( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) })))
in sem_PatExpr_AppTop_1)) of
{ ( sem_PatExpr_1) | True ->
( _lhsOrange,sem_PatExpr_1) }) }) }) })
sem_PatExpr_Parens :: Range ->
T_PatExpr ->
T_PatExpr
sem_PatExpr_Parens hsrange_ patExpr_ | hsrange_ `seq` (patExpr_ `seq` (True)) =
(case (patExpr_) of
{ ( _patExprIrange,patExpr_1) | True ->
(case (rangeUnions [hsrange_, _patExprIrange, _patExprIrange
]) of
{ _range | _range `seq` (True) ->
(case (_range) of
{ _lhsOrange | _lhsOrange `seq` (True) ->
(case ((let sem_PatExpr_Parens_1 :: T_PatExpr_1
sem_PatExpr_Parens_1 =
(\ _lhsIgUniq ->
_lhsIgUniq `seq`
((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of
{ __tup187 | __tup187 `seq` (True) ->
(case (__tup187) of
{ (_patExprOgUniq,_) | _patExprOgUniq `seq` (True) ->
(case (patExpr_1 _patExprOgUniq) of
{ ( _patExprIgUniq,patExpr_2) | True ->
(case (_patExprIgUniq) of
{ _lhsOgUniq | _lhsOgUniq `seq` (True) ->
(case ((let sem_PatExpr_Parens_2 :: T_PatExpr_2
sem_PatExpr_Parens_2 =
(\ _lhsIkiGam
_lhsIlexLev
_lhsIpredSameScopeCounter ->
_lhsIkiGam `seq`
(_lhsIlexLev `seq`
(_lhsIpredSameScopeCounter `seq`
((case (_lhsIpredSameScopeCounter) of
{ _patExprOpredSameScopeCounter | _patExprOpredSameScopeCounter `seq` (True) ->
(case (_lhsIlexLev) of
{ _patExprOlexLev | _patExprOlexLev `seq` (True) ->
(case (_lhsIkiGam) of
{ _patExprOkiGam | _patExprOkiGam `seq` (True) ->
(case (patExpr_2 _patExprOkiGam _patExprOlexLev _patExprOpredSameScopeCounter) of
{ ( _patExprIpredSameScopeCounter,patExpr_3) | True ->
(case (_patExprIpredSameScopeCounter) of
{ _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) ->
(case ((let sem_PatExpr_Parens_3 :: T_PatExpr_3
sem_PatExpr_Parens_3 =
(\ _lhsIkiVarMp
_lhsIopts
_lhsIpolGam
_lhsIpolVarMp
_lhsIpredScope
_lhsItyGam
_lhsItyKiGam
_lhsItyKiGlobFreeTvarS ->
_lhsIkiVarMp `seq`
(_lhsIopts `seq`
(_lhsIpolGam `seq`
(_lhsIpolVarMp `seq`
(_lhsIpredScope `seq`
(_lhsItyGam `seq`
(_lhsItyKiGam `seq`
(_lhsItyKiGlobFreeTvarS `seq`
((case (_lhsItyKiGlobFreeTvarS) of
{ _patExprOtyKiGlobFreeTvarS | _patExprOtyKiGlobFreeTvarS `seq` (True) ->
(case (_lhsItyKiGam) of
{ _patExprOtyKiGam | _patExprOtyKiGam `seq` (True) ->
(case (_lhsItyGam) of
{ _patExprOtyGam | _patExprOtyGam `seq` (True) ->
(case (_lhsIpredScope) of
{ _patExprOpredScope | _patExprOpredScope `seq` (True) ->
(case (_lhsIpolVarMp) of
{ _patExprOpolVarMp | _patExprOpolVarMp `seq` (True) ->
(case (_lhsIpolGam) of
{ _patExprOpolGam | _patExprOpolGam `seq` (True) ->
(case (_lhsIopts) of
{ _patExprOopts | _patExprOopts `seq` (True) ->
(case (_lhsIkiVarMp) of
{ _patExprOkiVarMp | _patExprOkiVarMp `seq` (True) ->
(case (patExpr_3 _patExprOkiVarMp _patExprOopts _patExprOpolGam _patExprOpolVarMp _patExprOpredScope _patExprOtyGam _patExprOtyKiGam _patExprOtyKiGlobFreeTvarS) of
{ ( _patExprIkiVarMp,_patExprIpolVarMp,_patExprItyGam,_patExprItyKiGam,patExpr_4) | True ->
(case (_patExprIkiVarMp) of
{ _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) ->
(case (_patExprIpolVarMp) of
{ _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) ->
(case (_patExprItyGam) of
{ _lhsOtyGam | _lhsOtyGam `seq` (True) ->
(case (_patExprItyKiGam) of
{ _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) ->
(case ((let sem_PatExpr_Parens_4 :: T_PatExpr_4
sem_PatExpr_Parens_4 =
(\ _lhsIclGam
_lhsIdataGam
_lhsIfinKiVarMp
_lhsIfinTyKiGam
_lhsItyTyTySigFreeTvarS ->
_lhsIclGam `seq`
(_lhsIdataGam `seq`
(_lhsIfinKiVarMp `seq`
(_lhsIfinTyKiGam `seq`
(_lhsItyTyTySigFreeTvarS `seq`
((case (_lhsItyTyTySigFreeTvarS) of
{ _patExprOtyTyTySigFreeTvarS | _patExprOtyTyTySigFreeTvarS `seq` (True) ->
(case (_lhsIfinTyKiGam) of
{ _patExprOfinTyKiGam | _patExprOfinTyKiGam `seq` (True) ->
(case (_lhsIfinKiVarMp) of
{ _patExprOfinKiVarMp | _patExprOfinKiVarMp `seq` (True) ->
(case (_lhsIdataGam) of
{ _patExprOdataGam | _patExprOdataGam `seq` (True) ->
(case (_lhsIclGam) of
{ _patExprOclGam | _patExprOclGam `seq` (True) ->
(case (patExpr_4 _patExprOclGam _patExprOdataGam _patExprOfinKiVarMp _patExprOfinTyKiGam _patExprOtyTyTySigFreeTvarS) of
{ ( _patExprIchrInstDeclSq,_patExprItopNm,patExpr_5) | True ->
(case (_patExprIchrInstDeclSq) of
{ _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) ->
(case (_patExprItopNm) of
{ _lhsOtopNm | _lhsOtopNm `seq` (True) ->
(case ((let sem_PatExpr_Parens_5 :: T_PatExpr_5
sem_PatExpr_Parens_5 =
(\ _lhsIvalGam ->
_lhsIvalGam `seq`
((case (_lhsIvalGam) of
{ _patExprOvalGam | _patExprOvalGam `seq` (True) ->
(case (patExpr_5 _patExprOvalGam) of
{ ( _patExprIarity,_patExprImbTopNm,_patExprIpatFunTy,patExpr_6) | True ->
(case (_patExprIarity) of
{ _lhsOarity | _lhsOarity `seq` (True) ->
(case (Nothing) of
{ _mbTopNm | _mbTopNm `seq` (True) ->
(case (_mbTopNm) of
{ _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) ->
(case (_patExprIpatFunTy) of
{ _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) ->
(case ((let sem_PatExpr_Parens_6 :: T_PatExpr_6
sem_PatExpr_Parens_6 =
(\ _lhsIfiOpts
_lhsIinclVarBind
_lhsIknTy
_lhsIknTyL
_lhsIpatTyVarMp
_lhsItySigGam ->
_lhsIfiOpts `seq`
(_lhsIinclVarBind `seq`
(_lhsIknTy `seq`
(_lhsIknTyL `seq`
(_lhsIpatTyVarMp `seq`
(_lhsItySigGam `seq`
((case (_lhsItySigGam) of
{ _patExprOtySigGam | _patExprOtySigGam `seq` (True) ->
(case (_lhsIpatTyVarMp) of
{ _patExprOpatTyVarMp | _patExprOpatTyVarMp `seq` (True) ->
(case (_lhsIknTyL) of
{ _patExprOknTyL | _patExprOknTyL `seq` (True) ->
(case (_lhsIknTy) of
{ _patExprOknTy | _patExprOknTy `seq` (True) ->
(case (_lhsIinclVarBind) of
{ _patExprOinclVarBind | _patExprOinclVarBind `seq` (True) ->
(case (_lhsIfiOpts) of
{ _patExprOfiOpts | _patExprOfiOpts `seq` (True) ->
(case (patExpr_6 _patExprOfiOpts _patExprOinclVarBind _patExprOknTy _patExprOknTyL _patExprOpatTyVarMp _patExprOtySigGam) of
{ ( _patExprIpatTyVarMp,_patExprIvalGam,patExpr_7) | True ->
(case (_patExprIpatTyVarMp) of
{ _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) ->
(case (_patExprIvalGam) of
{ _lhsOvalGam | _lhsOvalGam `seq` (True) ->
(case ((let sem_PatExpr_Parens_7 :: T_PatExpr_7
sem_PatExpr_Parens_7 =
(\ _lhsIchrStore
_lhsIclDfGam
_lhsItvKiVarMp
_lhsItyTyGlobFreeTvarS
_lhsItyVarMp
_lhsIvalTyGlobFreeTvarS ->
_lhsIchrStore `seq`
(_lhsIclDfGam `seq`
(_lhsItvKiVarMp `seq`
(_lhsItyTyGlobFreeTvarS `seq`
(_lhsItyVarMp `seq`
(_lhsIvalTyGlobFreeTvarS `seq`
((case (_lhsIvalTyGlobFreeTvarS) of
{ _patExprOvalTyGlobFreeTvarS | _patExprOvalTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItyVarMp) of
{ _patExprOtyVarMp | _patExprOtyVarMp `seq` (True) ->
(case (_lhsItyTyGlobFreeTvarS) of
{ _patExprOtyTyGlobFreeTvarS | _patExprOtyTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItvKiVarMp) of
{ _patExprOtvKiVarMp | _patExprOtvKiVarMp `seq` (True) ->
(case (_lhsIclDfGam) of
{ _patExprOclDfGam | _patExprOclDfGam `seq` (True) ->
(case (_lhsIchrStore) of
{ _patExprOchrStore | _patExprOchrStore `seq` (True) ->
(case (patExpr_7 _patExprOchrStore _patExprOclDfGam _patExprOtvKiVarMp _patExprOtyTyGlobFreeTvarS _patExprOtyVarMp _patExprOvalTyGlobFreeTvarS) of
{ ( _patExprIcpNm,_patExprIgathCnstrMp,_patExprIgathRangeMp,_patExprIscopeGam,_patExprIty,_patExprItyVarMp,patExpr_8) | True ->
(case (_patExprIcpNm) of
{ _lhsOcpNm | _lhsOcpNm `seq` (True) ->
(case (_patExprIgathCnstrMp) of
{ _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) ->
(case (_patExprIgathRangeMp) of
{ _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) ->
(case (_patExprIscopeGam) of
{ _lhsOscopeGam | _lhsOscopeGam `seq` (True) ->
(case (_patExprIty) of
{ _lhsOty | _lhsOty `seq` (True) ->
(case (_patExprItyVarMp) of
{ _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) ->
(case ((let sem_PatExpr_Parens_8 :: T_PatExpr_8
sem_PatExpr_Parens_8 =
(\ _lhsIcSubst
_lhsIceParentNm
_lhsIchrEvidBindMp
_lhsIchrScopeBindMp
_lhsIfinTyVarMp
_lhsIfinValGam
_lhsImoduleNm
_lhsIrangeMp
_lhsIsysfEnv
_lhsItySigVarMp ->
_lhsIcSubst `seq`
(_lhsIceParentNm `seq`
(_lhsIchrEvidBindMp `seq`
(_lhsIchrScopeBindMp `seq`
(_lhsIfinTyVarMp `seq`
(_lhsIfinValGam `seq`
(_lhsImoduleNm `seq`
(_lhsIrangeMp `seq`
(_lhsIsysfEnv `seq`
(_lhsItySigVarMp `seq`
((case (_lhsIsysfEnv) of
{ _patExprOsysfEnv | _patExprOsysfEnv `seq` (True) ->
(case (_lhsIrangeMp) of
{ _patExprOrangeMp | _patExprOrangeMp `seq` (True) ->
(case (_lhsIfinValGam) of
{ _patExprOfinValGam | _patExprOfinValGam `seq` (True) ->
(case (_lhsIfinTyVarMp) of
{ _patExprOfinTyVarMp | _patExprOfinTyVarMp `seq` (True) ->
(case (_lhsItySigVarMp) of
{ _patExprOtySigVarMp | _patExprOtySigVarMp `seq` (True) ->
(case (_lhsImoduleNm) of
{ _patExprOmoduleNm | _patExprOmoduleNm `seq` (True) ->
(case (_lhsIchrScopeBindMp) of
{ _patExprOchrScopeBindMp | _patExprOchrScopeBindMp `seq` (True) ->
(case (_lhsIchrEvidBindMp) of
{ _patExprOchrEvidBindMp | _patExprOchrEvidBindMp `seq` (True) ->
(case (_lhsIceParentNm) of
{ _patExprOceParentNm | _patExprOceParentNm `seq` (True) ->
(case (_lhsIcSubst) of
{ _patExprOcSubst | _patExprOcSubst `seq` (True) ->
(case (patExpr_8 _patExprOcSubst _patExprOceParentNm _patExprOchrEvidBindMp _patExprOchrScopeBindMp _patExprOfinTyVarMp _patExprOfinValGam _patExprOmoduleNm _patExprOrangeMp _patExprOsysfEnv _patExprOtySigVarMp) of
{ ( _patExprIallErrSq,_patExprIappArgPPL,_patExprIappFunNm,_patExprIappFunPP,_patExprIcSubst,_patExprIerrSq,_patExprIfsRPatL,_patExprIgathMentrelFilterMp,_patExprIgathTvKiVarMp,_patExprIisBang,_patExprIpatCRest,_patExprIpp,_patExprIrpat,_patExprIvalCBindL) | True ->
(case (_patExprIallErrSq) of
{ _lhsOallErrSq | _lhsOallErrSq `seq` (True) ->
(case ([]) of
{ _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) ->
(case (hsnUnknown) of
{ _lhsOappFunNm | _lhsOappFunNm `seq` (True) ->
(case (ppParens _patExprIpp) of
{ _pp | _pp `seq` (True) ->
(case (_pp) of
{ _lhsOappFunPP | _lhsOappFunPP `seq` (True) ->
(case (_patExprIcSubst) of
{ _lhsOcSubst | _lhsOcSubst `seq` (True) ->
(case (_patExprIerrSq) of
{ _lhsOerrSq | _lhsOerrSq `seq` (True) ->
(case ([]) of
{ _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) ->
(case (_patExprIgathMentrelFilterMp) of
{ _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) ->
(case (_patExprIgathTvKiVarMp) of
{ _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) ->
(case (False) of
{ _lhsOisBang | _lhsOisBang `seq` (True) ->
(case (CPatRest_Empty) of
{ _lhsOpatCRest | _lhsOpatCRest `seq` (True) ->
(case (_pp) of
{ _lhsOpp | _lhsOpp `seq` (True) ->
(case (_patExprIrpat) of
{ _lhsOrpat | _lhsOrpat `seq` (True) ->
(case (_patExprIvalCBindL) of
{ _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) ->
( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOrpat,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))
in sem_PatExpr_Parens_8)) of
{ ( sem_PatExpr_8) | True ->
( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_Parens_7)) of
{ ( sem_PatExpr_7) | True ->
( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_Parens_6)) of
{ ( sem_PatExpr_6) | True ->
( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }) }) })))
in sem_PatExpr_Parens_5)) of
{ ( sem_PatExpr_5) | True ->
( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) })))))))
in sem_PatExpr_Parens_4)) of
{ ( sem_PatExpr_4) | True ->
( _lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))
in sem_PatExpr_Parens_3)) of
{ ( sem_PatExpr_3) | True ->
( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) })))))
in sem_PatExpr_Parens_2)) of
{ ( sem_PatExpr_2) | True ->
( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) })))
in sem_PatExpr_Parens_1)) of
{ ( sem_PatExpr_1) | True ->
( _lhsOrange,sem_PatExpr_1) }) }) }) })
sem_PatExpr_Ann :: Range ->
T_PatExprAnn ->
T_PatExpr ->
T_PatExpr
sem_PatExpr_Ann hsrange_ ann_ patExpr_ | hsrange_ `seq` (ann_ `seq` (patExpr_ `seq` (True))) =
(case (patExpr_) of
{ ( _patExprIrange,patExpr_1) | True ->
(case (rangeUnions [hsrange_, _patExprIrange, _patExprIrange
]) of
{ _range | _range `seq` (True) ->
(case (_range) of
{ _lhsOrange | _lhsOrange `seq` (True) ->
(case ((let sem_PatExpr_Ann_1 :: T_PatExpr_1
sem_PatExpr_Ann_1 =
(\ _lhsIgUniq ->
_lhsIgUniq `seq`
((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of
{ __tup188 | __tup188 `seq` (True) ->
(case (__tup188) of
{ (_patExprOgUniq,_) | _patExprOgUniq `seq` (True) ->
(case (patExpr_1 _patExprOgUniq) of
{ ( _patExprIgUniq,patExpr_2) | True ->
(case (_patExprIgUniq) of
{ _lhsOgUniq | _lhsOgUniq `seq` (True) ->
(case ((let sem_PatExpr_Ann_2 :: T_PatExpr_2
sem_PatExpr_Ann_2 =
(\ _lhsIkiGam
_lhsIlexLev
_lhsIpredSameScopeCounter ->
_lhsIkiGam `seq`
(_lhsIlexLev `seq`
(_lhsIpredSameScopeCounter `seq`
((case (_lhsIpredSameScopeCounter) of
{ _patExprOpredSameScopeCounter | _patExprOpredSameScopeCounter `seq` (True) ->
(case (_lhsIlexLev) of
{ _patExprOlexLev | _patExprOlexLev `seq` (True) ->
(case (_lhsIkiGam) of
{ _patExprOkiGam | _patExprOkiGam `seq` (True) ->
(case (patExpr_2 _patExprOkiGam _patExprOlexLev _patExprOpredSameScopeCounter) of
{ ( _patExprIpredSameScopeCounter,patExpr_3) | True ->
(case (_patExprIpredSameScopeCounter) of
{ _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) ->
(case ((let sem_PatExpr_Ann_3 :: T_PatExpr_3
sem_PatExpr_Ann_3 =
(\ _lhsIkiVarMp
_lhsIopts
_lhsIpolGam
_lhsIpolVarMp
_lhsIpredScope
_lhsItyGam
_lhsItyKiGam
_lhsItyKiGlobFreeTvarS ->
_lhsIkiVarMp `seq`
(_lhsIopts `seq`
(_lhsIpolGam `seq`
(_lhsIpolVarMp `seq`
(_lhsIpredScope `seq`
(_lhsItyGam `seq`
(_lhsItyKiGam `seq`
(_lhsItyKiGlobFreeTvarS `seq`
((case (_lhsItyKiGlobFreeTvarS) of
{ _patExprOtyKiGlobFreeTvarS | _patExprOtyKiGlobFreeTvarS `seq` (True) ->
(case (_lhsItyKiGam) of
{ _patExprOtyKiGam | _patExprOtyKiGam `seq` (True) ->
(case (_lhsItyGam) of
{ _patExprOtyGam | _patExprOtyGam `seq` (True) ->
(case (_lhsIpredScope) of
{ _patExprOpredScope | _patExprOpredScope `seq` (True) ->
(case (_lhsIpolVarMp) of
{ _patExprOpolVarMp | _patExprOpolVarMp `seq` (True) ->
(case (_lhsIpolGam) of
{ _patExprOpolGam | _patExprOpolGam `seq` (True) ->
(case (_lhsIopts) of
{ _patExprOopts | _patExprOopts `seq` (True) ->
(case (_lhsIkiVarMp) of
{ _patExprOkiVarMp | _patExprOkiVarMp `seq` (True) ->
(case (patExpr_3 _patExprOkiVarMp _patExprOopts _patExprOpolGam _patExprOpolVarMp _patExprOpredScope _patExprOtyGam _patExprOtyKiGam _patExprOtyKiGlobFreeTvarS) of
{ ( _patExprIkiVarMp,_patExprIpolVarMp,_patExprItyGam,_patExprItyKiGam,patExpr_4) | True ->
(case (_patExprIkiVarMp) of
{ _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) ->
(case (_patExprIpolVarMp) of
{ _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) ->
(case (_patExprItyGam) of
{ _lhsOtyGam | _lhsOtyGam `seq` (True) ->
(case (_patExprItyKiGam) of
{ _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) ->
(case ((let sem_PatExpr_Ann_4 :: T_PatExpr_4
sem_PatExpr_Ann_4 =
(\ _lhsIclGam
_lhsIdataGam
_lhsIfinKiVarMp
_lhsIfinTyKiGam
_lhsItyTyTySigFreeTvarS ->
_lhsIclGam `seq`
(_lhsIdataGam `seq`
(_lhsIfinKiVarMp `seq`
(_lhsIfinTyKiGam `seq`
(_lhsItyTyTySigFreeTvarS `seq`
((case (_lhsItyTyTySigFreeTvarS) of
{ _patExprOtyTyTySigFreeTvarS | _patExprOtyTyTySigFreeTvarS `seq` (True) ->
(case (_lhsIfinTyKiGam) of
{ _patExprOfinTyKiGam | _patExprOfinTyKiGam `seq` (True) ->
(case (_lhsIfinKiVarMp) of
{ _patExprOfinKiVarMp | _patExprOfinKiVarMp `seq` (True) ->
(case (_lhsIdataGam) of
{ _patExprOdataGam | _patExprOdataGam `seq` (True) ->
(case (_lhsIclGam) of
{ _patExprOclGam | _patExprOclGam `seq` (True) ->
(case (patExpr_4 _patExprOclGam _patExprOdataGam _patExprOfinKiVarMp _patExprOfinTyKiGam _patExprOtyTyTySigFreeTvarS) of
{ ( _patExprIchrInstDeclSq,_patExprItopNm,patExpr_5) | True ->
(case (_patExprIchrInstDeclSq) of
{ _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) ->
(case (_patExprItopNm) of
{ _lhsOtopNm | _lhsOtopNm `seq` (True) ->
(case ((let sem_PatExpr_Ann_5 :: T_PatExpr_5
sem_PatExpr_Ann_5 =
(\ _lhsIvalGam ->
_lhsIvalGam `seq`
((case (_lhsIvalGam) of
{ _patExprOvalGam | _patExprOvalGam `seq` (True) ->
(case (patExpr_5 _patExprOvalGam) of
{ ( _patExprIarity,_patExprImbTopNm,_patExprIpatFunTy,patExpr_6) | True ->
(case (_patExprIarity) of
{ _lhsOarity | _lhsOarity `seq` (True) ->
(case (Nothing) of
{ _mbTopNm | _mbTopNm `seq` (True) ->
(case (_mbTopNm) of
{ _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) ->
(case (_patExprIpatFunTy) of
{ _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) ->
(case ((let sem_PatExpr_Ann_6 :: T_PatExpr_6
sem_PatExpr_Ann_6 =
(\ _lhsIfiOpts
_lhsIinclVarBind
_lhsIknTy
_lhsIknTyL
_lhsIpatTyVarMp
_lhsItySigGam ->
_lhsIfiOpts `seq`
(_lhsIinclVarBind `seq`
(_lhsIknTy `seq`
(_lhsIknTyL `seq`
(_lhsIpatTyVarMp `seq`
(_lhsItySigGam `seq`
((case (_lhsItySigGam) of
{ _patExprOtySigGam | _patExprOtySigGam `seq` (True) ->
(case (_lhsIpatTyVarMp) of
{ _patExprOpatTyVarMp | _patExprOpatTyVarMp `seq` (True) ->
(case (_lhsIknTyL) of
{ _patExprOknTyL | _patExprOknTyL `seq` (True) ->
(case (_lhsIknTy) of
{ _patExprOknTy | _patExprOknTy `seq` (True) ->
(case (_lhsIinclVarBind) of
{ _patExprOinclVarBind | _patExprOinclVarBind `seq` (True) ->
(case (_lhsIfiOpts) of
{ _patExprOfiOpts | _patExprOfiOpts `seq` (True) ->
(case (patExpr_6 _patExprOfiOpts _patExprOinclVarBind _patExprOknTy _patExprOknTyL _patExprOpatTyVarMp _patExprOtySigGam) of
{ ( _patExprIpatTyVarMp,_patExprIvalGam,patExpr_7) | True ->
(case (_patExprIpatTyVarMp) of
{ _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) ->
(case (_patExprIvalGam) of
{ _lhsOvalGam | _lhsOvalGam `seq` (True) ->
(case ((let sem_PatExpr_Ann_7 :: T_PatExpr_7
sem_PatExpr_Ann_7 =
(\ _lhsIchrStore
_lhsIclDfGam
_lhsItvKiVarMp
_lhsItyTyGlobFreeTvarS
_lhsItyVarMp
_lhsIvalTyGlobFreeTvarS ->
_lhsIchrStore `seq`
(_lhsIclDfGam `seq`
(_lhsItvKiVarMp `seq`
(_lhsItyTyGlobFreeTvarS `seq`
(_lhsItyVarMp `seq`
(_lhsIvalTyGlobFreeTvarS `seq`
((case (_lhsIvalTyGlobFreeTvarS) of
{ _patExprOvalTyGlobFreeTvarS | _patExprOvalTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItyVarMp) of
{ _patExprOtyVarMp | _patExprOtyVarMp `seq` (True) ->
(case (_lhsItyTyGlobFreeTvarS) of
{ _patExprOtyTyGlobFreeTvarS | _patExprOtyTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItvKiVarMp) of
{ _patExprOtvKiVarMp | _patExprOtvKiVarMp `seq` (True) ->
(case (_lhsIclDfGam) of
{ _patExprOclDfGam | _patExprOclDfGam `seq` (True) ->
(case (_lhsIchrStore) of
{ _patExprOchrStore | _patExprOchrStore `seq` (True) ->
(case (patExpr_7 _patExprOchrStore _patExprOclDfGam _patExprOtvKiVarMp _patExprOtyTyGlobFreeTvarS _patExprOtyVarMp _patExprOvalTyGlobFreeTvarS) of
{ ( _patExprIcpNm,_patExprIgathCnstrMp,_patExprIgathRangeMp,_patExprIscopeGam,_patExprIty,_patExprItyVarMp,patExpr_8) | True ->
(case (_patExprIcpNm) of
{ _lhsOcpNm | _lhsOcpNm `seq` (True) ->
(case (_patExprIgathCnstrMp) of
{ _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) ->
(case (_patExprIgathRangeMp) of
{ _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) ->
(case (_patExprIscopeGam) of
{ _lhsOscopeGam | _lhsOscopeGam `seq` (True) ->
(case (_patExprIty) of
{ _lhsOty | _lhsOty `seq` (True) ->
(case (_patExprItyVarMp) of
{ _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) ->
(case ((let sem_PatExpr_Ann_8 :: T_PatExpr_8
sem_PatExpr_Ann_8 =
(\ _lhsIcSubst
_lhsIceParentNm
_lhsIchrEvidBindMp
_lhsIchrScopeBindMp
_lhsIfinTyVarMp
_lhsIfinValGam
_lhsImoduleNm
_lhsIrangeMp
_lhsIsysfEnv
_lhsItySigVarMp ->
_lhsIcSubst `seq`
(_lhsIceParentNm `seq`
(_lhsIchrEvidBindMp `seq`
(_lhsIchrScopeBindMp `seq`
(_lhsIfinTyVarMp `seq`
(_lhsIfinValGam `seq`
(_lhsImoduleNm `seq`
(_lhsIrangeMp `seq`
(_lhsIsysfEnv `seq`
(_lhsItySigVarMp `seq`
((case (_lhsIsysfEnv) of
{ _patExprOsysfEnv | _patExprOsysfEnv `seq` (True) ->
(case (_lhsIrangeMp) of
{ _patExprOrangeMp | _patExprOrangeMp `seq` (True) ->
(case (_lhsIfinValGam) of
{ _patExprOfinValGam | _patExprOfinValGam `seq` (True) ->
(case (_lhsIfinTyVarMp) of
{ _patExprOfinTyVarMp | _patExprOfinTyVarMp `seq` (True) ->
(case (_lhsItySigVarMp) of
{ _patExprOtySigVarMp | _patExprOtySigVarMp `seq` (True) ->
(case (_lhsImoduleNm) of
{ _patExprOmoduleNm | _patExprOmoduleNm `seq` (True) ->
(case (_lhsIchrScopeBindMp) of
{ _patExprOchrScopeBindMp | _patExprOchrScopeBindMp `seq` (True) ->
(case (_lhsIchrEvidBindMp) of
{ _patExprOchrEvidBindMp | _patExprOchrEvidBindMp `seq` (True) ->
(case (_lhsIceParentNm) of
{ _patExprOceParentNm | _patExprOceParentNm `seq` (True) ->
(case (_lhsIcSubst) of
{ _patExprOcSubst | _patExprOcSubst `seq` (True) ->
(case (patExpr_8 _patExprOcSubst _patExprOceParentNm _patExprOchrEvidBindMp _patExprOchrScopeBindMp _patExprOfinTyVarMp _patExprOfinValGam _patExprOmoduleNm _patExprOrangeMp _patExprOsysfEnv _patExprOtySigVarMp) of
{ ( _patExprIallErrSq,_patExprIappArgPPL,_patExprIappFunNm,_patExprIappFunPP,_patExprIcSubst,_patExprIerrSq,_patExprIfsRPatL,_patExprIgathMentrelFilterMp,_patExprIgathTvKiVarMp,_patExprIisBang,_patExprIpatCRest,_patExprIpp,_patExprIrpat,_patExprIvalCBindL) | True ->
(case (_patExprIallErrSq) of
{ _lhsOallErrSq | _lhsOallErrSq `seq` (True) ->
(case ([]) of
{ _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) ->
(case (hsnUnknown) of
{ _lhsOappFunNm | _lhsOappFunNm `seq` (True) ->
(case (_patExprIpp) of
{ _pp | _pp `seq` (True) ->
(case (_pp) of
{ _lhsOappFunPP | _lhsOappFunPP `seq` (True) ->
(case (_patExprIcSubst) of
{ _lhsOcSubst | _lhsOcSubst `seq` (True) ->
(case (_patExprIerrSq) of
{ _lhsOerrSq | _lhsOerrSq `seq` (True) ->
(case ([]) of
{ _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) ->
(case (_patExprIgathMentrelFilterMp) of
{ _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) ->
(case (_patExprIgathTvKiVarMp) of
{ _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) ->
(case (False) of
{ _lhsOisBang | _lhsOisBang `seq` (True) ->
(case (CPatRest_Empty) of
{ _lhsOpatCRest | _lhsOpatCRest `seq` (True) ->
(case (_pp) of
{ _lhsOpp | _lhsOpp `seq` (True) ->
(case (_patExprIrpat) of
{ _lhsOrpat | _lhsOrpat `seq` (True) ->
(case (_patExprIvalCBindL) of
{ _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) ->
( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOrpat,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))
in sem_PatExpr_Ann_8)) of
{ ( sem_PatExpr_8) | True ->
( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_Ann_7)) of
{ ( sem_PatExpr_7) | True ->
( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_Ann_6)) of
{ ( sem_PatExpr_6) | True ->
( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }) }) })))
in sem_PatExpr_Ann_5)) of
{ ( sem_PatExpr_5) | True ->
( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) })))))))
in sem_PatExpr_Ann_4)) of
{ ( sem_PatExpr_4) | True ->
( _lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))
in sem_PatExpr_Ann_3)) of
{ ( sem_PatExpr_3) | True ->
( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) })))))
in sem_PatExpr_Ann_2)) of
{ ( sem_PatExpr_2) | True ->
( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) })))
in sem_PatExpr_Ann_1)) of
{ ( sem_PatExpr_1) | True ->
( _lhsOrange,sem_PatExpr_1) }) }) }) })
sem_PatExpr_TypeAs :: Range ->
T_TyExpr ->
T_PatExpr ->
T_PatExpr
sem_PatExpr_TypeAs hsrange_ tyExpr_ patExpr_ | hsrange_ `seq` (tyExpr_ `seq` (patExpr_ `seq` (True))) =
(case (patExpr_) of
{ ( _patExprIrange,patExpr_1) | True ->
(case (tyExpr_) of
{ ( _tyExprIrange,tyExpr_1) | True ->
(case (rangeUnions [hsrange_, _tyExprIrange , _patExprIrange
]) of
{ _range | _range `seq` (True) ->
(case (_range) of
{ _lhsOrange | _lhsOrange `seq` (True) ->
(case ((let sem_PatExpr_TypeAs_1 :: T_PatExpr_1
sem_PatExpr_TypeAs_1 =
(\ _lhsIgUniq ->
_lhsIgUniq `seq`
((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> case nextUnique __cont of { (__cont, lUniq_4_fo) -> (__cont,lUniq,lUniq_4_fo)}} )) of
{ __tup189 | __tup189 `seq` (True) ->
(case (__tup189) of
{ (_tyExprOgUniq,_,_) | _tyExprOgUniq `seq` (True) ->
(case (tyExpr_1 _tyExprOgUniq) of
{ ( _tyExprIgUniq,tyExpr_2) | True ->
(case (_tyExprIgUniq) of
{ _patExprOgUniq | _patExprOgUniq `seq` (True) ->
(case (patExpr_1 _patExprOgUniq) of
{ ( _patExprIgUniq,patExpr_2) | True ->
(case (_patExprIgUniq) of
{ _lhsOgUniq | _lhsOgUniq `seq` (True) ->
(case ((let sem_PatExpr_TypeAs_2 :: T_PatExpr_2
sem_PatExpr_TypeAs_2 =
(\ _lhsIkiGam
_lhsIlexLev
_lhsIpredSameScopeCounter ->
_lhsIkiGam `seq`
(_lhsIlexLev `seq`
(_lhsIpredSameScopeCounter `seq`
((case (_lhsIpredSameScopeCounter) of
{ _patExprOpredSameScopeCounter | _patExprOpredSameScopeCounter `seq` (True) ->
(case (_lhsIlexLev) of
{ _patExprOlexLev | _patExprOlexLev `seq` (True) ->
(case (_lhsIkiGam) of
{ _patExprOkiGam | _patExprOkiGam `seq` (True) ->
(case (patExpr_2 _patExprOkiGam _patExprOlexLev _patExprOpredSameScopeCounter) of
{ ( _patExprIpredSameScopeCounter,patExpr_3) | True ->
(case (_patExprIpredSameScopeCounter) of
{ _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) ->
(case ((let sem_PatExpr_TypeAs_3 :: T_PatExpr_3
sem_PatExpr_TypeAs_3 =
(\ _lhsIkiVarMp
_lhsIopts
_lhsIpolGam
_lhsIpolVarMp
_lhsIpredScope
_lhsItyGam
_lhsItyKiGam
_lhsItyKiGlobFreeTvarS ->
_lhsIkiVarMp `seq`
(_lhsIopts `seq`
(_lhsIpolGam `seq`
(_lhsIpolVarMp `seq`
(_lhsIpredScope `seq`
(_lhsItyGam `seq`
(_lhsItyKiGam `seq`
(_lhsItyKiGlobFreeTvarS `seq`
((case (_lhsItyKiGlobFreeTvarS) of
{ _patExprOtyKiGlobFreeTvarS | _patExprOtyKiGlobFreeTvarS `seq` (True) ->
(case (_lhsItyKiGam) of
{ _tyExprOtyKiGam | _tyExprOtyKiGam `seq` (True) ->
(case (_lhsItyGam) of
{ _tyExprOtyGam | _tyExprOtyGam `seq` (True) ->
(case (_lhsIpolVarMp) of
{ _tyExprOpolVarMp | _tyExprOpolVarMp `seq` (True) ->
(case (_lhsIpolGam) of
{ _tyExprOpolGam | _tyExprOpolGam `seq` (True) ->
(case (polCovariant) of
{ _tyExprOknPolCtx | _tyExprOknPolCtx `seq` (True) ->
(case (tyExpr_2 _tyExprOtyGam) of
{ ( _tyExprIty,_tyExprItyGam,tyExpr_3) | True ->
(case (tyExpr_3 _tyExprOknPolCtx) of
{ ( _tyExprIpolVarL,tyExpr_4) | True ->
(case (tyExpr_4 _tyExprOpolGam _tyExprOpolVarMp) of
{ ( _tyExprImbStrictness,_tyExprIpolVarMp,tyExpr_5) | True ->
(case (tyExpr_5 _tyExprOtyKiGam) of
{ ( _tyExprIintlTyKiGam,_tyExprItyKiGam,tyExpr_6) | True ->
(case (_tyExprItyKiGam) of
{ _patExprOtyKiGam | _patExprOtyKiGam `seq` (True) ->
(case (_tyExprItyGam) of
{ _patExprOtyGam | _patExprOtyGam `seq` (True) ->
(case (_lhsIpredScope) of
{ _patExprOpredScope | _patExprOpredScope `seq` (True) ->
(case (_tyExprIpolVarMp) of
{ _patExprOpolVarMp | _patExprOpolVarMp `seq` (True) ->
(case (_lhsIpolGam) of
{ _patExprOpolGam | _patExprOpolGam `seq` (True) ->
(case (_lhsIopts) of
{ _patExprOopts | _patExprOopts `seq` (True) ->
(case (_lhsIkiVarMp) of
{ _tyExprOkiVarMp | _tyExprOkiVarMp `seq` (True) ->
(case (tyExpr_6 _tyExprOkiVarMp) of
{ ( _tyExprIgathTyVarPolGam,_tyExprIki,_tyExprIkiVarMp,_tyExprIpol,_tyExprItyVarWildMp,tyExpr_7) | True ->
(case (_tyExprIkiVarMp) of
{ _patExprOkiVarMp | _patExprOkiVarMp `seq` (True) ->
(case (patExpr_3 _patExprOkiVarMp _patExprOopts _patExprOpolGam _patExprOpolVarMp _patExprOpredScope _patExprOtyGam _patExprOtyKiGam _patExprOtyKiGlobFreeTvarS) of
{ ( _patExprIkiVarMp,_patExprIpolVarMp,_patExprItyGam,_patExprItyKiGam,patExpr_4) | True ->
(case (_patExprIkiVarMp) of
{ _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) ->
(case (_patExprIpolVarMp) of
{ _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) ->
(case (_patExprItyGam) of
{ _lhsOtyGam | _lhsOtyGam `seq` (True) ->
(case (_patExprItyKiGam) of
{ _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) ->
(case ((let sem_PatExpr_TypeAs_4 :: T_PatExpr_4
sem_PatExpr_TypeAs_4 =
(\ _lhsIclGam
_lhsIdataGam
_lhsIfinKiVarMp
_lhsIfinTyKiGam
_lhsItyTyTySigFreeTvarS ->
_lhsIclGam `seq`
(_lhsIdataGam `seq`
(_lhsIfinKiVarMp `seq`
(_lhsIfinTyKiGam `seq`
(_lhsItyTyTySigFreeTvarS `seq`
((case (_lhsItyTyTySigFreeTvarS) of
{ _patExprOtyTyTySigFreeTvarS | _patExprOtyTyTySigFreeTvarS `seq` (True) ->
(case (_lhsIfinTyKiGam) of
{ _patExprOfinTyKiGam | _patExprOfinTyKiGam `seq` (True) ->
(case (_lhsIfinKiVarMp) of
{ _patExprOfinKiVarMp | _patExprOfinKiVarMp `seq` (True) ->
(case (_lhsIdataGam) of
{ _patExprOdataGam | _patExprOdataGam `seq` (True) ->
(case (_lhsIclGam) of
{ _patExprOclGam | _patExprOclGam `seq` (True) ->
(case (patExpr_4 _patExprOclGam _patExprOdataGam _patExprOfinKiVarMp _patExprOfinTyKiGam _patExprOtyTyTySigFreeTvarS) of
{ ( _patExprIchrInstDeclSq,_patExprItopNm,patExpr_5) | True ->
(case (_patExprIchrInstDeclSq) of
{ _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) ->
(case (_patExprItopNm) of
{ _lhsOtopNm | _lhsOtopNm `seq` (True) ->
(case ((let sem_PatExpr_TypeAs_5 :: T_PatExpr_5
sem_PatExpr_TypeAs_5 =
(\ _lhsIvalGam ->
_lhsIvalGam `seq`
((case (_lhsIvalGam) of
{ _patExprOvalGam | _patExprOvalGam `seq` (True) ->
(case (patExpr_5 _patExprOvalGam) of
{ ( _patExprIarity,_patExprImbTopNm,_patExprIpatFunTy,patExpr_6) | True ->
(case (_patExprIarity) of
{ _lhsOarity | _lhsOarity `seq` (True) ->
(case (Nothing) of
{ _mbTopNm | _mbTopNm `seq` (True) ->
(case (_mbTopNm) of
{ _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) ->
(case (_patExprIpatFunTy) of
{ _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) ->
(case ((let sem_PatExpr_TypeAs_6 :: T_PatExpr_6
sem_PatExpr_TypeAs_6 =
(\ _lhsIfiOpts
_lhsIinclVarBind
_lhsIknTy
_lhsIknTyL
_lhsIpatTyVarMp
_lhsItySigGam ->
_lhsIfiOpts `seq`
(_lhsIinclVarBind `seq`
(_lhsIknTy `seq`
(_lhsIknTyL `seq`
(_lhsIpatTyVarMp `seq`
(_lhsItySigGam `seq`
((case (_lhsItySigGam) of
{ _patExprOtySigGam | _patExprOtySigGam `seq` (True) ->
(case (_lhsIknTyL) of
{ _patExprOknTyL | _patExprOknTyL `seq` (True) ->
(case (_lhsIinclVarBind) of
{ _patExprOinclVarBind | _patExprOinclVarBind `seq` (True) ->
(case (_lhsIfiOpts) of
{ _patExprOfiOpts | _patExprOfiOpts `seq` (True) ->
(case (__tup189) of
{ (_,_,_lUniq_4_fo) | _lUniq_4_fo `seq` (True) ->
(case (_tyExprIty) of
{ _ty_q_ | _ty_q_ `seq` (True) ->
(case (defaultFIEnv
{ feEHCOpts = _lhsIopts
, fePredScope = _lhsIpredScope
, feTyGam = _lhsItyGam
, fePolGam = _lhsIpolGam
, feRange = _range
}) of
{ _fe | _fe `seq` (True) ->
(case (fitsIn _lhsIfiOpts _fe _lUniq_4_fo _lhsIpatTyVarMp _lhsIknTy _ty_q_) of
{ _fo_ | _fo_ `seq` (True) ->
(case (foTy _fo_) of
{ _patExprOknTy | _patExprOknTy `seq` (True) ->
(case (foVarMp _fo_ `varUpd` _lhsIpatTyVarMp) of
{ _patExprOpatTyVarMp | _patExprOpatTyVarMp `seq` (True) ->
(case (patExpr_6 _patExprOfiOpts _patExprOinclVarBind _patExprOknTy _patExprOknTyL _patExprOpatTyVarMp _patExprOtySigGam) of
{ ( _patExprIpatTyVarMp,_patExprIvalGam,patExpr_7) | True ->
(case (_patExprIpatTyVarMp) of
{ _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) ->
(case (_patExprIvalGam) of
{ _lhsOvalGam | _lhsOvalGam `seq` (True) ->
(case ((let sem_PatExpr_TypeAs_7 :: T_PatExpr_7
sem_PatExpr_TypeAs_7 =
(\ _lhsIchrStore
_lhsIclDfGam
_lhsItvKiVarMp
_lhsItyTyGlobFreeTvarS
_lhsItyVarMp
_lhsIvalTyGlobFreeTvarS ->
_lhsIchrStore `seq`
(_lhsIclDfGam `seq`
(_lhsItvKiVarMp `seq`
(_lhsItyTyGlobFreeTvarS `seq`
(_lhsItyVarMp `seq`
(_lhsIvalTyGlobFreeTvarS `seq`
((case (_lhsIvalTyGlobFreeTvarS) of
{ _patExprOvalTyGlobFreeTvarS | _patExprOvalTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItyVarMp) of
{ _patExprOtyVarMp | _patExprOtyVarMp `seq` (True) ->
(case (_lhsItyTyGlobFreeTvarS) of
{ _patExprOtyTyGlobFreeTvarS | _patExprOtyTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItvKiVarMp) of
{ _patExprOtvKiVarMp | _patExprOtvKiVarMp `seq` (True) ->
(case (_lhsIclDfGam) of
{ _patExprOclDfGam | _patExprOclDfGam `seq` (True) ->
(case (_lhsIchrStore) of
{ _patExprOchrStore | _patExprOchrStore `seq` (True) ->
(case (patExpr_7 _patExprOchrStore _patExprOclDfGam _patExprOtvKiVarMp _patExprOtyTyGlobFreeTvarS _patExprOtyVarMp _patExprOvalTyGlobFreeTvarS) of
{ ( _patExprIcpNm,_patExprIgathCnstrMp,_patExprIgathRangeMp,_patExprIscopeGam,_patExprIty,_patExprItyVarMp,patExpr_8) | True ->
(case (_patExprIcpNm) of
{ _lhsOcpNm | _lhsOcpNm `seq` (True) ->
(case (_patExprIgathCnstrMp) of
{ _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) ->
(case (_patExprIgathRangeMp) of
{ _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) ->
(case (_patExprIscopeGam) of
{ _lhsOscopeGam | _lhsOscopeGam `seq` (True) ->
(case (_patExprIty) of
{ _lhsOty | _lhsOty `seq` (True) ->
(case (_patExprItyVarMp) of
{ _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) ->
(case ((let sem_PatExpr_TypeAs_8 :: T_PatExpr_8
sem_PatExpr_TypeAs_8 =
(\ _lhsIcSubst
_lhsIceParentNm
_lhsIchrEvidBindMp
_lhsIchrScopeBindMp
_lhsIfinTyVarMp
_lhsIfinValGam
_lhsImoduleNm
_lhsIrangeMp
_lhsIsysfEnv
_lhsItySigVarMp ->
_lhsIcSubst `seq`
(_lhsIceParentNm `seq`
(_lhsIchrEvidBindMp `seq`
(_lhsIchrScopeBindMp `seq`
(_lhsIfinTyVarMp `seq`
(_lhsIfinValGam `seq`
(_lhsImoduleNm `seq`
(_lhsIrangeMp `seq`
(_lhsIsysfEnv `seq`
(_lhsItySigVarMp `seq`
((case (_lhsIsysfEnv) of
{ _patExprOsysfEnv | _patExprOsysfEnv `seq` (True) ->
(case (_lhsIrangeMp) of
{ _patExprOrangeMp | _patExprOrangeMp `seq` (True) ->
(case (_lhsIfinValGam) of
{ _patExprOfinValGam | _patExprOfinValGam `seq` (True) ->
(case (_lhsIfinTyVarMp) of
{ _patExprOfinTyVarMp | _patExprOfinTyVarMp `seq` (True) ->
(case (_lhsItySigVarMp) of
{ _patExprOtySigVarMp | _patExprOtySigVarMp `seq` (True) ->
(case (_lhsImoduleNm) of
{ _patExprOmoduleNm | _patExprOmoduleNm `seq` (True) ->
(case (_lhsIchrScopeBindMp) of
{ _patExprOchrScopeBindMp | _patExprOchrScopeBindMp `seq` (True) ->
(case (_lhsIchrEvidBindMp) of
{ _patExprOchrEvidBindMp | _patExprOchrEvidBindMp `seq` (True) ->
(case (_lhsIceParentNm) of
{ _patExprOceParentNm | _patExprOceParentNm `seq` (True) ->
(case (_lhsIcSubst) of
{ _patExprOcSubst | _patExprOcSubst `seq` (True) ->
(case (patExpr_8 _patExprOcSubst _patExprOceParentNm _patExprOchrEvidBindMp _patExprOchrScopeBindMp _patExprOfinTyVarMp _patExprOfinValGam _patExprOmoduleNm _patExprOrangeMp _patExprOsysfEnv _patExprOtySigVarMp) of
{ ( _patExprIallErrSq,_patExprIappArgPPL,_patExprIappFunNm,_patExprIappFunPP,_patExprIcSubst,_patExprIerrSq,_patExprIfsRPatL,_patExprIgathMentrelFilterMp,_patExprIgathTvKiVarMp,_patExprIisBang,_patExprIpatCRest,_patExprIpp,_patExprIrpat,_patExprIvalCBindL) | True ->
(case (_lhsIclGam) of
{ _tyExprOclGam | _tyExprOclGam `seq` (True) ->
(case (tyExpr_7 _tyExprOclGam) of
{ ( _tyExprIevTy,tyExpr_8) | True ->
(case (_lhsIvalTyGlobFreeTvarS) of
{ _tyExprOvalTyGlobFreeTvarS | _tyExprOvalTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItyTyTySigFreeTvarS) of
{ _tyExprOtyTyTySigFreeTvarS | _tyExprOtyTyTySigFreeTvarS `seq` (True) ->
(case (_lhsItyTyGlobFreeTvarS) of
{ _tyExprOtyTyGlobFreeTvarS | _tyExprOtyTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItyKiGlobFreeTvarS) of
{ _tyExprOtyKiGlobFreeTvarS | _tyExprOtyKiGlobFreeTvarS `seq` (True) ->
(case (_lhsIsysfEnv) of
{ _tyExprOsysfEnv | _tyExprOsysfEnv `seq` (True) ->
(case (_lhsIopts) of
{ _tyExprOopts | _tyExprOopts `seq` (True) ->
(case (_lhsImoduleNm) of
{ _tyExprOmoduleNm | _tyExprOmoduleNm `seq` (True) ->
(case (_lhsIkiGam) of
{ _tyExprOkiGam | _tyExprOkiGam `seq` (True) ->
(case (_lhsIfinTyVarMp) of
{ _tyExprOfinTyVarMp | _tyExprOfinTyVarMp `seq` (True) ->
(case (_lhsIfinTyKiGam) of
{ _tyExprOfinTyKiGam | _tyExprOfinTyKiGam `seq` (True) ->
(case (_lhsIfinKiVarMp) of
{ _tyExprOfinKiVarMp | _tyExprOfinKiVarMp `seq` (True) ->
(case (tyExpr_8 _tyExprOfinKiVarMp _tyExprOfinTyKiGam _tyExprOfinTyVarMp _tyExprOkiGam _tyExprOmoduleNm _tyExprOopts _tyExprOsysfEnv _tyExprOtyKiGlobFreeTvarS _tyExprOtyTyGlobFreeTvarS _tyExprOtyTyTySigFreeTvarS _tyExprOvalTyGlobFreeTvarS) of
{ ( _tyExprIallErrSq,_tyExprIappArgPPL,_tyExprIappFunNm,_tyExprIappFunPP,_tyExprIclMissNmS,_tyExprIclNmS,_tyExprIerrSq,_tyExprIgathMentrelFilterMp,_tyExprIpp,_tyExprItyWildL) | True ->
(case (_tyExprIallErrSq `Seq.union` _patExprIallErrSq) of
{ _lhsOallErrSq | _lhsOallErrSq `seq` (True) ->
(case ([]) of
{ _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) ->
(case (hsnUnknown) of
{ _lhsOappFunNm | _lhsOappFunNm `seq` (True) ->
(case (_patExprIpp >#< "::" >#< _tyExprIpp) of
{ _pp | _pp `seq` (True) ->
(case (_pp) of
{ _lhsOappFunPP | _lhsOappFunPP `seq` (True) ->
(case (_patExprIcSubst) of
{ _lhsOcSubst | _lhsOcSubst `seq` (True) ->
(case (rngLift _range mkNestErr' _pp [ _patExprIerrSq, _tyExprIerrSq
, foErrSq _fo_
]) of
{ _lhsOerrSq | _lhsOerrSq `seq` (True) ->
(case ([]) of
{ _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) ->
(case (_tyExprIgathMentrelFilterMp `mentrelFilterMpUnion` _patExprIgathMentrelFilterMp) of
{ _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) ->
(case (_patExprIgathTvKiVarMp) of
{ _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) ->
(case (False) of
{ _lhsOisBang | _lhsOisBang `seq` (True) ->
(case (CPatRest_Empty) of
{ _lhsOpatCRest | _lhsOpatCRest `seq` (True) ->
(case (_pp) of
{ _lhsOpp | _lhsOpp `seq` (True) ->
(case (_patExprIrpat) of
{ _lhsOrpat | _lhsOrpat `seq` (True) ->
(case (_patExprIvalCBindL) of
{ _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) ->
( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOrpat,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))
in sem_PatExpr_TypeAs_8)) of
{ ( sem_PatExpr_8) | True ->
( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_TypeAs_7)) of
{ ( sem_PatExpr_7) | True ->
( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_TypeAs_6)) of
{ ( sem_PatExpr_6) | True ->
( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }) }) })))
in sem_PatExpr_TypeAs_5)) of
{ ( sem_PatExpr_5) | True ->
( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) })))))))
in sem_PatExpr_TypeAs_4)) of
{ ( sem_PatExpr_4) | True ->
( _lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))
in sem_PatExpr_TypeAs_3)) of
{ ( sem_PatExpr_3) | True ->
( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) })))))
in sem_PatExpr_TypeAs_2)) of
{ ( sem_PatExpr_2) | True ->
( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) }) }) })))
in sem_PatExpr_TypeAs_1)) of
{ ( sem_PatExpr_1) | True ->
( _lhsOrange,sem_PatExpr_1) }) }) }) }) })
sem_PatExpr_SConst :: Range ->
String ->
T_PatExpr
sem_PatExpr_SConst hsrange_ str_ | hsrange_ `seq` (str_ `seq` (True)) =
(case (hsrange_) of
{ _range | _range `seq` (True) ->
(case (_range) of
{ _lhsOrange | _lhsOrange `seq` (True) ->
(case ((let sem_PatExpr_SConst_1 :: T_PatExpr_1
sem_PatExpr_SConst_1 =
(\ _lhsIgUniq ->
_lhsIgUniq `seq`
((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of
{ __tup190 | __tup190 `seq` (True) ->
(case (__tup190) of
{ (_lhsOgUniq,_) | _lhsOgUniq `seq` (True) ->
(case ((let sem_PatExpr_SConst_2 :: T_PatExpr_2
sem_PatExpr_SConst_2 =
(\ _lhsIkiGam
_lhsIlexLev
_lhsIpredSameScopeCounter ->
_lhsIkiGam `seq`
(_lhsIlexLev `seq`
(_lhsIpredSameScopeCounter `seq`
((case (_lhsIpredSameScopeCounter) of
{ _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) ->
(case ((let sem_PatExpr_SConst_3 :: T_PatExpr_3
sem_PatExpr_SConst_3 =
(\ _lhsIkiVarMp
_lhsIopts
_lhsIpolGam
_lhsIpolVarMp
_lhsIpredScope
_lhsItyGam
_lhsItyKiGam
_lhsItyKiGlobFreeTvarS ->
_lhsIkiVarMp `seq`
(_lhsIopts `seq`
(_lhsIpolGam `seq`
(_lhsIpolVarMp `seq`
(_lhsIpredScope `seq`
(_lhsItyGam `seq`
(_lhsItyKiGam `seq`
(_lhsItyKiGlobFreeTvarS `seq`
((case (_lhsIkiVarMp) of
{ _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) ->
(case (_lhsIpolVarMp) of
{ _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) ->
(case (_lhsItyGam) of
{ _lhsOtyGam | _lhsOtyGam `seq` (True) ->
(case (_lhsItyKiGam) of
{ _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) ->
(case ((let sem_PatExpr_SConst_4 :: T_PatExpr_4
sem_PatExpr_SConst_4 =
(\ _lhsIclGam
_lhsIdataGam
_lhsIfinKiVarMp
_lhsIfinTyKiGam
_lhsItyTyTySigFreeTvarS ->
_lhsIclGam `seq`
(_lhsIdataGam `seq`
(_lhsIfinKiVarMp `seq`
(_lhsIfinTyKiGam `seq`
(_lhsItyTyTySigFreeTvarS `seq`
((case (Seq.empty) of
{ _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) ->
(case (__tup190) of
{ (_,_lUniq) | _lUniq `seq` (True) ->
(case (uidHNm _lUniq) of
{ _topNm | _topNm `seq` (True) ->
(case (_topNm) of
{ _lhsOtopNm | _lhsOtopNm `seq` (True) ->
(case ((let sem_PatExpr_SConst_5 :: T_PatExpr_5
sem_PatExpr_SConst_5 =
(\ _lhsIvalGam ->
_lhsIvalGam `seq`
((case (0) of
{ _lhsOarity | _lhsOarity `seq` (True) ->
(case (Nothing) of
{ _mbTopNm | _mbTopNm `seq` (True) ->
(case (_mbTopNm) of
{ _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) ->
(case (Ty_Any) of
{ _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) ->
(case ((let sem_PatExpr_SConst_6 :: T_PatExpr_6
sem_PatExpr_SConst_6 =
(\ _lhsIfiOpts
_lhsIinclVarBind
_lhsIknTy
_lhsIknTyL
_lhsIpatTyVarMp
_lhsItySigGam ->
_lhsIfiOpts `seq`
(_lhsIinclVarBind `seq`
(_lhsIknTy `seq`
(_lhsIknTyL `seq`
(_lhsIpatTyVarMp `seq`
(_lhsItySigGam `seq`
((case (tyString _lhsIopts) of
{ _constTy | _constTy `seq` (True) ->
(case (defaultFIEnv
{ feEHCOpts = _lhsIopts
, fePredScope = _lhsIpredScope
, feTyGam = _lhsItyGam
, fePolGam = _lhsIpolGam
, feRange = _range
}) of
{ _fe | _fe `seq` (True) ->
(case (fitsIn _lhsIfiOpts _fe _lUniq _lhsIpatTyVarMp _lhsIknTy _constTy) of
{ _fo_ | _fo_ `seq` (True) ->
(case (foVarMp _fo_ `varUpd` _lhsIpatTyVarMp) of
{ _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) ->
(case (_lhsIvalGam) of
{ _lhsOvalGam | _lhsOvalGam `seq` (True) ->
(case ((let sem_PatExpr_SConst_7 :: T_PatExpr_7
sem_PatExpr_SConst_7 =
(\ _lhsIchrStore
_lhsIclDfGam
_lhsItvKiVarMp
_lhsItyTyGlobFreeTvarS
_lhsItyVarMp
_lhsIvalTyGlobFreeTvarS ->
_lhsIchrStore `seq`
(_lhsIclDfGam `seq`
(_lhsItvKiVarMp `seq`
(_lhsItyTyGlobFreeTvarS `seq`
(_lhsItyVarMp `seq`
(_lhsIvalTyGlobFreeTvarS `seq`
((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of
{ _cpNm | _cpNm `seq` (True) ->
(case (_cpNm) of
{ _lhsOcpNm | _lhsOcpNm `seq` (True) ->
(case (Map.empty) of
{ _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) ->
(case (Map.empty) of
{ _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) ->
(case (emptyGam) of
{ _lhsOscopeGam | _lhsOscopeGam `seq` (True) ->
(case (_constTy) of
{ _ty | _ty `seq` (True) ->
(case (_ty) of
{ _lhsOty | _lhsOty `seq` (True) ->
(case (_lhsItyVarMp) of
{ _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) ->
(case ((let sem_PatExpr_SConst_8 :: T_PatExpr_8
sem_PatExpr_SConst_8 =
(\ _lhsIcSubst
_lhsIceParentNm
_lhsIchrEvidBindMp
_lhsIchrScopeBindMp
_lhsIfinTyVarMp
_lhsIfinValGam
_lhsImoduleNm
_lhsIrangeMp
_lhsIsysfEnv
_lhsItySigVarMp ->
_lhsIcSubst `seq`
(_lhsIceParentNm `seq`
(_lhsIchrEvidBindMp `seq`
(_lhsIchrScopeBindMp `seq`
(_lhsIfinTyVarMp `seq`
(_lhsIfinValGam `seq`
(_lhsImoduleNm `seq`
(_lhsIrangeMp `seq`
(_lhsIsysfEnv `seq`
(_lhsItySigVarMp `seq`
((case (Seq.empty) of
{ _lhsOallErrSq | _lhsOallErrSq `seq` (True) ->
(case ([]) of
{ _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) ->
(case (hsnUnknown) of
{ _lhsOappFunNm | _lhsOappFunNm `seq` (True) ->
(case (pp (show str_)) of
{ _pp | _pp `seq` (True) ->
(case (_pp) of
{ _lhsOappFunPP | _lhsOappFunPP `seq` (True) ->
(case (_lhsIcSubst) of
{ _lhsOcSubst | _lhsOcSubst `seq` (True) ->
(case (Seq.empty) of
{ _lhsOerrSq | _lhsOerrSq `seq` (True) ->
(case ([]) of
{ _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) ->
(case (Map.empty) of
{ _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) ->
(case (emptyVarMp) of
{ _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) ->
(case (False) of
{ _lhsOisBang | _lhsOisBang `seq` (True) ->
(case (CPatRest_Empty) of
{ _lhsOpatCRest | _lhsOpatCRest `seq` (True) ->
(case (_pp) of
{ _lhsOpp | _lhsOpp `seq` (True) ->
(case (_lhsIfinTyVarMp `varUpd` _ty) of
{ _finalTy | _finalTy `seq` (True) ->
(case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTy) of
{ _finalTyExpanded | _finalTyExpanded `seq` (True) ->
(case ((appDbg "{Expr,PatExpr,Decl,DataFieldExpr}.sysfty not implemented" :: SysfTy)) of
{ _sysfty | _sysfty `seq` (True) ->
(case (mkCTy _lhsIopts _finalTyExpanded _sysfty) of
{ _acorety | _acorety `seq` (True) ->
(case (RPat_Int _cpNm _acorety (-1)) of
{ _rpat | _rpat `seq` (True) ->
(case (_rpat) of
{ _lhsOrpat | _lhsOrpat `seq` (True) ->
(case ([]) of
{ _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) ->
( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOrpat,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))
in sem_PatExpr_SConst_8)) of
{ ( sem_PatExpr_8) | True ->
( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_SConst_7)) of
{ ( sem_PatExpr_7) | True ->
( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }))))))))
in sem_PatExpr_SConst_6)) of
{ ( sem_PatExpr_6) | True ->
( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) })))
in sem_PatExpr_SConst_5)) of
{ ( sem_PatExpr_5) | True ->
( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) })))))))
in sem_PatExpr_SConst_4)) of
{ ( sem_PatExpr_4) | True ->
( _lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }))))))))))
in sem_PatExpr_SConst_3)) of
{ ( sem_PatExpr_3) | True ->
( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) })))))
in sem_PatExpr_SConst_2)) of
{ ( sem_PatExpr_2) | True ->
( _lhsOgUniq,sem_PatExpr_2) }) }) })))
in sem_PatExpr_SConst_1)) of
{ ( sem_PatExpr_1) | True ->
( _lhsOrange,sem_PatExpr_1) }) }) })
sem_PatExpr_Rec :: Range ->
T_RecPatExpr ->
T_PatExpr
sem_PatExpr_Rec hsrange_ recPatExpr_ | hsrange_ `seq` (recPatExpr_ `seq` (True)) =
(case (recPatExpr_) of
{ ( _recPatExprIrange,recPatExpr_1) | True ->
(case (rangeUnions [hsrange_, _recPatExprIrange
, _recPatExprIrange
]) of
{ _range | _range `seq` (True) ->
(case (_range) of
{ _lhsOrange | _lhsOrange `seq` (True) ->
(case ((let sem_PatExpr_Rec_1 :: T_PatExpr_1
sem_PatExpr_Rec_1 =
(\ _lhsIgUniq ->
_lhsIgUniq `seq`
((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of
{ __tup191 | __tup191 `seq` (True) ->
(case (__tup191) of
{ (_recPatExprOgUniq,_) | _recPatExprOgUniq `seq` (True) ->
(case (recPatExpr_1 _recPatExprOgUniq) of
{ ( _recPatExprIgUniq,recPatExpr_2) | True ->
(case (_recPatExprIgUniq) of
{ _lhsOgUniq | _lhsOgUniq `seq` (True) ->
(case ((let sem_PatExpr_Rec_2 :: T_PatExpr_2
sem_PatExpr_Rec_2 =
(\ _lhsIkiGam
_lhsIlexLev
_lhsIpredSameScopeCounter ->
_lhsIkiGam `seq`
(_lhsIlexLev `seq`
(_lhsIpredSameScopeCounter `seq`
((case (_lhsIpredSameScopeCounter) of
{ _recPatExprOpredSameScopeCounter | _recPatExprOpredSameScopeCounter `seq` (True) ->
(case (_lhsIlexLev) of
{ _recPatExprOlexLev | _recPatExprOlexLev `seq` (True) ->
(case (_lhsIkiGam) of
{ _recPatExprOkiGam | _recPatExprOkiGam `seq` (True) ->
(case (recPatExpr_2 _recPatExprOkiGam _recPatExprOlexLev _recPatExprOpredSameScopeCounter) of
{ ( _recPatExprIpredSameScopeCounter,recPatExpr_3) | True ->
(case (_recPatExprIpredSameScopeCounter) of
{ _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) ->
(case ((let sem_PatExpr_Rec_3 :: T_PatExpr_3
sem_PatExpr_Rec_3 =
(\ _lhsIkiVarMp
_lhsIopts
_lhsIpolGam
_lhsIpolVarMp
_lhsIpredScope
_lhsItyGam
_lhsItyKiGam
_lhsItyKiGlobFreeTvarS ->
_lhsIkiVarMp `seq`
(_lhsIopts `seq`
(_lhsIpolGam `seq`
(_lhsIpolVarMp `seq`
(_lhsIpredScope `seq`
(_lhsItyGam `seq`
(_lhsItyKiGam `seq`
(_lhsItyKiGlobFreeTvarS `seq`
((case (_lhsItyKiGlobFreeTvarS) of
{ _recPatExprOtyKiGlobFreeTvarS | _recPatExprOtyKiGlobFreeTvarS `seq` (True) ->
(case (_lhsItyKiGam) of
{ _recPatExprOtyKiGam | _recPatExprOtyKiGam `seq` (True) ->
(case (_lhsItyGam) of
{ _recPatExprOtyGam | _recPatExprOtyGam `seq` (True) ->
(case (_lhsIpredScope) of
{ _recPatExprOpredScope | _recPatExprOpredScope `seq` (True) ->
(case (_lhsIpolVarMp) of
{ _recPatExprOpolVarMp | _recPatExprOpolVarMp `seq` (True) ->
(case (_lhsIpolGam) of
{ _recPatExprOpolGam | _recPatExprOpolGam `seq` (True) ->
(case (_lhsIopts) of
{ _recPatExprOopts | _recPatExprOopts `seq` (True) ->
(case (_lhsIkiVarMp) of
{ _recPatExprOkiVarMp | _recPatExprOkiVarMp `seq` (True) ->
(case (recPatExpr_3 _recPatExprOkiVarMp _recPatExprOopts _recPatExprOpolGam _recPatExprOpolVarMp _recPatExprOpredScope _recPatExprOtyGam _recPatExprOtyKiGam _recPatExprOtyKiGlobFreeTvarS) of
{ ( _recPatExprIkiVarMp,_recPatExprIpolVarMp,_recPatExprItyGam,_recPatExprItyKiGam,recPatExpr_4) | True ->
(case (_recPatExprIkiVarMp) of
{ _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) ->
(case (_recPatExprIpolVarMp) of
{ _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) ->
(case (_recPatExprItyGam) of
{ _lhsOtyGam | _lhsOtyGam `seq` (True) ->
(case (_recPatExprItyKiGam) of
{ _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) ->
(case ((let sem_PatExpr_Rec_4 :: T_PatExpr_4
sem_PatExpr_Rec_4 =
(\ _lhsIclGam
_lhsIdataGam
_lhsIfinKiVarMp
_lhsIfinTyKiGam
_lhsItyTyTySigFreeTvarS ->
_lhsIclGam `seq`
(_lhsIdataGam `seq`
(_lhsIfinKiVarMp `seq`
(_lhsIfinTyKiGam `seq`
(_lhsItyTyTySigFreeTvarS `seq`
((case (_lhsItyTyTySigFreeTvarS) of
{ _recPatExprOtyTyTySigFreeTvarS | _recPatExprOtyTyTySigFreeTvarS `seq` (True) ->
(case (_lhsIfinTyKiGam) of
{ _recPatExprOfinTyKiGam | _recPatExprOfinTyKiGam `seq` (True) ->
(case (_lhsIfinKiVarMp) of
{ _recPatExprOfinKiVarMp | _recPatExprOfinKiVarMp `seq` (True) ->
(case (_lhsIdataGam) of
{ _recPatExprOdataGam | _recPatExprOdataGam `seq` (True) ->
(case (_lhsIclGam) of
{ _recPatExprOclGam | _recPatExprOclGam `seq` (True) ->
(case (positionalFldNames) of
{ _recPatExprOpositionalFldNmL | _recPatExprOpositionalFldNmL `seq` (True) ->
(case (recPatExpr_4 _recPatExprOclGam _recPatExprOdataGam _recPatExprOfinKiVarMp _recPatExprOfinTyKiGam _recPatExprOpositionalFldNmL _recPatExprOtyTyTySigFreeTvarS) of
{ ( _recPatExprIchrInstDeclSq,_recPatExprIhasAFldRef,_recPatExprIpositionalFldNmL,recPatExpr_5) | True ->
(case (_recPatExprIchrInstDeclSq) of
{ _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) ->
(case (__tup191) of
{ (_,_lUniq) | _lUniq `seq` (True) ->
(case (uidHNm _lUniq) of
{ _topNm | _topNm `seq` (True) ->
(case (_topNm) of
{ _lhsOtopNm | _lhsOtopNm `seq` (True) ->
(case ((let sem_PatExpr_Rec_5 :: T_PatExpr_5
sem_PatExpr_Rec_5 =
(\ _lhsIvalGam ->
_lhsIvalGam `seq`
((case (0) of
{ _lhsOarity | _lhsOarity `seq` (True) ->
(case (Nothing) of
{ _mbTopNm | _mbTopNm `seq` (True) ->
(case (_mbTopNm) of
{ _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) ->
(case (Ty_Any) of
{ _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) ->
(case ((let sem_PatExpr_Rec_6 :: T_PatExpr_6
sem_PatExpr_Rec_6 =
(\ _lhsIfiOpts
_lhsIinclVarBind
_lhsIknTy
_lhsIknTyL
_lhsIpatTyVarMp
_lhsItySigGam ->
_lhsIfiOpts `seq`
(_lhsIinclVarBind `seq`
(_lhsIknTy `seq`
(_lhsIknTyL `seq`
(_lhsIpatTyVarMp `seq`
(_lhsItySigGam `seq`
((case (_lhsIvalGam) of
{ _recPatExprOvalGam | _recPatExprOvalGam `seq` (True) ->
(case (_lhsItySigGam) of
{ _recPatExprOtySigGam | _recPatExprOtySigGam `seq` (True) ->
(case (_lhsIpatTyVarMp) of
{ _recPatExprOpatTyVarMp | _recPatExprOpatTyVarMp `seq` (True) ->
(case (_lhsIknTy) of
{ _recPatExprOknTy | _recPatExprOknTy `seq` (True) ->
(case (_lhsIfiOpts) of
{ _recPatExprOfiOpts | _recPatExprOfiOpts `seq` (True) ->
(case (_recPatExprIhasAFldRef) of
{ _recPatExprOmatchOnFld | _recPatExprOmatchOnFld `seq` (True) ->
(case (recPatExpr_5 _recPatExprOfiOpts _recPatExprOknTy _recPatExprOmatchOnFld _recPatExprOpatTyVarMp _recPatExprOtySigGam _recPatExprOvalGam) of
{ ( _recPatExprIpatTyVarMp,_recPatExprIvalGam,recPatExpr_6) | True ->
(case (_recPatExprIpatTyVarMp) of
{ _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) ->
(case (_recPatExprIvalGam) of
{ _lhsOvalGam | _lhsOvalGam `seq` (True) ->
(case ((let sem_PatExpr_Rec_7 :: T_PatExpr_7
sem_PatExpr_Rec_7 =
(\ _lhsIchrStore
_lhsIclDfGam
_lhsItvKiVarMp
_lhsItyTyGlobFreeTvarS
_lhsItyVarMp
_lhsIvalTyGlobFreeTvarS ->
_lhsIchrStore `seq`
(_lhsIclDfGam `seq`
(_lhsItvKiVarMp `seq`
(_lhsItyTyGlobFreeTvarS `seq`
(_lhsItyVarMp `seq`
(_lhsIvalTyGlobFreeTvarS `seq`
((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of
{ _cpNm | _cpNm `seq` (True) ->
(case (_cpNm) of
{ _lhsOcpNm | _lhsOcpNm `seq` (True) ->
(case (_lhsIvalTyGlobFreeTvarS) of
{ _recPatExprOvalTyGlobFreeTvarS | _recPatExprOvalTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItyVarMp) of
{ _recPatExprOtyVarMp | _recPatExprOtyVarMp `seq` (True) ->
(case (_lhsItyTyGlobFreeTvarS) of
{ _recPatExprOtyTyGlobFreeTvarS | _recPatExprOtyTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItvKiVarMp) of
{ _recPatExprOtvKiVarMp | _recPatExprOtvKiVarMp `seq` (True) ->
(case (_lhsIclDfGam) of
{ _recPatExprOclDfGam | _recPatExprOclDfGam `seq` (True) ->
(case (_lhsIchrStore) of
{ _recPatExprOchrStore | _recPatExprOchrStore `seq` (True) ->
(case (recPatExpr_6 _recPatExprOchrStore _recPatExprOclDfGam _recPatExprOtvKiVarMp _recPatExprOtyTyGlobFreeTvarS _recPatExprOtyVarMp _recPatExprOvalTyGlobFreeTvarS) of
{ ( _recPatExprIgathCnstrMp,_recPatExprIgathRangeMp,_recPatExprIscopeGam,_recPatExprIty,_recPatExprItyVarMp,recPatExpr_7) | True ->
(case (_recPatExprIgathCnstrMp) of
{ _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) ->
(case (_recPatExprIgathRangeMp) of
{ _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) ->
(case (_recPatExprIscopeGam) of
{ _lhsOscopeGam | _lhsOscopeGam `seq` (True) ->
(case (_recPatExprIty) of
{ _ty | _ty `seq` (True) ->
(case (_ty) of
{ _lhsOty | _lhsOty `seq` (True) ->
(case (_recPatExprItyVarMp) of
{ _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) ->
(case ((let sem_PatExpr_Rec_8 :: T_PatExpr_8
sem_PatExpr_Rec_8 =
(\ _lhsIcSubst
_lhsIceParentNm
_lhsIchrEvidBindMp
_lhsIchrScopeBindMp
_lhsIfinTyVarMp
_lhsIfinValGam
_lhsImoduleNm
_lhsIrangeMp
_lhsIsysfEnv
_lhsItySigVarMp ->
_lhsIcSubst `seq`
(_lhsIceParentNm `seq`
(_lhsIchrEvidBindMp `seq`
(_lhsIchrScopeBindMp `seq`
(_lhsIfinTyVarMp `seq`
(_lhsIfinValGam `seq`
(_lhsImoduleNm `seq`
(_lhsIrangeMp `seq`
(_lhsIsysfEnv `seq`
(_lhsItySigVarMp `seq`
((case (_lhsIsysfEnv) of
{ _recPatExprOsysfEnv | _recPatExprOsysfEnv `seq` (True) ->
(case (_lhsIrangeMp) of
{ _recPatExprOrangeMp | _recPatExprOrangeMp `seq` (True) ->
(case (_lhsIfinValGam) of
{ _recPatExprOfinValGam | _recPatExprOfinValGam `seq` (True) ->
(case (_lhsIfinTyVarMp) of
{ _recPatExprOfinTyVarMp | _recPatExprOfinTyVarMp `seq` (True) ->
(case (_lhsItySigVarMp) of
{ _recPatExprOtySigVarMp | _recPatExprOtySigVarMp `seq` (True) ->
(case (_lhsImoduleNm) of
{ _recPatExprOmoduleNm | _recPatExprOmoduleNm `seq` (True) ->
(case (_lhsIchrScopeBindMp) of
{ _recPatExprOchrScopeBindMp | _recPatExprOchrScopeBindMp `seq` (True) ->
(case (_lhsIchrEvidBindMp) of
{ _recPatExprOchrEvidBindMp | _recPatExprOchrEvidBindMp `seq` (True) ->
(case (_lhsIceParentNm) of
{ _recPatExprOceParentNm | _recPatExprOceParentNm `seq` (True) ->
(case (_lhsIcSubst) of
{ _recPatExprOcSubst | _recPatExprOcSubst `seq` (True) ->
(case (recPatExpr_7 _recPatExprOcSubst _recPatExprOceParentNm _recPatExprOchrEvidBindMp _recPatExprOchrScopeBindMp _recPatExprOfinTyVarMp _recPatExprOfinValGam _recPatExprOmoduleNm _recPatExprOrangeMp _recPatExprOsysfEnv _recPatExprOtySigVarMp) of
{ ( _recPatExprIallErrSq,_recPatExprIcSubst,_recPatExprIerrSq,_recPatExprIextNm,_recPatExprIfsRPatL,_recPatExprIgathMentrelFilterMp,_recPatExprIgathTvKiVarMp,_recPatExprIpatCRest,_recPatExprIpp,_recPatExprIppL,_recPatExprIvalCBindL) | True ->
(case (_recPatExprIallErrSq) of
{ _lhsOallErrSq | _lhsOallErrSq `seq` (True) ->
(case (reverse _recPatExprIppL) of
{ _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) ->
(case (hsnUnknown) of
{ _lhsOappFunNm | _lhsOappFunNm `seq` (True) ->
(case (_recPatExprIpp) of
{ _lhsOappFunPP | _lhsOappFunPP `seq` (True) ->
(case (_recPatExprIcSubst) of
{ _lhsOcSubst | _lhsOcSubst `seq` (True) ->
(case (_recPatExprIextNm) of
{ _appFunNm | _appFunNm `seq` (True) ->
(case (ppAppTop (hsnRec,mkPPAppFun _appFunNm _recPatExprIpp)
(reverse _recPatExprIppL) _recPatExprIpp) of
{ _pp | _pp `seq` (True) ->
(case (rngLift _range mkNestErr' _pp [_recPatExprIerrSq]) of
{ _lhsOerrSq | _lhsOerrSq `seq` (True) ->
(case (_recPatExprIfsRPatL) of
{ _fsRPatL | _fsRPatL `seq` (True) ->
(case (_fsRPatL) of
{ _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) ->
(case (_recPatExprIgathMentrelFilterMp) of
{ _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) ->
(case (_recPatExprIgathTvKiVarMp) of
{ _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) ->
(case (False) of
{ _lhsOisBang | _lhsOisBang `seq` (True) ->
(case (CPatRest_Empty) of
{ _lhsOpatCRest | _lhsOpatCRest `seq` (True) ->
(case (_pp) of
{ _lhsOpp | _lhsOpp `seq` (True) ->
(case (_lhsIfinTyVarMp `varUpd` _ty) of
{ _finalTy | _finalTy `seq` (True) ->
(case (defaultFIEnv
{ feEHCOpts = _lhsIopts
, fePredScope = _lhsIpredScope
, feTyGam = _lhsItyGam
, fePolGam = _lhsIpolGam
, feRange = _range
}) of
{ _fe | _fe `seq` (True) ->
(case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTy) of
{ _finalTyExpanded | _finalTyExpanded `seq` (True) ->
(case (fsL2PatOffsetL _lhsIopts $ rowCanonOrderBy compare $ _fsRPatL) of
{ _rpatBinds | _rpatBinds `seq` (True) ->
(case (_recPatExprIpatCRest) of
{ _rest | _rest `seq` (True) ->
(case (CTagRec) of
{ _tag | _tag `seq` (True) ->
(case ((appDbg "{Expr,PatExpr,Decl,DataFieldExpr}.sysfty not implemented" :: SysfTy)) of
{ _sysfty | _sysfty `seq` (True) ->
(case (mkCTy _lhsIopts _finalTyExpanded _sysfty) of
{ _acorety | _acorety `seq` (True) ->
(case (case _rest of
CPatRest_Empty
-> RPat_Con _cpNm _acorety _tag (RPatConBind_One _rest (map fst _rpatBinds))
CPatRest_Var r
-> RPat_Con _cpNm _acorety _tag (RPatConBind_One _rest pbL)
where pbL = map fst $ fsL2PatOffsetL _lhsIopts $ fsLReorder _lhsIopts $ reverse $ _fsRPatL) of
{ _rpat | _rpat `seq` (True) ->
(case (_rpat) of
{ _lhsOrpat | _lhsOrpat `seq` (True) ->
(case ((emptyRCEEnv _lhsIopts) { rceValGam = _lhsIvalGam, rceDataGam = _lhsIdataGam, rceTyVarMp = _lhsIfinTyVarMp }) of
{ _rceEnv | _rceEnv `seq` (True) ->
(case (_recPatExprIvalCBindL) of
{ _valCBindLSub | _valCBindLSub `seq` (True) ->
(case (acoreRPatBindL2BindL _rceEnv (not $ null _valCBindLSub) _lhsIceParentNm _tag (Just (_rest,length _fsRPatL)) _rpatBinds) of
{ _valCBindL | _valCBindL `seq` (True) ->
(case (_valCBindL ++ _valCBindLSub) of
{ _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) ->
( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOrpat,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))
in sem_PatExpr_Rec_8)) of
{ ( sem_PatExpr_8) | True ->
( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_Rec_7)) of
{ ( sem_PatExpr_7) | True ->
( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_Rec_6)) of
{ ( sem_PatExpr_6) | True ->
( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) })))
in sem_PatExpr_Rec_5)) of
{ ( sem_PatExpr_5) | True ->
( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) }) }) }) })))))))
in sem_PatExpr_Rec_4)) of
{ ( sem_PatExpr_4) | True ->
( _lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))
in sem_PatExpr_Rec_3)) of
{ ( sem_PatExpr_3) | True ->
( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) })))))
in sem_PatExpr_Rec_2)) of
{ ( sem_PatExpr_2) | True ->
( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) })))
in sem_PatExpr_Rec_1)) of
{ ( sem_PatExpr_1) | True ->
( _lhsOrange,sem_PatExpr_1) }) }) }) })
sem_PatExpr_DataFields :: Range ->
T_DataFieldPatExpr ->
T_PatExpr
sem_PatExpr_DataFields hsrange_ dataFieldPatExpr_ | hsrange_ `seq` (dataFieldPatExpr_ `seq` (True)) =
(case (dataFieldPatExpr_) of
{ ( _dataFieldPatExprIrange,dataFieldPatExpr_1) | True ->
(case (rangeUnions [hsrange_, _dataFieldPatExprIrange
, _dataFieldPatExprIrange
]) of
{ _range | _range `seq` (True) ->
(case (_range) of
{ _lhsOrange | _lhsOrange `seq` (True) ->
(case ((let sem_PatExpr_DataFields_1 :: T_PatExpr_1
sem_PatExpr_DataFields_1 =
(\ _lhsIgUniq ->
_lhsIgUniq `seq`
((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of
{ __tup193 | __tup193 `seq` (True) ->
(case (__tup193) of
{ (_dataFieldPatExprOgUniq,_) | _dataFieldPatExprOgUniq `seq` (True) ->
(case (dataFieldPatExpr_1 _dataFieldPatExprOgUniq) of
{ ( _dataFieldPatExprIgUniq,dataFieldPatExpr_2) | True ->
(case (_dataFieldPatExprIgUniq) of
{ _lhsOgUniq | _lhsOgUniq `seq` (True) ->
(case ((let sem_PatExpr_DataFields_2 :: T_PatExpr_2
sem_PatExpr_DataFields_2 =
(\ _lhsIkiGam
_lhsIlexLev
_lhsIpredSameScopeCounter ->
_lhsIkiGam `seq`
(_lhsIlexLev `seq`
(_lhsIpredSameScopeCounter `seq`
((case (_lhsIpredSameScopeCounter) of
{ _dataFieldPatExprOpredSameScopeCounter | _dataFieldPatExprOpredSameScopeCounter `seq` (True) ->
(case (_lhsIlexLev) of
{ _dataFieldPatExprOlexLev | _dataFieldPatExprOlexLev `seq` (True) ->
(case (_lhsIkiGam) of
{ _dataFieldPatExprOkiGam | _dataFieldPatExprOkiGam `seq` (True) ->
(case (dataFieldPatExpr_2 _dataFieldPatExprOkiGam _dataFieldPatExprOlexLev _dataFieldPatExprOpredSameScopeCounter) of
{ ( _dataFieldPatExprIpredSameScopeCounter,dataFieldPatExpr_3) | True ->
(case (_dataFieldPatExprIpredSameScopeCounter) of
{ _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) ->
(case ((let sem_PatExpr_DataFields_3 :: T_PatExpr_3
sem_PatExpr_DataFields_3 =
(\ _lhsIkiVarMp
_lhsIopts
_lhsIpolGam
_lhsIpolVarMp
_lhsIpredScope
_lhsItyGam
_lhsItyKiGam
_lhsItyKiGlobFreeTvarS ->
_lhsIkiVarMp `seq`
(_lhsIopts `seq`
(_lhsIpolGam `seq`
(_lhsIpolVarMp `seq`
(_lhsIpredScope `seq`
(_lhsItyGam `seq`
(_lhsItyKiGam `seq`
(_lhsItyKiGlobFreeTvarS `seq`
((case (_lhsItyKiGlobFreeTvarS) of
{ _dataFieldPatExprOtyKiGlobFreeTvarS | _dataFieldPatExprOtyKiGlobFreeTvarS `seq` (True) ->
(case (_lhsItyKiGam) of
{ _dataFieldPatExprOtyKiGam | _dataFieldPatExprOtyKiGam `seq` (True) ->
(case (_lhsItyGam) of
{ _dataFieldPatExprOtyGam | _dataFieldPatExprOtyGam `seq` (True) ->
(case (_lhsIpredScope) of
{ _dataFieldPatExprOpredScope | _dataFieldPatExprOpredScope `seq` (True) ->
(case (_lhsIpolVarMp) of
{ _dataFieldPatExprOpolVarMp | _dataFieldPatExprOpolVarMp `seq` (True) ->
(case (_lhsIpolGam) of
{ _dataFieldPatExprOpolGam | _dataFieldPatExprOpolGam `seq` (True) ->
(case (_lhsIopts) of
{ _dataFieldPatExprOopts | _dataFieldPatExprOopts `seq` (True) ->
(case (_lhsIkiVarMp) of
{ _dataFieldPatExprOkiVarMp | _dataFieldPatExprOkiVarMp `seq` (True) ->
(case (dataFieldPatExpr_3 _dataFieldPatExprOkiVarMp _dataFieldPatExprOopts _dataFieldPatExprOpolGam _dataFieldPatExprOpolVarMp _dataFieldPatExprOpredScope _dataFieldPatExprOtyGam _dataFieldPatExprOtyKiGam _dataFieldPatExprOtyKiGlobFreeTvarS) of
{ ( _dataFieldPatExprIkiVarMp,_dataFieldPatExprIpolVarMp,_dataFieldPatExprItyGam,_dataFieldPatExprItyKiGam,dataFieldPatExpr_4) | True ->
(case (_dataFieldPatExprIkiVarMp) of
{ _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) ->
(case (_dataFieldPatExprIpolVarMp) of
{ _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) ->
(case (_dataFieldPatExprItyGam) of
{ _lhsOtyGam | _lhsOtyGam `seq` (True) ->
(case (_dataFieldPatExprItyKiGam) of
{ _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) ->
(case ((let sem_PatExpr_DataFields_4 :: T_PatExpr_4
sem_PatExpr_DataFields_4 =
(\ _lhsIclGam
_lhsIdataGam
_lhsIfinKiVarMp
_lhsIfinTyKiGam
_lhsItyTyTySigFreeTvarS ->
_lhsIclGam `seq`
(_lhsIdataGam `seq`
(_lhsIfinKiVarMp `seq`
(_lhsIfinTyKiGam `seq`
(_lhsItyTyTySigFreeTvarS `seq`
((case (_lhsItyTyTySigFreeTvarS) of
{ _dataFieldPatExprOtyTyTySigFreeTvarS | _dataFieldPatExprOtyTyTySigFreeTvarS `seq` (True) ->
(case (_lhsIfinTyKiGam) of
{ _dataFieldPatExprOfinTyKiGam | _dataFieldPatExprOfinTyKiGam `seq` (True) ->
(case (_lhsIfinKiVarMp) of
{ _dataFieldPatExprOfinKiVarMp | _dataFieldPatExprOfinKiVarMp `seq` (True) ->
(case (_lhsIdataGam) of
{ _dataFieldPatExprOdataGam | _dataFieldPatExprOdataGam `seq` (True) ->
(case (_lhsIclGam) of
{ _dataFieldPatExprOclGam | _dataFieldPatExprOclGam `seq` (True) ->
(case (dataFieldPatExpr_4 _dataFieldPatExprOclGam _dataFieldPatExprOdataGam _dataFieldPatExprOfinKiVarMp _dataFieldPatExprOfinTyKiGam _dataFieldPatExprOtyTyTySigFreeTvarS) of
{ ( _dataFieldPatExprIchrInstDeclSq,dataFieldPatExpr_5) | True ->
(case (_dataFieldPatExprIchrInstDeclSq) of
{ _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) ->
(case (__tup193) of
{ (_,_lUniq) | _lUniq `seq` (True) ->
(case (uidHNm _lUniq) of
{ _topNm | _topNm `seq` (True) ->
(case (_topNm) of
{ _lhsOtopNm | _lhsOtopNm `seq` (True) ->
(case ((let sem_PatExpr_DataFields_5 :: T_PatExpr_5
sem_PatExpr_DataFields_5 =
(\ _lhsIvalGam ->
_lhsIvalGam `seq`
((case (0) of
{ _lhsOarity | _lhsOarity `seq` (True) ->
(case (Nothing) of
{ _mbTopNm | _mbTopNm `seq` (True) ->
(case (_mbTopNm) of
{ _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) ->
(case (Ty_Any) of
{ _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) ->
(case ((let sem_PatExpr_DataFields_6 :: T_PatExpr_6
sem_PatExpr_DataFields_6 =
(\ _lhsIfiOpts
_lhsIinclVarBind
_lhsIknTy
_lhsIknTyL
_lhsIpatTyVarMp
_lhsItySigGam ->
_lhsIfiOpts `seq`
(_lhsIinclVarBind `seq`
(_lhsIknTy `seq`
(_lhsIknTyL `seq`
(_lhsIpatTyVarMp `seq`
(_lhsItySigGam `seq`
((case (_lhsIvalGam) of
{ _dataFieldPatExprOvalGam | _dataFieldPatExprOvalGam `seq` (True) ->
(case (_lhsItySigGam) of
{ _dataFieldPatExprOtySigGam | _dataFieldPatExprOtySigGam `seq` (True) ->
(case (_lhsIpatTyVarMp) of
{ _dataFieldPatExprOpatTyVarMp | _dataFieldPatExprOpatTyVarMp `seq` (True) ->
(case (_lhsIknTy) of
{ _dataFieldPatExprOknTy | _dataFieldPatExprOknTy `seq` (True) ->
(case (_lhsIfiOpts) of
{ _dataFieldPatExprOfiOpts | _dataFieldPatExprOfiOpts `seq` (True) ->
(case (dataFieldPatExpr_5 _dataFieldPatExprOfiOpts _dataFieldPatExprOknTy _dataFieldPatExprOpatTyVarMp _dataFieldPatExprOtySigGam _dataFieldPatExprOvalGam) of
{ ( _dataFieldPatExprIpatTyVarMp,_dataFieldPatExprIvalGam,dataFieldPatExpr_6) | True ->
(case (_dataFieldPatExprIpatTyVarMp) of
{ _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) ->
(case (_dataFieldPatExprIvalGam) of
{ _lhsOvalGam | _lhsOvalGam `seq` (True) ->
(case ((let sem_PatExpr_DataFields_7 :: T_PatExpr_7
sem_PatExpr_DataFields_7 =
(\ _lhsIchrStore
_lhsIclDfGam
_lhsItvKiVarMp
_lhsItyTyGlobFreeTvarS
_lhsItyVarMp
_lhsIvalTyGlobFreeTvarS ->
_lhsIchrStore `seq`
(_lhsIclDfGam `seq`
(_lhsItvKiVarMp `seq`
(_lhsItyTyGlobFreeTvarS `seq`
(_lhsItyVarMp `seq`
(_lhsIvalTyGlobFreeTvarS `seq`
((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of
{ _cpNm | _cpNm `seq` (True) ->
(case (_cpNm) of
{ _lhsOcpNm | _lhsOcpNm `seq` (True) ->
(case (_lhsIvalTyGlobFreeTvarS) of
{ _dataFieldPatExprOvalTyGlobFreeTvarS | _dataFieldPatExprOvalTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItyVarMp) of
{ _dataFieldPatExprOtyVarMp | _dataFieldPatExprOtyVarMp `seq` (True) ->
(case (_lhsItyTyGlobFreeTvarS) of
{ _dataFieldPatExprOtyTyGlobFreeTvarS | _dataFieldPatExprOtyTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItvKiVarMp) of
{ _dataFieldPatExprOtvKiVarMp | _dataFieldPatExprOtvKiVarMp `seq` (True) ->
(case (_lhsIclDfGam) of
{ _dataFieldPatExprOclDfGam | _dataFieldPatExprOclDfGam `seq` (True) ->
(case (_lhsIchrStore) of
{ _dataFieldPatExprOchrStore | _dataFieldPatExprOchrStore `seq` (True) ->
(case (dataFieldPatExpr_6 _dataFieldPatExprOchrStore _dataFieldPatExprOclDfGam _dataFieldPatExprOtvKiVarMp _dataFieldPatExprOtyTyGlobFreeTvarS _dataFieldPatExprOtyVarMp _dataFieldPatExprOvalTyGlobFreeTvarS) of
{ ( _dataFieldPatExprIgathCnstrMp,_dataFieldPatExprIgathRangeMp,_dataFieldPatExprIscopeGam,_dataFieldPatExprIty,_dataFieldPatExprItyVarMp,dataFieldPatExpr_7) | True ->
(case (_dataFieldPatExprIgathCnstrMp) of
{ _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) ->
(case (_dataFieldPatExprIgathRangeMp) of
{ _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) ->
(case (_dataFieldPatExprIscopeGam) of
{ _lhsOscopeGam | _lhsOscopeGam `seq` (True) ->
(case (_dataFieldPatExprIty) of
{ _ty | _ty `seq` (True) ->
(case (_ty) of
{ _lhsOty | _lhsOty `seq` (True) ->
(case (_dataFieldPatExprItyVarMp) of
{ _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) ->
(case ((let sem_PatExpr_DataFields_8 :: T_PatExpr_8
sem_PatExpr_DataFields_8 =
(\ _lhsIcSubst
_lhsIceParentNm
_lhsIchrEvidBindMp
_lhsIchrScopeBindMp
_lhsIfinTyVarMp
_lhsIfinValGam
_lhsImoduleNm
_lhsIrangeMp
_lhsIsysfEnv
_lhsItySigVarMp ->
_lhsIcSubst `seq`
(_lhsIceParentNm `seq`
(_lhsIchrEvidBindMp `seq`
(_lhsIchrScopeBindMp `seq`
(_lhsIfinTyVarMp `seq`
(_lhsIfinValGam `seq`
(_lhsImoduleNm `seq`
(_lhsIrangeMp `seq`
(_lhsIsysfEnv `seq`
(_lhsItySigVarMp `seq`
((case (_lhsIsysfEnv) of
{ _dataFieldPatExprOsysfEnv | _dataFieldPatExprOsysfEnv `seq` (True) ->
(case (_lhsIrangeMp) of
{ _dataFieldPatExprOrangeMp | _dataFieldPatExprOrangeMp `seq` (True) ->
(case (_lhsIfinValGam) of
{ _dataFieldPatExprOfinValGam | _dataFieldPatExprOfinValGam `seq` (True) ->
(case (_lhsIfinTyVarMp) of
{ _dataFieldPatExprOfinTyVarMp | _dataFieldPatExprOfinTyVarMp `seq` (True) ->
(case (_lhsItySigVarMp) of
{ _dataFieldPatExprOtySigVarMp | _dataFieldPatExprOtySigVarMp `seq` (True) ->
(case (_lhsImoduleNm) of
{ _dataFieldPatExprOmoduleNm | _dataFieldPatExprOmoduleNm `seq` (True) ->
(case (_lhsIchrScopeBindMp) of
{ _dataFieldPatExprOchrScopeBindMp | _dataFieldPatExprOchrScopeBindMp `seq` (True) ->
(case (_lhsIchrEvidBindMp) of
{ _dataFieldPatExprOchrEvidBindMp | _dataFieldPatExprOchrEvidBindMp `seq` (True) ->
(case (_lhsIceParentNm) of
{ _dataFieldPatExprOceParentNm | _dataFieldPatExprOceParentNm `seq` (True) ->
(case (_lhsIcSubst) of
{ _dataFieldPatExprOcSubst | _dataFieldPatExprOcSubst `seq` (True) ->
(case (dataFieldPatExpr_7 _dataFieldPatExprOcSubst _dataFieldPatExprOceParentNm _dataFieldPatExprOchrEvidBindMp _dataFieldPatExprOchrScopeBindMp _dataFieldPatExprOfinTyVarMp _dataFieldPatExprOfinValGam _dataFieldPatExprOmoduleNm _dataFieldPatExprOrangeMp _dataFieldPatExprOsysfEnv _dataFieldPatExprOtySigVarMp) of
{ ( _dataFieldPatExprIallErrSq,_dataFieldPatExprIcSubst,_dataFieldPatExprIdti,_dataFieldPatExprIerrSq,_dataFieldPatExprIfldL,_dataFieldPatExprIfsRPatL,_dataFieldPatExprIgathMentrelFilterMp,_dataFieldPatExprIgathTvKiVarMp,_dataFieldPatExprIpatCRest,_dataFieldPatExprIpp,_dataFieldPatExprIppL,_dataFieldPatExprIvalCBindL) | True ->
(case (_dataFieldPatExprIallErrSq) of
{ _lhsOallErrSq | _lhsOallErrSq `seq` (True) ->
(case ([]) of
{ _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) ->
(case (hsnUnknown) of
{ _lhsOappFunNm | _lhsOappFunNm `seq` (True) ->
(case (_dataFieldPatExprIpp >#< ppCurlysCommas' (reverse _dataFieldPatExprIppL)) of
{ _pp | _pp `seq` (True) ->
(case (_pp) of
{ _lhsOappFunPP | _lhsOappFunPP `seq` (True) ->
(case (_dataFieldPatExprIcSubst) of
{ _lhsOcSubst | _lhsOcSubst `seq` (True) ->
(case (_dataFieldPatExprIerrSq) of
{ _lhsOerrSq | _lhsOerrSq `seq` (True) ->
(case ([]) of
{ _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) ->
(case (_dataFieldPatExprIgathMentrelFilterMp) of
{ _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) ->
(case (_dataFieldPatExprIgathTvKiVarMp) of
{ _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) ->
(case (False) of
{ _lhsOisBang | _lhsOisBang `seq` (True) ->
(case (CPatRest_Empty) of
{ _lhsOpatCRest | _lhsOpatCRest `seq` (True) ->
(case (_pp) of
{ _lhsOpp | _lhsOpp `seq` (True) ->
(case (_lhsIfinTyVarMp `varUpd` _ty) of
{ _finalTy | _finalTy `seq` (True) ->
(case (defaultFIEnv
{ feEHCOpts = _lhsIopts
, fePredScope = _lhsIpredScope
, feTyGam = _lhsItyGam
, fePolGam = _lhsIpolGam
, feRange = _range
}) of
{ _fe | _fe `seq` (True) ->
(case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTy) of
{ _finalTyExpanded | _finalTyExpanded `seq` (True) ->
(case (_dataFieldPatExprIfsRPatL) of
{ _fsRPatL | _fsRPatL `seq` (True) ->
(case (dtiCTag _dataFieldPatExprIdti) of
{ _tag | _tag `seq` (True) ->
(case (let fsL = reverse _fsRPatL
grp = groupByOn (\o1 o2 -> (foffOffset o1 `compare` foffOffset o2) /= GT) fst
max = ctagArity _tag - 1
sat =
listSaturateWith 0 max (foffOffset . fst) $
(map (\(n,o) -> (fldInt o, (FldKnownOffset n (fldInt o),RPat_Var (RPatNmOrig n) (acoreTyErr $ "EH.ToCore.PatExpr.DataFields: " ++ show n) False))) (refGen 0 1 $ take (max+1) hsnLclSupply))
in ( map (fsL2PatOffsetL _lhsIopts . sat) $ grp fsL
, fsL2PatOffsetL _lhsIopts fsL
, fsL2PatOffsetL _lhsIopts $ sat []
)) of
{ __tup192 | __tup192 `seq` (True) ->
(case (__tup192) of
{ (_,_,_rpatBind0) | _rpatBind0 `seq` (True) ->
(case (__tup192) of
{ (_rpatBindss,_,_) | _rpatBindss `seq` (True) ->
(case (_dataFieldPatExprIpatCRest) of
{ _rest | _rest `seq` (True) ->
(case ((appDbg "{Expr,PatExpr,Decl,DataFieldExpr}.sysfty not implemented" :: SysfTy)) of
{ _sysfty | _sysfty `seq` (True) ->
(case (mkCTy _lhsIopts _finalTyExpanded _sysfty) of
{ _acorety | _acorety `seq` (True) ->
(case (RPat_Con _cpNm _acorety _tag
(rpatConBindUnFlatten (RPatConBind_One _rest $ map fst _rpatBind0)
$ map (RPatConBind_One _rest . map fst)
_rpatBindss
)) of
{ _rpat | _rpat `seq` (True) ->
(case (_rpat) of
{ _lhsOrpat | _lhsOrpat `seq` (True) ->
(case ((emptyRCEEnv _lhsIopts) { rceValGam = _lhsIvalGam, rceDataGam = _lhsIdataGam, rceTyVarMp = _lhsIfinTyVarMp }) of
{ _rceEnv | _rceEnv `seq` (True) ->
(case (_dataFieldPatExprIvalCBindL) of
{ _valCBindLSub | _valCBindLSub `seq` (True) ->
(case (__tup192) of
{ (_,_rpatBindsNonSat,_) | _rpatBindsNonSat `seq` (True) ->
(case (acoreRPatBindL2BindL _rceEnv (not $ null _valCBindLSub) _lhsIceParentNm _tag (Just (_rest,ctagArity _tag)) _rpatBindsNonSat) of
{ _valCBindL | _valCBindL `seq` (True) ->
(case (_valCBindL ++ _valCBindLSub) of
{ _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) ->
( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOrpat,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))
in sem_PatExpr_DataFields_8)) of
{ ( sem_PatExpr_8) | True ->
( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_DataFields_7)) of
{ ( sem_PatExpr_7) | True ->
( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_DataFields_6)) of
{ ( sem_PatExpr_6) | True ->
( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) })))
in sem_PatExpr_DataFields_5)) of
{ ( sem_PatExpr_5) | True ->
( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) }) }) })))))))
in sem_PatExpr_DataFields_4)) of
{ ( sem_PatExpr_4) | True ->
( _lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))
in sem_PatExpr_DataFields_3)) of
{ ( sem_PatExpr_3) | True ->
( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) })))))
in sem_PatExpr_DataFields_2)) of
{ ( sem_PatExpr_2) | True ->
( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) })))
in sem_PatExpr_DataFields_1)) of
{ ( sem_PatExpr_1) | True ->
( _lhsOrange,sem_PatExpr_1) }) }) }) })
sem_PatExpr_Irrefutable :: Range ->
T_PatExpr ->
T_PatExpr
sem_PatExpr_Irrefutable hsrange_ patExpr_ | hsrange_ `seq` (patExpr_ `seq` (True)) =
(case (patExpr_) of
{ ( _patExprIrange,patExpr_1) | True ->
(case (rangeUnions [hsrange_, _patExprIrange, _patExprIrange
]) of
{ _range | _range `seq` (True) ->
(case (_range) of
{ _lhsOrange | _lhsOrange `seq` (True) ->
(case ((let sem_PatExpr_Irrefutable_1 :: T_PatExpr_1
sem_PatExpr_Irrefutable_1 =
(\ _lhsIgUniq ->
_lhsIgUniq `seq`
((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of
{ __tup194 | __tup194 `seq` (True) ->
(case (__tup194) of
{ (_patExprOgUniq,_) | _patExprOgUniq `seq` (True) ->
(case (patExpr_1 _patExprOgUniq) of
{ ( _patExprIgUniq,patExpr_2) | True ->
(case (_patExprIgUniq) of
{ _lhsOgUniq | _lhsOgUniq `seq` (True) ->
(case ((let sem_PatExpr_Irrefutable_2 :: T_PatExpr_2
sem_PatExpr_Irrefutable_2 =
(\ _lhsIkiGam
_lhsIlexLev
_lhsIpredSameScopeCounter ->
_lhsIkiGam `seq`
(_lhsIlexLev `seq`
(_lhsIpredSameScopeCounter `seq`
((case (_lhsIpredSameScopeCounter) of
{ _patExprOpredSameScopeCounter | _patExprOpredSameScopeCounter `seq` (True) ->
(case (_lhsIlexLev) of
{ _patExprOlexLev | _patExprOlexLev `seq` (True) ->
(case (_lhsIkiGam) of
{ _patExprOkiGam | _patExprOkiGam `seq` (True) ->
(case (patExpr_2 _patExprOkiGam _patExprOlexLev _patExprOpredSameScopeCounter) of
{ ( _patExprIpredSameScopeCounter,patExpr_3) | True ->
(case (_patExprIpredSameScopeCounter) of
{ _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) ->
(case ((let sem_PatExpr_Irrefutable_3 :: T_PatExpr_3
sem_PatExpr_Irrefutable_3 =
(\ _lhsIkiVarMp
_lhsIopts
_lhsIpolGam
_lhsIpolVarMp
_lhsIpredScope
_lhsItyGam
_lhsItyKiGam
_lhsItyKiGlobFreeTvarS ->
_lhsIkiVarMp `seq`
(_lhsIopts `seq`
(_lhsIpolGam `seq`
(_lhsIpolVarMp `seq`
(_lhsIpredScope `seq`
(_lhsItyGam `seq`
(_lhsItyKiGam `seq`
(_lhsItyKiGlobFreeTvarS `seq`
((case (_lhsItyKiGlobFreeTvarS) of
{ _patExprOtyKiGlobFreeTvarS | _patExprOtyKiGlobFreeTvarS `seq` (True) ->
(case (_lhsItyKiGam) of
{ _patExprOtyKiGam | _patExprOtyKiGam `seq` (True) ->
(case (_lhsItyGam) of
{ _patExprOtyGam | _patExprOtyGam `seq` (True) ->
(case (_lhsIpredScope) of
{ _patExprOpredScope | _patExprOpredScope `seq` (True) ->
(case (_lhsIpolVarMp) of
{ _patExprOpolVarMp | _patExprOpolVarMp `seq` (True) ->
(case (_lhsIpolGam) of
{ _patExprOpolGam | _patExprOpolGam `seq` (True) ->
(case (_lhsIopts) of
{ _patExprOopts | _patExprOopts `seq` (True) ->
(case (_lhsIkiVarMp) of
{ _patExprOkiVarMp | _patExprOkiVarMp `seq` (True) ->
(case (patExpr_3 _patExprOkiVarMp _patExprOopts _patExprOpolGam _patExprOpolVarMp _patExprOpredScope _patExprOtyGam _patExprOtyKiGam _patExprOtyKiGlobFreeTvarS) of
{ ( _patExprIkiVarMp,_patExprIpolVarMp,_patExprItyGam,_patExprItyKiGam,patExpr_4) | True ->
(case (_patExprIkiVarMp) of
{ _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) ->
(case (_patExprIpolVarMp) of
{ _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) ->
(case (_patExprItyGam) of
{ _lhsOtyGam | _lhsOtyGam `seq` (True) ->
(case (_patExprItyKiGam) of
{ _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) ->
(case ((let sem_PatExpr_Irrefutable_4 :: T_PatExpr_4
sem_PatExpr_Irrefutable_4 =
(\ _lhsIclGam
_lhsIdataGam
_lhsIfinKiVarMp
_lhsIfinTyKiGam
_lhsItyTyTySigFreeTvarS ->
_lhsIclGam `seq`
(_lhsIdataGam `seq`
(_lhsIfinKiVarMp `seq`
(_lhsIfinTyKiGam `seq`
(_lhsItyTyTySigFreeTvarS `seq`
((case (_lhsItyTyTySigFreeTvarS) of
{ _patExprOtyTyTySigFreeTvarS | _patExprOtyTyTySigFreeTvarS `seq` (True) ->
(case (_lhsIfinTyKiGam) of
{ _patExprOfinTyKiGam | _patExprOfinTyKiGam `seq` (True) ->
(case (_lhsIfinKiVarMp) of
{ _patExprOfinKiVarMp | _patExprOfinKiVarMp `seq` (True) ->
(case (_lhsIdataGam) of
{ _patExprOdataGam | _patExprOdataGam `seq` (True) ->
(case (_lhsIclGam) of
{ _patExprOclGam | _patExprOclGam `seq` (True) ->
(case (patExpr_4 _patExprOclGam _patExprOdataGam _patExprOfinKiVarMp _patExprOfinTyKiGam _patExprOtyTyTySigFreeTvarS) of
{ ( _patExprIchrInstDeclSq,_patExprItopNm,patExpr_5) | True ->
(case (_patExprIchrInstDeclSq) of
{ _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) ->
(case (_patExprItopNm) of
{ _topNm | _topNm `seq` (True) ->
(case (_topNm) of
{ _lhsOtopNm | _lhsOtopNm `seq` (True) ->
(case ((let sem_PatExpr_Irrefutable_5 :: T_PatExpr_5
sem_PatExpr_Irrefutable_5 =
(\ _lhsIvalGam ->
_lhsIvalGam `seq`
((case (_lhsIvalGam) of
{ _patExprOvalGam | _patExprOvalGam `seq` (True) ->
(case (patExpr_5 _patExprOvalGam) of
{ ( _patExprIarity,_patExprImbTopNm,_patExprIpatFunTy,patExpr_6) | True ->
(case (_patExprIarity) of
{ _lhsOarity | _lhsOarity `seq` (True) ->
(case (_patExprImbTopNm) of
{ _mbTopNm | _mbTopNm `seq` (True) ->
(case (_mbTopNm) of
{ _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) ->
(case (_patExprIpatFunTy) of
{ _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) ->
(case ((let sem_PatExpr_Irrefutable_6 :: T_PatExpr_6
sem_PatExpr_Irrefutable_6 =
(\ _lhsIfiOpts
_lhsIinclVarBind
_lhsIknTy
_lhsIknTyL
_lhsIpatTyVarMp
_lhsItySigGam ->
_lhsIfiOpts `seq`
(_lhsIinclVarBind `seq`
(_lhsIknTy `seq`
(_lhsIknTyL `seq`
(_lhsIpatTyVarMp `seq`
(_lhsItySigGam `seq`
((case (_lhsItySigGam) of
{ _patExprOtySigGam | _patExprOtySigGam `seq` (True) ->
(case (_lhsIpatTyVarMp) of
{ _patExprOpatTyVarMp | _patExprOpatTyVarMp `seq` (True) ->
(case (_lhsIknTyL) of
{ _patExprOknTyL | _patExprOknTyL `seq` (True) ->
(case (_lhsIknTy) of
{ _patExprOknTy | _patExprOknTy `seq` (True) ->
(case (_lhsIinclVarBind) of
{ _patExprOinclVarBind | _patExprOinclVarBind `seq` (True) ->
(case (_lhsIfiOpts) of
{ _patExprOfiOpts | _patExprOfiOpts `seq` (True) ->
(case (patExpr_6 _patExprOfiOpts _patExprOinclVarBind _patExprOknTy _patExprOknTyL _patExprOpatTyVarMp _patExprOtySigGam) of
{ ( _patExprIpatTyVarMp,_patExprIvalGam,patExpr_7) | True ->
(case (_patExprIpatTyVarMp) of
{ _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) ->
(case (_patExprIvalGam) of
{ _lhsOvalGam | _lhsOvalGam `seq` (True) ->
(case ((let sem_PatExpr_Irrefutable_7 :: T_PatExpr_7
sem_PatExpr_Irrefutable_7 =
(\ _lhsIchrStore
_lhsIclDfGam
_lhsItvKiVarMp
_lhsItyTyGlobFreeTvarS
_lhsItyVarMp
_lhsIvalTyGlobFreeTvarS ->
_lhsIchrStore `seq`
(_lhsIclDfGam `seq`
(_lhsItvKiVarMp `seq`
(_lhsItyTyGlobFreeTvarS `seq`
(_lhsItyVarMp `seq`
(_lhsIvalTyGlobFreeTvarS `seq`
((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of
{ _cpNm | _cpNm `seq` (True) ->
(case (_cpNm) of
{ _lhsOcpNm | _lhsOcpNm `seq` (True) ->
(case (_lhsIvalTyGlobFreeTvarS) of
{ _patExprOvalTyGlobFreeTvarS | _patExprOvalTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItyVarMp) of
{ _patExprOtyVarMp | _patExprOtyVarMp `seq` (True) ->
(case (_lhsItyTyGlobFreeTvarS) of
{ _patExprOtyTyGlobFreeTvarS | _patExprOtyTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItvKiVarMp) of
{ _patExprOtvKiVarMp | _patExprOtvKiVarMp `seq` (True) ->
(case (_lhsIclDfGam) of
{ _patExprOclDfGam | _patExprOclDfGam `seq` (True) ->
(case (_lhsIchrStore) of
{ _patExprOchrStore | _patExprOchrStore `seq` (True) ->
(case (patExpr_7 _patExprOchrStore _patExprOclDfGam _patExprOtvKiVarMp _patExprOtyTyGlobFreeTvarS _patExprOtyVarMp _patExprOvalTyGlobFreeTvarS) of
{ ( _patExprIcpNm,_patExprIgathCnstrMp,_patExprIgathRangeMp,_patExprIscopeGam,_patExprIty,_patExprItyVarMp,patExpr_8) | True ->
(case (_patExprIgathCnstrMp) of
{ _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) ->
(case (_patExprIgathRangeMp) of
{ _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) ->
(case (_patExprIscopeGam) of
{ _lhsOscopeGam | _lhsOscopeGam `seq` (True) ->
(case (_patExprIty) of
{ _ty | _ty `seq` (True) ->
(case (_ty) of
{ _lhsOty | _lhsOty `seq` (True) ->
(case (_patExprItyVarMp) of
{ _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) ->
(case ((let sem_PatExpr_Irrefutable_8 :: T_PatExpr_8
sem_PatExpr_Irrefutable_8 =
(\ _lhsIcSubst
_lhsIceParentNm
_lhsIchrEvidBindMp
_lhsIchrScopeBindMp
_lhsIfinTyVarMp
_lhsIfinValGam
_lhsImoduleNm
_lhsIrangeMp
_lhsIsysfEnv
_lhsItySigVarMp ->
_lhsIcSubst `seq`
(_lhsIceParentNm `seq`
(_lhsIchrEvidBindMp `seq`
(_lhsIchrScopeBindMp `seq`
(_lhsIfinTyVarMp `seq`
(_lhsIfinValGam `seq`
(_lhsImoduleNm `seq`
(_lhsIrangeMp `seq`
(_lhsIsysfEnv `seq`
(_lhsItySigVarMp `seq`
((case (_lhsIsysfEnv) of
{ _patExprOsysfEnv | _patExprOsysfEnv `seq` (True) ->
(case (_lhsIrangeMp) of
{ _patExprOrangeMp | _patExprOrangeMp `seq` (True) ->
(case (_lhsIfinValGam) of
{ _patExprOfinValGam | _patExprOfinValGam `seq` (True) ->
(case (_lhsIfinTyVarMp) of
{ _patExprOfinTyVarMp | _patExprOfinTyVarMp `seq` (True) ->
(case (_lhsItySigVarMp) of
{ _patExprOtySigVarMp | _patExprOtySigVarMp `seq` (True) ->
(case (_lhsImoduleNm) of
{ _patExprOmoduleNm | _patExprOmoduleNm `seq` (True) ->
(case (_lhsIchrScopeBindMp) of
{ _patExprOchrScopeBindMp | _patExprOchrScopeBindMp `seq` (True) ->
(case (_lhsIchrEvidBindMp) of
{ _patExprOchrEvidBindMp | _patExprOchrEvidBindMp `seq` (True) ->
(case (_lhsIceParentNm) of
{ _patExprOceParentNm | _patExprOceParentNm `seq` (True) ->
(case (_lhsIcSubst) of
{ _patExprOcSubst | _patExprOcSubst `seq` (True) ->
(case (patExpr_8 _patExprOcSubst _patExprOceParentNm _patExprOchrEvidBindMp _patExprOchrScopeBindMp _patExprOfinTyVarMp _patExprOfinValGam _patExprOmoduleNm _patExprOrangeMp _patExprOsysfEnv _patExprOtySigVarMp) of
{ ( _patExprIallErrSq,_patExprIappArgPPL,_patExprIappFunNm,_patExprIappFunPP,_patExprIcSubst,_patExprIerrSq,_patExprIfsRPatL,_patExprIgathMentrelFilterMp,_patExprIgathTvKiVarMp,_patExprIisBang,_patExprIpatCRest,_patExprIpp,_patExprIrpat,_patExprIvalCBindL) | True ->
(case (_patExprIallErrSq) of
{ _lhsOallErrSq | _lhsOallErrSq `seq` (True) ->
(case ([]) of
{ _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) ->
(case (hsnUnknown) of
{ _lhsOappFunNm | _lhsOappFunNm `seq` (True) ->
(case ("~" >|< _patExprIpp) of
{ _pp | _pp `seq` (True) ->
(case (_pp) of
{ _lhsOappFunPP | _lhsOappFunPP `seq` (True) ->
(case (_patExprIcSubst) of
{ _lhsOcSubst | _lhsOcSubst `seq` (True) ->
(case (_patExprIerrSq) of
{ _lhsOerrSq | _lhsOerrSq `seq` (True) ->
(case ([]) of
{ _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) ->
(case (_patExprIgathMentrelFilterMp) of
{ _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) ->
(case (_patExprIgathTvKiVarMp) of
{ _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) ->
(case (False) of
{ _lhsOisBang | _lhsOisBang `seq` (True) ->
(case (CPatRest_Empty) of
{ _lhsOpatCRest | _lhsOpatCRest `seq` (True) ->
(case (_pp) of
{ _lhsOpp | _lhsOpp `seq` (True) ->
(case (_lhsIfinTyVarMp `varUpd` _ty) of
{ _finalTy | _finalTy `seq` (True) ->
(case (defaultFIEnv
{ feEHCOpts = _lhsIopts
, fePredScope = _lhsIpredScope
, feTyGam = _lhsItyGam
, fePolGam = _lhsIpolGam
, feRange = _range
}) of
{ _fe | _fe `seq` (True) ->
(case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTy) of
{ _finalTyExpanded | _finalTyExpanded `seq` (True) ->
(case ((appDbg "{Expr,PatExpr,Decl,DataFieldExpr}.sysfty not implemented" :: SysfTy)) of
{ _sysfty | _sysfty `seq` (True) ->
(case (mkCTy _lhsIopts _finalTyExpanded _sysfty) of
{ _acorety | _acorety `seq` (True) ->
(case (RPat_Irrefutable _cpNm _acorety _patExprIvalCBindL) of
{ _rpat | _rpat `seq` (True) ->
(case (_rpat) of
{ _lhsOrpat | _lhsOrpat `seq` (True) ->
(case (_patExprIvalCBindL) of
{ _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) ->
( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOrpat,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))
in sem_PatExpr_Irrefutable_8)) of
{ ( sem_PatExpr_8) | True ->
( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_Irrefutable_7)) of
{ ( sem_PatExpr_7) | True ->
( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_Irrefutable_6)) of
{ ( sem_PatExpr_6) | True ->
( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }) }) })))
in sem_PatExpr_Irrefutable_5)) of
{ ( sem_PatExpr_5) | True ->
( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) }) })))))))
in sem_PatExpr_Irrefutable_4)) of
{ ( sem_PatExpr_4) | True ->
( _lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))
in sem_PatExpr_Irrefutable_3)) of
{ ( sem_PatExpr_3) | True ->
( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) })))))
in sem_PatExpr_Irrefutable_2)) of
{ ( sem_PatExpr_2) | True ->
( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) })))
in sem_PatExpr_Irrefutable_1)) of
{ ( sem_PatExpr_1) | True ->
( _lhsOrange,sem_PatExpr_1) }) }) }) })
sem_PatExpr_Bang :: Range ->
T_PatExpr ->
T_PatExpr
sem_PatExpr_Bang hsrange_ patExpr_ | hsrange_ `seq` (patExpr_ `seq` (True)) =
(case (patExpr_) of
{ ( _patExprIrange,patExpr_1) | True ->
(case (rangeUnions [hsrange_, _patExprIrange, _patExprIrange
]) of
{ _range | _range `seq` (True) ->
(case (_range) of
{ _lhsOrange | _lhsOrange `seq` (True) ->
(case ((let sem_PatExpr_Bang_1 :: T_PatExpr_1
sem_PatExpr_Bang_1 =
(\ _lhsIgUniq ->
_lhsIgUniq `seq`
((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of
{ __tup195 | __tup195 `seq` (True) ->
(case (__tup195) of
{ (_patExprOgUniq,_) | _patExprOgUniq `seq` (True) ->
(case (patExpr_1 _patExprOgUniq) of
{ ( _patExprIgUniq,patExpr_2) | True ->
(case (_patExprIgUniq) of
{ _lhsOgUniq | _lhsOgUniq `seq` (True) ->
(case ((let sem_PatExpr_Bang_2 :: T_PatExpr_2
sem_PatExpr_Bang_2 =
(\ _lhsIkiGam
_lhsIlexLev
_lhsIpredSameScopeCounter ->
_lhsIkiGam `seq`
(_lhsIlexLev `seq`
(_lhsIpredSameScopeCounter `seq`
((case (_lhsIpredSameScopeCounter) of
{ _patExprOpredSameScopeCounter | _patExprOpredSameScopeCounter `seq` (True) ->
(case (_lhsIlexLev) of
{ _patExprOlexLev | _patExprOlexLev `seq` (True) ->
(case (_lhsIkiGam) of
{ _patExprOkiGam | _patExprOkiGam `seq` (True) ->
(case (patExpr_2 _patExprOkiGam _patExprOlexLev _patExprOpredSameScopeCounter) of
{ ( _patExprIpredSameScopeCounter,patExpr_3) | True ->
(case (_patExprIpredSameScopeCounter) of
{ _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) ->
(case ((let sem_PatExpr_Bang_3 :: T_PatExpr_3
sem_PatExpr_Bang_3 =
(\ _lhsIkiVarMp
_lhsIopts
_lhsIpolGam
_lhsIpolVarMp
_lhsIpredScope
_lhsItyGam
_lhsItyKiGam
_lhsItyKiGlobFreeTvarS ->
_lhsIkiVarMp `seq`
(_lhsIopts `seq`
(_lhsIpolGam `seq`
(_lhsIpolVarMp `seq`
(_lhsIpredScope `seq`
(_lhsItyGam `seq`
(_lhsItyKiGam `seq`
(_lhsItyKiGlobFreeTvarS `seq`
((case (_lhsItyKiGlobFreeTvarS) of
{ _patExprOtyKiGlobFreeTvarS | _patExprOtyKiGlobFreeTvarS `seq` (True) ->
(case (_lhsItyKiGam) of
{ _patExprOtyKiGam | _patExprOtyKiGam `seq` (True) ->
(case (_lhsItyGam) of
{ _patExprOtyGam | _patExprOtyGam `seq` (True) ->
(case (_lhsIpredScope) of
{ _patExprOpredScope | _patExprOpredScope `seq` (True) ->
(case (_lhsIpolVarMp) of
{ _patExprOpolVarMp | _patExprOpolVarMp `seq` (True) ->
(case (_lhsIpolGam) of
{ _patExprOpolGam | _patExprOpolGam `seq` (True) ->
(case (_lhsIopts) of
{ _patExprOopts | _patExprOopts `seq` (True) ->
(case (_lhsIkiVarMp) of
{ _patExprOkiVarMp | _patExprOkiVarMp `seq` (True) ->
(case (patExpr_3 _patExprOkiVarMp _patExprOopts _patExprOpolGam _patExprOpolVarMp _patExprOpredScope _patExprOtyGam _patExprOtyKiGam _patExprOtyKiGlobFreeTvarS) of
{ ( _patExprIkiVarMp,_patExprIpolVarMp,_patExprItyGam,_patExprItyKiGam,patExpr_4) | True ->
(case (_patExprIkiVarMp) of
{ _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) ->
(case (_patExprIpolVarMp) of
{ _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) ->
(case (_patExprItyGam) of
{ _lhsOtyGam | _lhsOtyGam `seq` (True) ->
(case (_patExprItyKiGam) of
{ _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) ->
(case ((let sem_PatExpr_Bang_4 :: T_PatExpr_4
sem_PatExpr_Bang_4 =
(\ _lhsIclGam
_lhsIdataGam
_lhsIfinKiVarMp
_lhsIfinTyKiGam
_lhsItyTyTySigFreeTvarS ->
_lhsIclGam `seq`
(_lhsIdataGam `seq`
(_lhsIfinKiVarMp `seq`
(_lhsIfinTyKiGam `seq`
(_lhsItyTyTySigFreeTvarS `seq`
((case (_lhsItyTyTySigFreeTvarS) of
{ _patExprOtyTyTySigFreeTvarS | _patExprOtyTyTySigFreeTvarS `seq` (True) ->
(case (_lhsIfinTyKiGam) of
{ _patExprOfinTyKiGam | _patExprOfinTyKiGam `seq` (True) ->
(case (_lhsIfinKiVarMp) of
{ _patExprOfinKiVarMp | _patExprOfinKiVarMp `seq` (True) ->
(case (_lhsIdataGam) of
{ _patExprOdataGam | _patExprOdataGam `seq` (True) ->
(case (_lhsIclGam) of
{ _patExprOclGam | _patExprOclGam `seq` (True) ->
(case (patExpr_4 _patExprOclGam _patExprOdataGam _patExprOfinKiVarMp _patExprOfinTyKiGam _patExprOtyTyTySigFreeTvarS) of
{ ( _patExprIchrInstDeclSq,_patExprItopNm,patExpr_5) | True ->
(case (_patExprIchrInstDeclSq) of
{ _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) ->
(case (_patExprItopNm) of
{ _topNm | _topNm `seq` (True) ->
(case (_topNm) of
{ _lhsOtopNm | _lhsOtopNm `seq` (True) ->
(case ((let sem_PatExpr_Bang_5 :: T_PatExpr_5
sem_PatExpr_Bang_5 =
(\ _lhsIvalGam ->
_lhsIvalGam `seq`
((case (_lhsIvalGam) of
{ _patExprOvalGam | _patExprOvalGam `seq` (True) ->
(case (patExpr_5 _patExprOvalGam) of
{ ( _patExprIarity,_patExprImbTopNm,_patExprIpatFunTy,patExpr_6) | True ->
(case (_patExprIarity) of
{ _lhsOarity | _lhsOarity `seq` (True) ->
(case (_patExprImbTopNm) of
{ _mbTopNm | _mbTopNm `seq` (True) ->
(case (_mbTopNm) of
{ _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) ->
(case (_patExprIpatFunTy) of
{ _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) ->
(case ((let sem_PatExpr_Bang_6 :: T_PatExpr_6
sem_PatExpr_Bang_6 =
(\ _lhsIfiOpts
_lhsIinclVarBind
_lhsIknTy
_lhsIknTyL
_lhsIpatTyVarMp
_lhsItySigGam ->
_lhsIfiOpts `seq`
(_lhsIinclVarBind `seq`
(_lhsIknTy `seq`
(_lhsIknTyL `seq`
(_lhsIpatTyVarMp `seq`
(_lhsItySigGam `seq`
((case (_lhsItySigGam) of
{ _patExprOtySigGam | _patExprOtySigGam `seq` (True) ->
(case (_lhsIpatTyVarMp) of
{ _patExprOpatTyVarMp | _patExprOpatTyVarMp `seq` (True) ->
(case (_lhsIknTyL) of
{ _patExprOknTyL | _patExprOknTyL `seq` (True) ->
(case (_lhsIknTy) of
{ _patExprOknTy | _patExprOknTy `seq` (True) ->
(case (_lhsIinclVarBind) of
{ _patExprOinclVarBind | _patExprOinclVarBind `seq` (True) ->
(case (_lhsIfiOpts) of
{ _patExprOfiOpts | _patExprOfiOpts `seq` (True) ->
(case (patExpr_6 _patExprOfiOpts _patExprOinclVarBind _patExprOknTy _patExprOknTyL _patExprOpatTyVarMp _patExprOtySigGam) of
{ ( _patExprIpatTyVarMp,_patExprIvalGam,patExpr_7) | True ->
(case (_patExprIpatTyVarMp) of
{ _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) ->
(case (_patExprIvalGam) of
{ _lhsOvalGam | _lhsOvalGam `seq` (True) ->
(case ((let sem_PatExpr_Bang_7 :: T_PatExpr_7
sem_PatExpr_Bang_7 =
(\ _lhsIchrStore
_lhsIclDfGam
_lhsItvKiVarMp
_lhsItyTyGlobFreeTvarS
_lhsItyVarMp
_lhsIvalTyGlobFreeTvarS ->
_lhsIchrStore `seq`
(_lhsIclDfGam `seq`
(_lhsItvKiVarMp `seq`
(_lhsItyTyGlobFreeTvarS `seq`
(_lhsItyVarMp `seq`
(_lhsIvalTyGlobFreeTvarS `seq`
((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of
{ _cpNm | _cpNm `seq` (True) ->
(case (_cpNm) of
{ _lhsOcpNm | _lhsOcpNm `seq` (True) ->
(case (_lhsIvalTyGlobFreeTvarS) of
{ _patExprOvalTyGlobFreeTvarS | _patExprOvalTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItyVarMp) of
{ _patExprOtyVarMp | _patExprOtyVarMp `seq` (True) ->
(case (_lhsItyTyGlobFreeTvarS) of
{ _patExprOtyTyGlobFreeTvarS | _patExprOtyTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItvKiVarMp) of
{ _patExprOtvKiVarMp | _patExprOtvKiVarMp `seq` (True) ->
(case (_lhsIclDfGam) of
{ _patExprOclDfGam | _patExprOclDfGam `seq` (True) ->
(case (_lhsIchrStore) of
{ _patExprOchrStore | _patExprOchrStore `seq` (True) ->
(case (patExpr_7 _patExprOchrStore _patExprOclDfGam _patExprOtvKiVarMp _patExprOtyTyGlobFreeTvarS _patExprOtyVarMp _patExprOvalTyGlobFreeTvarS) of
{ ( _patExprIcpNm,_patExprIgathCnstrMp,_patExprIgathRangeMp,_patExprIscopeGam,_patExprIty,_patExprItyVarMp,patExpr_8) | True ->
(case (_patExprIgathCnstrMp) of
{ _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) ->
(case (_patExprIgathRangeMp) of
{ _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) ->
(case (_patExprIscopeGam) of
{ _lhsOscopeGam | _lhsOscopeGam `seq` (True) ->
(case (_patExprIty) of
{ _ty | _ty `seq` (True) ->
(case (_ty) of
{ _lhsOty | _lhsOty `seq` (True) ->
(case (_patExprItyVarMp) of
{ _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) ->
(case ((let sem_PatExpr_Bang_8 :: T_PatExpr_8
sem_PatExpr_Bang_8 =
(\ _lhsIcSubst
_lhsIceParentNm
_lhsIchrEvidBindMp
_lhsIchrScopeBindMp
_lhsIfinTyVarMp
_lhsIfinValGam
_lhsImoduleNm
_lhsIrangeMp
_lhsIsysfEnv
_lhsItySigVarMp ->
_lhsIcSubst `seq`
(_lhsIceParentNm `seq`
(_lhsIchrEvidBindMp `seq`
(_lhsIchrScopeBindMp `seq`
(_lhsIfinTyVarMp `seq`
(_lhsIfinValGam `seq`
(_lhsImoduleNm `seq`
(_lhsIrangeMp `seq`
(_lhsIsysfEnv `seq`
(_lhsItySigVarMp `seq`
((case (_lhsIsysfEnv) of
{ _patExprOsysfEnv | _patExprOsysfEnv `seq` (True) ->
(case (_lhsIrangeMp) of
{ _patExprOrangeMp | _patExprOrangeMp `seq` (True) ->
(case (_lhsIfinValGam) of
{ _patExprOfinValGam | _patExprOfinValGam `seq` (True) ->
(case (_lhsIfinTyVarMp) of
{ _patExprOfinTyVarMp | _patExprOfinTyVarMp `seq` (True) ->
(case (_lhsItySigVarMp) of
{ _patExprOtySigVarMp | _patExprOtySigVarMp `seq` (True) ->
(case (_lhsImoduleNm) of
{ _patExprOmoduleNm | _patExprOmoduleNm `seq` (True) ->
(case (_lhsIchrScopeBindMp) of
{ _patExprOchrScopeBindMp | _patExprOchrScopeBindMp `seq` (True) ->
(case (_lhsIchrEvidBindMp) of
{ _patExprOchrEvidBindMp | _patExprOchrEvidBindMp `seq` (True) ->
(case (_lhsIceParentNm) of
{ _patExprOceParentNm | _patExprOceParentNm `seq` (True) ->
(case (_lhsIcSubst) of
{ _patExprOcSubst | _patExprOcSubst `seq` (True) ->
(case (patExpr_8 _patExprOcSubst _patExprOceParentNm _patExprOchrEvidBindMp _patExprOchrScopeBindMp _patExprOfinTyVarMp _patExprOfinValGam _patExprOmoduleNm _patExprOrangeMp _patExprOsysfEnv _patExprOtySigVarMp) of
{ ( _patExprIallErrSq,_patExprIappArgPPL,_patExprIappFunNm,_patExprIappFunPP,_patExprIcSubst,_patExprIerrSq,_patExprIfsRPatL,_patExprIgathMentrelFilterMp,_patExprIgathTvKiVarMp,_patExprIisBang,_patExprIpatCRest,_patExprIpp,_patExprIrpat,_patExprIvalCBindL) | True ->
(case (_patExprIallErrSq) of
{ _lhsOallErrSq | _lhsOallErrSq `seq` (True) ->
(case ([]) of
{ _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) ->
(case (hsnUnknown) of
{ _lhsOappFunNm | _lhsOappFunNm `seq` (True) ->
(case ("!" >|< _patExprIpp) of
{ _pp | _pp `seq` (True) ->
(case (_pp) of
{ _lhsOappFunPP | _lhsOappFunPP `seq` (True) ->
(case (_patExprIcSubst) of
{ _lhsOcSubst | _lhsOcSubst `seq` (True) ->
(case (_patExprIerrSq) of
{ _lhsOerrSq | _lhsOerrSq `seq` (True) ->
(case ([]) of
{ _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) ->
(case (_patExprIgathMentrelFilterMp) of
{ _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) ->
(case (_patExprIgathTvKiVarMp) of
{ _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) ->
(case (True) of
{ _lhsOisBang | _lhsOisBang `seq` (True) ->
(case (CPatRest_Empty) of
{ _lhsOpatCRest | _lhsOpatCRest `seq` (True) ->
(case (_pp) of
{ _lhsOpp | _lhsOpp `seq` (True) ->
(case (case _patExprIrpat of
r@(RPat_Var _ _ _) -> r {rcpMustEval = True}
r -> r) of
{ _rpat | _rpat `seq` (True) ->
(case (_rpat) of
{ _lhsOrpat | _lhsOrpat `seq` (True) ->
(case (_patExprIvalCBindL) of
{ _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) ->
( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOrpat,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))
in sem_PatExpr_Bang_8)) of
{ ( sem_PatExpr_8) | True ->
( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_Bang_7)) of
{ ( sem_PatExpr_7) | True ->
( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_Bang_6)) of
{ ( sem_PatExpr_6) | True ->
( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }) }) })))
in sem_PatExpr_Bang_5)) of
{ ( sem_PatExpr_5) | True ->
( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) }) })))))))
in sem_PatExpr_Bang_4)) of
{ ( sem_PatExpr_4) | True ->
( _lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))
in sem_PatExpr_Bang_3)) of
{ ( sem_PatExpr_3) | True ->
( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) })))))
in sem_PatExpr_Bang_2)) of
{ ( sem_PatExpr_2) | True ->
( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) })))
in sem_PatExpr_Bang_1)) of
{ ( sem_PatExpr_1) | True ->
( _lhsOrange,sem_PatExpr_1) }) }) }) })
sem_PatExpr_Expr :: Range ->
T_Expr ->
(Maybe SrcConst) ->
T_PatExpr
sem_PatExpr_Expr hsrange_ expr_ mbConst_ | hsrange_ `seq` (expr_ `seq` (mbConst_ `seq` (True))) =
(case (expr_) of
{ ( _exprIrange,expr_1) | True ->
(case (rangeUnions [hsrange_, _exprIrange , _exprIrange ]) of
{ _range | _range `seq` (True) ->
(case (_range) of
{ _lhsOrange | _lhsOrange `seq` (True) ->
(case ((let sem_PatExpr_Expr_1 :: T_PatExpr_1
sem_PatExpr_Expr_1 =
(\ _lhsIgUniq ->
_lhsIgUniq `seq`
((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> case nextUnique __cont of { (__cont, lUniq_97_fitsIn_ty) -> case nextUnique __cont of { (__cont, lUniq_cexpr) -> (__cont,lUniq,lUniq_97_fitsIn_ty,lUniq_cexpr)}}} )) of
{ __tup198 | __tup198 `seq` (True) ->
(case (__tup198) of
{ (_exprOgUniq,_,_,_) | _exprOgUniq `seq` (True) ->
(case (expr_1 _exprOgUniq) of
{ ( _exprIgUniq,_exprIhasInstDecl,expr_2) | True ->
(case (_exprIgUniq) of
{ _lhsOgUniq | _lhsOgUniq `seq` (True) ->
(case ((let sem_PatExpr_Expr_2 :: T_PatExpr_2
sem_PatExpr_Expr_2 =
(\ _lhsIkiGam
_lhsIlexLev
_lhsIpredSameScopeCounter ->
_lhsIkiGam `seq`
(_lhsIlexLev `seq`
(_lhsIpredSameScopeCounter `seq`
((case (_lhsIpredSameScopeCounter) of
{ _exprOpredSameScopeCounter | _exprOpredSameScopeCounter `seq` (True) ->
(case (_lhsIlexLev) of
{ _exprOlexLev | _exprOlexLev `seq` (True) ->
(case (_lhsIkiGam) of
{ _exprOkiGam | _exprOkiGam `seq` (True) ->
(case (True) of
{ _exprOisFirstLet | _exprOisFirstLet `seq` (True) ->
(case (expr_2 _exprOisFirstLet _exprOkiGam _exprOlexLev _exprOpredSameScopeCounter) of
{ ( _exprIpredSameScopeCounter,expr_3) | True ->
(case (_exprIpredSameScopeCounter) of
{ _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) ->
(case ((let sem_PatExpr_Expr_3 :: T_PatExpr_3
sem_PatExpr_Expr_3 =
(\ _lhsIkiVarMp
_lhsIopts
_lhsIpolGam
_lhsIpolVarMp
_lhsIpredScope
_lhsItyGam
_lhsItyKiGam
_lhsItyKiGlobFreeTvarS ->
_lhsIkiVarMp `seq`
(_lhsIopts `seq`
(_lhsIpolGam `seq`
(_lhsIpolVarMp `seq`
(_lhsIpredScope `seq`
(_lhsItyGam `seq`
(_lhsItyKiGam `seq`
(_lhsItyKiGlobFreeTvarS `seq`
((case (_lhsItyKiGlobFreeTvarS) of
{ _exprOtyKiGlobFreeTvarS | _exprOtyKiGlobFreeTvarS `seq` (True) ->
(case (_lhsItyKiGam) of
{ _exprOtyKiGam | _exprOtyKiGam `seq` (True) ->
(case (_lhsItyGam) of
{ _exprOtyGam | _exprOtyGam `seq` (True) ->
(case (_lhsIpredScope) of
{ _exprOpredScope | _exprOpredScope `seq` (True) ->
(case (_lhsIpolVarMp) of
{ _exprOpolVarMp | _exprOpolVarMp `seq` (True) ->
(case (_lhsIpolGam) of
{ _exprOpolGam | _exprOpolGam `seq` (True) ->
(case (_lhsIopts) of
{ _exprOopts | _exprOopts `seq` (True) ->
(case (_lhsIkiVarMp) of
{ _exprOkiVarMp | _exprOkiVarMp `seq` (True) ->
(case (expr_3 _exprOkiVarMp _exprOopts _exprOpolGam _exprOpolVarMp _exprOpredScope _exprOtyGam _exprOtyKiGam _exprOtyKiGlobFreeTvarS) of
{ ( _exprIkiVarMp,_exprIpolVarMp,expr_4) | True ->
(case (_exprIkiVarMp) of
{ _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) ->
(case (_exprIpolVarMp) of
{ _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) ->
(case (_lhsItyGam) of
{ _lhsOtyGam | _lhsOtyGam `seq` (True) ->
(case (_lhsItyKiGam) of
{ _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) ->
(case ((let sem_PatExpr_Expr_4 :: T_PatExpr_4
sem_PatExpr_Expr_4 =
(\ _lhsIclGam
_lhsIdataGam
_lhsIfinKiVarMp
_lhsIfinTyKiGam
_lhsItyTyTySigFreeTvarS ->
_lhsIclGam `seq`
(_lhsIdataGam `seq`
(_lhsIfinKiVarMp `seq`
(_lhsIfinTyKiGam `seq`
(_lhsItyTyTySigFreeTvarS `seq`
((case (_lhsItyTyTySigFreeTvarS) of
{ _exprOtyTyTySigFreeTvarS | _exprOtyTyTySigFreeTvarS `seq` (True) ->
(case (_lhsIfinTyKiGam) of
{ _exprOfinTyKiGam | _exprOfinTyKiGam `seq` (True) ->
(case (_lhsIfinKiVarMp) of
{ _exprOfinKiVarMp | _exprOfinKiVarMp `seq` (True) ->
(case (_lhsIdataGam) of
{ _exprOdataGam | _exprOdataGam `seq` (True) ->
(case (_lhsIclGam) of
{ _exprOclGam | _exprOclGam `seq` (True) ->
(case (emptyGam) of
{ _exprOgathDataGam | _exprOgathDataGam `seq` (True) ->
(case (expr_4 _exprOclGam _exprOfinKiVarMp _exprOfinTyKiGam _exprOgathDataGam _exprOtyTyTySigFreeTvarS) of
{ ( _exprIgathDataGam,expr_5) | True ->
(case (expr_5 _exprOdataGam) of
{ ( _exprIchrClassDeclSq,_exprIchrFIIn,_exprIchrInstDeclSq,_exprIgathClDfGam,expr_6) | True ->
(case (_exprIchrInstDeclSq) of
{ _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) ->
(case (__tup198) of
{ (_,_lUniq,_,_) | _lUniq `seq` (True) ->
(case (uidHNm _lUniq) of
{ _topNm | _topNm `seq` (True) ->
(case (_topNm) of
{ _lhsOtopNm | _lhsOtopNm `seq` (True) ->
(case ((let sem_PatExpr_Expr_5 :: T_PatExpr_5
sem_PatExpr_Expr_5 =
(\ _lhsIvalGam ->
_lhsIvalGam `seq`
((case (0) of
{ _lhsOarity | _lhsOarity `seq` (True) ->
(case (Nothing) of
{ _mbTopNm | _mbTopNm `seq` (True) ->
(case (_mbTopNm) of
{ _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) ->
(case (Ty_Any) of
{ _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) ->
(case ((let sem_PatExpr_Expr_6 :: T_PatExpr_6
sem_PatExpr_Expr_6 =
(\ _lhsIfiOpts
_lhsIinclVarBind
_lhsIknTy
_lhsIknTyL
_lhsIpatTyVarMp
_lhsItySigGam ->
_lhsIfiOpts `seq`
(_lhsIinclVarBind `seq`
(_lhsIknTy `seq`
(_lhsIknTyL `seq`
(_lhsIpatTyVarMp `seq`
(_lhsItySigGam `seq`
((case (_lhsIpatTyVarMp) of
{ _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) ->
(case (_lhsIvalGam) of
{ _lhsOvalGam | _lhsOvalGam `seq` (True) ->
(case ((let sem_PatExpr_Expr_7 :: T_PatExpr_7
sem_PatExpr_Expr_7 =
(\ _lhsIchrStore
_lhsIclDfGam
_lhsItvKiVarMp
_lhsItyTyGlobFreeTvarS
_lhsItyVarMp
_lhsIvalTyGlobFreeTvarS ->
_lhsIchrStore `seq`
(_lhsIclDfGam `seq`
(_lhsItvKiVarMp `seq`
(_lhsItyTyGlobFreeTvarS `seq`
(_lhsItyVarMp `seq`
(_lhsIvalTyGlobFreeTvarS `seq`
((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of
{ _cpNm | _cpNm `seq` (True) ->
(case (_cpNm) of
{ _lhsOcpNm | _lhsOcpNm `seq` (True) ->
(case (_lhsIvalTyGlobFreeTvarS) of
{ _exprOvalTyGlobFreeTvarS | _exprOvalTyGlobFreeTvarS `seq` (True) ->
(case (_lhsIvalGam) of
{ _exprOvalGam | _exprOvalGam `seq` (True) ->
(case (_lhsItyTyGlobFreeTvarS) of
{ _exprOtyTyGlobFreeTvarS | _exprOtyTyGlobFreeTvarS `seq` (True) ->
(case (_lhsItvKiVarMp) of
{ _exprOtvKiVarMp | _exprOtvKiVarMp `seq` (True) ->
(case (_lhsIfiOpts) of
{ _exprOfiOpts | _exprOfiOpts `seq` (True) ->
(case (_lhsIclDfGam) of
{ _exprOclDfGam | _exprOclDfGam `seq` (True) ->
(case (_lhsIchrStore) of
{ _exprOchrStore | _exprOchrStore `seq` (True) ->
(case (__tup198) of
{ (_,_,_lUniq_97_fitsIn_ty,_) | _lUniq_97_fitsIn_ty `seq` (True) ->
(case (mkTyVar _lUniq) of
{ _knExprTy | _knExprTy `seq` (True) ->
(case (ehcOptBuiltin _lhsIopts ehbnClassEqFldEq) of
{ _eqFldNm | _eqFldNm `seq` (True) ->
(case (valGamLookupTy _eqFldNm _lhsIvalGam) of
{ __tup197 | __tup197 `seq` (True) ->
(case (__tup197) of
{ (_eqTy,_) | _eqTy `seq` (True) ->
(case (defaultFIEnv
{ feEHCOpts = _lhsIopts
, fePredScope = _lhsIpredScope
, feTyGam = _lhsItyGam
, fePolGam = _lhsIpolGam
, feRange = _range
}) of
{ _fe | _fe `seq` (True) ->
(case (fitsIn strongFIOpts _fe _lUniq_97_fitsIn_ty _lhsItyVarMp
_eqTy
([_knExprTy,_lhsIknTy] `appArr` (appCon $ ehcOptBuiltin _lhsIopts ehbnDataBool))) of
{ _fo_ | _fo_ `seq` (True) ->
(case (foVarMp _fo_ `varUpd` _lhsItyVarMp) of
{ _exprOtyVarMp | _exprOtyVarMp `seq` (True) ->
(case (_knExprTy) of
{ _exprOknTy | _exprOknTy `seq` (True) ->
(case (foGathCnstrMp _fo_) of
{ _hereCnstrMp | _hereCnstrMp `seq` (True) ->
(case (expr_6 _exprOchrStore _exprOclDfGam _exprOfiOpts _exprOknTy _exprOtvKiVarMp _exprOtyTyGlobFreeTvarS _exprOtyVarMp _exprOvalGam _exprOvalTyGlobFreeTvarS) of
{ ( _exprIgathCnstrMp,_exprIgathRangeMp,_exprIgathValGam,_exprInoLetQuantTyVarIdS,_exprIty,_exprItyVarMp,expr_7) | True ->
(case (cnstrMpUnions [_hereCnstrMp, _exprIgathCnstrMp]) of
{ _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) ->
(case (_exprIgathRangeMp) of
{ _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) ->
(case (emptyGam) of
{ _lhsOscopeGam | _lhsOscopeGam `seq` (True) ->
(case (_exprIty) of
{ _lhsOty | _lhsOty `seq` (True) ->
(case (_exprItyVarMp) of
{ _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) ->
(case ((let sem_PatExpr_Expr_8 :: T_PatExpr_8
sem_PatExpr_Expr_8 =
(\ _lhsIcSubst
_lhsIceParentNm
_lhsIchrEvidBindMp
_lhsIchrScopeBindMp
_lhsIfinTyVarMp
_lhsIfinValGam
_lhsImoduleNm
_lhsIrangeMp
_lhsIsysfEnv
_lhsItySigVarMp ->
_lhsIcSubst `seq`
(_lhsIceParentNm `seq`
(_lhsIchrEvidBindMp `seq`
(_lhsIchrScopeBindMp `seq`
(_lhsIfinTyVarMp `seq`
(_lhsIfinValGam `seq`
(_lhsImoduleNm `seq`
(_lhsIrangeMp `seq`
(_lhsIsysfEnv `seq`
(_lhsItySigVarMp `seq`
((case (_lhsIsysfEnv) of
{ _exprOsysfEnv | _exprOsysfEnv `seq` (True) ->
(case (_lhsIrangeMp) of
{ _exprOrangeMp | _exprOrangeMp `seq` (True) ->
(case (_lhsIfinValGam) of
{ _exprOfinValGam | _exprOfinValGam `seq` (True) ->
(case (_lhsIfinTyVarMp) of
{ _exprOfinTyVarMp | _exprOfinTyVarMp `seq` (True) ->
(case (_lhsImoduleNm) of
{ _exprOmoduleNm | _exprOmoduleNm `seq` (True) ->
(case (_lhsIchrScopeBindMp) of
{ _exprOchrScopeBindMp | _exprOchrScopeBindMp `seq` (True) ->
(case (_lhsIchrEvidBindMp) of
{ _exprOchrEvidBindMp | _exprOchrEvidBindMp `seq` (True) ->
(case (_lhsIcSubst) of
{ _exprOcSubst | _exprOcSubst `seq` (True) ->
(case (ExprCtxt_Top) of
{ _exprOexprCtxt | _exprOexprCtxt `seq` (True) ->
(case (expr_7 _exprOcSubst _exprOchrEvidBindMp _exprOchrScopeBindMp _exprOexprCtxt _exprOfinTyVarMp _exprOfinValGam _exprOmoduleNm _exprOrangeMp _exprOsysfEnv) of
{ ( _exprIallErrSq,_exprIappArgCoeL,_exprIappArgPPL,_exprIappFunCExpr,_exprIappFunNm,_exprIappFunPP,_exprIbackCBindL,_exprIcSubst,_exprIcaseFailS,_exprIcexpr,_exprIerrSq,_exprIfrontCBindL,_exprIfuCExprL,_exprIgathClGam,_exprIgathHiddenExports,_exprIgathKiGam,_exprIgathLamMp,_exprIgathMentrelFilterMp,_exprIgathPolGam,_exprIgathTvKiVarMp,_exprIgathTyGam,_exprIgathTyKiGam,_exprIisNewtype,_exprIlamArgPPL,_exprIlamBodyPP,_exprIletCBody,_exprIletTyCBindL,_exprIletValCBindL,_exprIorphanS,_exprIpp) | True ->
(case (_exprIallErrSq) of
{ _lhsOallErrSq | _lhsOallErrSq `seq` (True) ->
(case ([]) of
{ _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) ->
(case (hsnUnknown) of
{ _lhsOappFunNm | _lhsOappFunNm `seq` (True) ->
(case ("`" >|< _exprIpp >|< "`") of
{ _pp | _pp `seq` (True) ->
(case (_pp) of
{ _lhsOappFunPP | _lhsOappFunPP `seq` (True) ->
(case (__tup198) of
{ (_,_,_,_lUniq_cexpr) | _lUniq_cexpr `seq` (True) ->
(case (acoreVar _eqFldNm) of
{ _cexprBaseEq | _cexprBaseEq `seq` (True) ->
(case (let (e,s) = foAppLRCoeAsSubst _lhsIopts _lUniq_cexpr _fo_ _lhsIfinTyVarMp _exprIcSubst _cexprBaseEq
in (acoreApp e [_exprIcexpr], s)) of
{ __tup196 | __tup196 `seq` (True) ->
(case (__tup196) of
{ (_,_cexprpatCSubst) | _cexprpatCSubst `seq` (True) ->
(case (cSubstApp _exprIcSubst _cexprpatCSubst) of
{ _lhsOcSubst | _lhsOcSubst `seq` (True) ->
(case (__tup197) of
{ (_,_nmErrs) | _nmErrs `seq` (True) ->
(case (rngLift _range mkNestErr' _pp [ _exprIerrSq
, Seq.fromList _nmErrs, foErrSq _fo_
]) of
{ _lhsOerrSq | _lhsOerrSq `seq` (True) ->
(case ([]) of
{ _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) ->
(case (mentrelFilterMpSingleton [_lhsImoduleNm] IdOcc_Val _eqFldNm
`mentrelFilterMpUnion`
tyUsedNames _lhsImoduleNm _eqTy) of
{ _gathMentrelFilterMp | _gathMentrelFilterMp `seq` (True) ->
(case (_gathMentrelFilterMp) of
{ _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) ->
(case (_exprIgathTvKiVarMp) of
{ _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) ->
(case (False) of
{ _lhsOisBang | _lhsOisBang `seq` (True) ->
(case (CPatRest_Empty) of
{ _lhsOpatCRest | _lhsOpatCRest `seq` (True) ->
(case (_pp) of
{ _lhsOpp | _lhsOpp `seq` (True) ->
(case (__tup196) of
{ (_cexpr,_) | _cexpr `seq` (True) ->
(case (RPat_BoolExpr _cpNm (acoreTyErr "EH.ToCore.PatExpr.Expr") _cexpr mbConst_) of
{ _rpat | _rpat `seq` (True) ->
(case (_rpat) of
{ _lhsOrpat | _lhsOrpat `seq` (True) ->
(case ([]) of
{ _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) ->
( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOrpat,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))
in sem_PatExpr_Expr_8)) of
{ ( sem_PatExpr_8) | True ->
( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))
in sem_PatExpr_Expr_7)) of
{ ( sem_PatExpr_7) | True ->
( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }))))))))
in sem_PatExpr_Expr_6)) of
{ ( sem_PatExpr_6) | True ->
( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) })))
in sem_PatExpr_Expr_5)) of
{ ( sem_PatExpr_5) | True ->
( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) }) }) }) }) })))))))
in sem_PatExpr_Expr_4)) of
{ ( sem_PatExpr_4) | True ->
( _lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))
in sem_PatExpr_Expr_3)) of
{ ( sem_PatExpr_3) | True ->
( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) }) })))))
in sem_PatExpr_Expr_2)) of
{ ( sem_PatExpr_2) | True ->
( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) })))
in sem_PatExpr_Expr_1)) of
{ ( sem_PatExpr_1) | True ->
( _lhsOrange,sem_PatExpr_1) }) }) }) })