packages feed

uhc-light 1.1.9.1 → 1.1.9.2

raw patch · 516 files changed

+6267/−28226 lines, 516 filesdep ~hashabledep ~uhc-lightdep ~uhc-utilbinary-addedPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: hashable, uhc-light, uhc-util

API changes (from Hackage documentation)

+ UHC.Light.Compiler.Base.API: [ehcOptCoreRunOpts] :: EHCOpts -> !(Set CoreRunOpt)
+ UHC.Light.Compiler.EH.Main: [ppAST_Syn_AGItf] :: Syn_AGItf -> !(PP_Doc)
+ UHC.Light.Compiler.EHC.Main.Utils: CoreRunOpt_PrintResult :: CoreRunOpt
+ UHC.Light.Compiler.EHC.Main.Utils: [ehcOptCoreRunOpts] :: EHCOpts -> !(Set CoreRunOpt)
+ UHC.Light.Compiler.EHC.Main.Utils: data CoreRunOpt
- UHC.Light.Compiler.Base.API: EHCOpts :: (forall a. String -> a -> a) -> String -> Bool -> Bool -> [EhOpt] -> Set UnderDev -> Bool -> Bool -> Bool -> Maybe ImmediateQuitOption -> Bool -> CompilePoint -> Bool -> Bool -> MaybeOk Target -> MaybeOk TargetFlavor -> Bool -> OptimizationLevel -> OptimizationScope -> OptimizeS -> OptimizeOptionMp -> Bool -> [CoreOpt] -> Bool -> Bool -> Bool -> Bool -> FileLocPath -> Verbosity -> !(Set TraceOn) -> EHBuiltinNames -> EHCEnvironment -> Bool -> Int -> Bool -> Int -> Bool -> Bool -> Bool -> LinkingStyle -> Bool -> Bool -> Bool -> Bool -> FileLocPath -> StringPath -> PackageDatabase -> FPath -> String -> String -> Maybe FPath -> Bool -> Bool -> [PackageSearchFilter] -> Maybe String -> Bool -> Maybe PkgOption -> Maybe String -> Maybe String -> CmdLineOpts -> Bool -> Bool -> Map PgmExec FilePath -> Map FilePath [ExecOpt] -> EHCOpts
+ UHC.Light.Compiler.Base.API: EHCOpts :: (forall a. String -> a -> a) -> String -> Bool -> Bool -> [EhOpt] -> Set UnderDev -> Bool -> Bool -> Bool -> Maybe ImmediateQuitOption -> Bool -> CompilePoint -> Bool -> Bool -> MaybeOk Target -> MaybeOk TargetFlavor -> Bool -> OptimizationLevel -> OptimizationScope -> OptimizeS -> OptimizeOptionMp -> Bool -> [CoreOpt] -> !(Set CoreRunOpt) -> Bool -> Bool -> Bool -> Bool -> FileLocPath -> Verbosity -> !(Set TraceOn) -> EHBuiltinNames -> EHCEnvironment -> Bool -> Int -> Bool -> Int -> Bool -> Bool -> Bool -> LinkingStyle -> Bool -> Bool -> Bool -> Bool -> FileLocPath -> StringPath -> PackageDatabase -> FPath -> String -> String -> Maybe FPath -> Bool -> Bool -> [PackageSearchFilter] -> Maybe String -> Bool -> Maybe PkgOption -> Maybe String -> Maybe String -> CmdLineOpts -> Bool -> Bool -> Map PgmExec FilePath -> Map FilePath [ExecOpt] -> EHCOpts
- UHC.Light.Compiler.EH.Main: Inh_AGItf :: !(ScopedPredStore) -> !(ClassDefaultGam) -> !(ClGam) -> !(DataGam) -> !(UID) -> !(IdQualGam) -> !(ImportUsedModules) -> !(Bool) -> !(KiGam) -> !(ModuleImportExportImpl) -> !(HsName) -> !(EHCOpts) -> !(PolGam) -> !(TyGam) -> !(TyKiGam) -> !(ValGam) -> Inh_AGItf
+ UHC.Light.Compiler.EH.Main: Inh_AGItf :: !(CHRStore) -> !(ClassDefaultGam) -> !(ClGam) -> !(DataGam) -> !(UID) -> !(IdQualGam) -> !(ImportUsedModules) -> !(Bool) -> !(KiGam) -> !(ModuleImportExportImpl) -> !(HsName) -> !(EHCOpts) -> !(PolGam) -> !(TyGam) -> !(TyKiGam) -> !(ValGam) -> Inh_AGItf
- UHC.Light.Compiler.EH.Main: Syn_AGItf :: !(ErrSq) -> !(CModule) -> !(UID) -> !(ScopedPredStore) -> !(ClassDefaultGam) -> !(ClGam) -> !(DataGam) -> !((Seq (HsName, IdOccKind))) -> !(KiGam) -> !(LamMp) -> !(ModEntRelFilterMp) -> !(PolGam) -> !(TyGam) -> !(TyKiGam) -> !(ValGam) -> !((Maybe (Set HsName))) -> !(PP_Doc) -> !(PP_Doc) -> !(TrPP) -> Syn_AGItf
+ UHC.Light.Compiler.EH.Main: Syn_AGItf :: !(ErrSq) -> !(CModule) -> !(UID) -> !(CHRStore) -> !(ClassDefaultGam) -> !(ClGam) -> !(DataGam) -> !((Seq (HsName, IdOccKind))) -> !(KiGam) -> !(LamMp) -> !(ModEntRelFilterMp) -> !(PolGam) -> !(TyGam) -> !(TyKiGam) -> !(ValGam) -> !((Maybe (Set HsName))) -> !(PP_Doc) -> !(PP_Doc) -> !(PP_Doc) -> !(TrPP) -> Syn_AGItf
- UHC.Light.Compiler.EH.Main: [chrStore_Inh_AGItf] :: Inh_AGItf -> !(ScopedPredStore)
+ UHC.Light.Compiler.EH.Main: [chrStore_Inh_AGItf] :: Inh_AGItf -> !(CHRStore)
- UHC.Light.Compiler.EH.Main: [gathChrStore_Syn_AGItf] :: Syn_AGItf -> !(ScopedPredStore)
+ UHC.Light.Compiler.EH.Main: [gathChrStore_Syn_AGItf] :: Syn_AGItf -> !(CHRStore)
- UHC.Light.Compiler.EHC.Main.Utils: EHCOpts :: (forall a. String -> a -> a) -> String -> Bool -> Bool -> [EhOpt] -> Set UnderDev -> Bool -> Bool -> Bool -> Maybe ImmediateQuitOption -> Bool -> CompilePoint -> Bool -> Bool -> MaybeOk Target -> MaybeOk TargetFlavor -> Bool -> OptimizationLevel -> OptimizationScope -> OptimizeS -> OptimizeOptionMp -> Bool -> [CoreOpt] -> Bool -> Bool -> Bool -> Bool -> FileLocPath -> Verbosity -> !(Set TraceOn) -> EHBuiltinNames -> EHCEnvironment -> Bool -> Int -> Bool -> Int -> Bool -> Bool -> Bool -> LinkingStyle -> Bool -> Bool -> Bool -> Bool -> FileLocPath -> StringPath -> PackageDatabase -> FPath -> String -> String -> Maybe FPath -> Bool -> Bool -> [PackageSearchFilter] -> Maybe String -> Bool -> Maybe PkgOption -> Maybe String -> Maybe String -> CmdLineOpts -> Bool -> Bool -> Map PgmExec FilePath -> Map FilePath [ExecOpt] -> EHCOpts
+ UHC.Light.Compiler.EHC.Main.Utils: EHCOpts :: (forall a. String -> a -> a) -> String -> Bool -> Bool -> [EhOpt] -> Set UnderDev -> Bool -> Bool -> Bool -> Maybe ImmediateQuitOption -> Bool -> CompilePoint -> Bool -> Bool -> MaybeOk Target -> MaybeOk TargetFlavor -> Bool -> OptimizationLevel -> OptimizationScope -> OptimizeS -> OptimizeOptionMp -> Bool -> [CoreOpt] -> !(Set CoreRunOpt) -> Bool -> Bool -> Bool -> Bool -> FileLocPath -> Verbosity -> !(Set TraceOn) -> EHBuiltinNames -> EHCEnvironment -> Bool -> Int -> Bool -> Int -> Bool -> Bool -> Bool -> LinkingStyle -> Bool -> Bool -> Bool -> Bool -> FileLocPath -> StringPath -> PackageDatabase -> FPath -> String -> String -> Maybe FPath -> Bool -> Bool -> [PackageSearchFilter] -> Maybe String -> Bool -> Maybe PkgOption -> Maybe String -> Maybe String -> CmdLineOpts -> Bool -> Bool -> Map PgmExec FilePath -> Map FilePath [ExecOpt] -> EHCOpts

This diff is very large; some files are shown as “too large to diff”. Download the raw patch for the complete diff.

Files

103/lib/ag/AnaDomain/AbsSyn.ag view
@@ -1,88 +1,1 @@-DATA TyAGItf-  | AGItf       relevTy         : RelevTy--DATA QualAGItf-  | AGItf       relevQual       : RelevQual--DATA CoeAGItf-  | AGItf       relevCoe        : RelevCoe--DATA AnaEval-  -- variable, for propagation-  | Var         av				: {UID}--  -- evaluated (Bot)-  | WHNF--  -- unknown (Top)-  | Lazy--  -- meet & join are explicitly encoded because of delayed or impossible simplification-  | Meet		opnds			: AnaEvalL-  | Join		opnds			: AnaEvalL--TYPE AnaEvalL	=	[AnaEval]--SET AllAna 		= 	AnaEval AnaEvalL--DATA RelevCoe-  -- no coercion-  | Id--  -- err coercion-  | Err			str				: String--  -- composition of coercion-  | Comp		l				: RelevCoe-  				r				: RelevCoe--  -- coercion for function-  | Fun 		args			: RelevCoeL-  				res				: RelevCoe--  -- coercion going in the 'wrong' direction of lattice, delegating the corresponding 'cast' to the outside-  | Cast		coe 			: RelevCoe--  -- coercion casting between types-  | CastTy		l	 			: RelevTy-  				r				: RelevTy--  -- the real coercion, for each Ana lattice, may require substitutions later on-  | Eval		from			: AnaEval-  				to				: AnaEval--TYPE RelevCoeL	=	[RelevCoe]--SET AllCoe		=	RelevCoe RelevCoeL--DATA RelevQual-  -- less than or equal in AnaEval lattice-  | SubEval		l				: AnaEval-  				r				: AnaEval--TYPE RelevQualL	=	[RelevQual]--DATA RelevTy-  -- no ty (for now)-  | None-  -- error ty (for now)-  | Err			str				: String--  -- analysis info is base case of ty-  | Ana         eval			: AnaEval-  				-- put others here--  -- function structure-  | Fun			quant			: {RQuant}-  				quants			: {[UID]}-  				quals			: RelevQualL-  				args			: RelevTyL-  				res				: RelevTy--TYPE RelevTyL	=	[RelevTy]-TYPE MbRelevTy	=	MAYBE RelevTy--SET AllRelevTy	=	RelevTy RelevTyL MbRelevTy RelevQual RelevQualL--SET AllNT = AllRelevTy AllAna AllCoe 
103/lib/ag/Core/AbsSyn.ag view
@@ -143,12 +143,11 @@ -- | ann for CExpr DATA CExprAnn   | Ty			ty				: {Ty}-  | Coe			coe				: {RelevCoe}   | Debug		info			: {String}  -- | ann for name intro DATA CBindAnn-  | Coe			coe				: {RelevCoe}+  | Coe			coe				: {()}	-- dummy  TYPE CBindAnnL	= [CBindAnn] @@ -170,9 +169,6 @@   | Meta		aspectKeyS		: {ACoreBindAspectKeyS}   				cmetas			: CMetas -  -- a (keyed) RelevTy-  | RelevTy		aspectKeyS		: {ACoreBindAspectKeyS}-  				relevTy			: {RelevTy}    -- a (keyed) CExpr   | Val		    aspectKeyS		: {ACoreBindAspectKeyS}
103/lib/pkg/array-1.0.0.0/103/cr/plain/Data/Array.hi view

binary file changed (6274 → 6274 bytes)

103/lib/pkg/array-1.0.0.0/103/cr/plain/installed-pkg-config view
@@ -1,2 +1,2 @@ exposed-modules: Data.Array-build-depends: uhcbase-1.1.9.1 base-3.0.0.0+build-depends: uhcbase-1.1.9.2 base-3.0.0.0
103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Applicative.bcrr view

binary file changed (248975 → 213341 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Applicative.hi view

binary file changed (75770 → 75770 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Arrow.bcrr view

binary file changed (236792 → 210134 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Arrow.hi view

binary file changed (109831 → 109831 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Category.bcrr view

binary file changed (7989 → 6810 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Category.hi view

binary file changed (9455 → 9455 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Monad/Fix.bcrr view

binary file changed (25975 → 22251 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Monad/Fix.hi view

binary file changed (14316 → 14316 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Monad/Instances.bcrr view

binary file changed (21451 → 18094 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Monad/Instances.hi view

binary file changed (8822 → 8822 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Monad/ST.bcrr view

binary file changed (4255 → 3569 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Monad/ST.hi view

binary file changed (6432 → 6432 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Monad/ST/Lazy.bcrr view

binary file changed (5649 → 4711 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Monad/ST/Lazy.hi view

binary file changed (7282 → 7282 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Bool.hi view

binary file changed (4495 → 4495 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Complex.bcrr view

binary file changed (323497 → 303032 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Complex.cr view

binary file changed (232151 → 232151 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Complex.hi view

binary file changed (22178 → 22178 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Dynamic.bcrr view

binary file changed (63578 → 56182 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Dynamic.cr view

binary file changed (41298 → 41298 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Dynamic.hi view

binary file changed (21616 → 21616 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Eq.hi view

binary file changed (3881 → 3881 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Foldable.bcrr view

binary file changed (86494 → 79561 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Foldable.hi view

binary file changed (26649 → 26649 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Function.bcrr view

binary file changed (2051 → 1904 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Function.hi view

binary file changed (4895 → 4895 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Ix.hi view

binary file changed (4380 → 4380 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Monoid.bcrr view

binary file changed (571448 → 503742 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Monoid.hi view

binary file changed (104372 → 104372 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Ord.bcrr view

binary file changed (1529 → 1454 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Ord.hi view

binary file changed (5728 → 5728 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Ratio.bcrr view

binary file changed (40083 → 38570 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Ratio.hi view

binary file changed (4886 → 4886 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/String.bcrr view

binary file changed (5711 → 4788 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/String.hi view

binary file changed (7181 → 7181 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Traversable.bcrr view

binary file changed (182966 → 157830 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Traversable.cr view

binary file changed (123885 → 123885 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Traversable.hi view

binary file changed (53037 → 53037 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Numeric.bcrr view

binary file changed (3483 → 3279 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Numeric.hi view

binary file changed (6565 → 6565 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Prelude.hi view

binary file changed (63177 → 63177 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/System/Console/GetOpt.bcrr view

binary file changed (354067 → 325998 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/System/Console/GetOpt.hi view

binary file changed (53767 → 53767 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/System/Exit.bcrr view

binary file changed (2110 → 1780 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/System/Exit.hi view

binary file changed (5077 → 5077 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/ParserCombinators/ReadP.bcrr view

binary file changed (296660 → 269530 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/ParserCombinators/ReadP.hi view

binary file changed (44557 → 44557 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/ParserCombinators/ReadPrec.bcrr view

binary file changed (54442 → 45927 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/ParserCombinators/ReadPrec.hi view

binary file changed (19832 → 19832 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/Read.hi view

binary file changed (4500 → 4500 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/Read/Lex.bcrr view

binary file changed (397366 → 376713 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/Read/Lex.hi view

binary file changed (28138 → 28138 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/Show.bcrr view

binary file changed (5225 → 4979 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/Show.hi view

binary file changed (5328 → 5328 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/Show/Functions.bcrr view

binary file changed (5471 → 4615 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/Show/Functions.hi view

binary file changed (4679 → 4679 bytes)

103/lib/pkg/base-3.0.0.0/103/cr/plain/installed-pkg-config view
@@ -1,2 +1,2 @@ exposed-modules: Control.Applicative Control.Arrow Control.Category Control.Monad.Fix Control.Monad.Instances Control.Monad.ST.Lazy Control.Monad.ST Data.Bool Data.Complex Data.Dynamic Data.Eq Data.Foldable Data.Function Data.Ix Data.Monoid Data.Ord Data.Ratio Data.String Data.Traversable Numeric Prelude System.Console.GetOpt System.Environment System.Exit Text.ParserCombinators.ReadP Text.ParserCombinators.ReadPrec Text.Read.Lex Text.Read Text.Show.Functions Text.Show-build-depends: uhcbase-1.1.9.1+build-depends: uhcbase-1.1.9.2
− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Control/Monad.bcrr

binary file changed (68482 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Control/Monad.cr

binary file changed (61194 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Control/Monad.hi

binary file changed (23046 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/Bits.bcrr

binary file changed (95477 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/Bits.cr

binary file changed (82608 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/Bits.hi

binary file changed (21098 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/Char.bcrr

binary file changed (15086 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/Char.cr

binary file changed (11493 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/Char.hi

binary file changed (5480 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/Either.bcrr

binary file changed (7221 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/Either.cr

binary file changed (6580 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/Either.hi

binary file changed (3404 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/IORef.bcrr

binary file changed (3406 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/IORef.cr

binary file changed (3460 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/IORef.hi

binary file changed (3169 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/List.bcrr

binary file changed (259546 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/List.cr

binary file changed (204294 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/List.hi

binary file changed (33649 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/Maybe.bcrr

binary file changed (9662 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/Maybe.cr

binary file changed (8206 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/Maybe.hi

binary file changed (4237 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/Typeable.bcrr

binary file changed (254699 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/Typeable.cr

binary file changed (174108 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Data/Typeable.hi

binary file changed (82173 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Debug/Trace.bcrr

binary file changed (2800 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Debug/Trace.cr

binary file changed (3180 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Debug/Trace.hi

binary file changed (4424 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Foreign/Ptr.bcrr

binary file changed (408 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Foreign/Ptr.cr

binary file changed (405 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Foreign/Ptr.hi

binary file changed (2959 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Foreign/StablePtr.bcrr

binary file changed (162 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Foreign/StablePtr.cr

binary file changed (149 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Foreign/StablePtr.hi

binary file changed (2081 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/System/IO.bcrr

binary file changed (27793 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/System/IO.cr

binary file changed (22836 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/System/IO.hi

binary file changed (16231 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/System/IO/Error.bcrr

binary file changed (38605 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/System/IO/Error.cr

binary file changed (30548 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/System/IO/Error.hi

binary file changed (15702 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/System/IO/Fix.bcrr

binary file changed (5847 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/System/IO/Fix.cr

binary file changed (4750 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/System/IO/Fix.hi

binary file changed (1947 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/System/IO/Unsafe.bcrr

binary file changed (1009 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/System/IO/Unsafe.cr

binary file changed (1004 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/System/IO/Unsafe.hi

binary file changed (1967 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Array.bcrr

binary file changed (268634 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Array.cr

binary file changed (216766 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Array.hi

binary file changed (44321 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Base.bcrr

file too large to diff

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Base.cr

binary file changed (1921744 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Base.hi

binary file changed (576661 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Bits.bcrr

binary file changed (14622 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Bits.cr

binary file changed (13522 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Bits.hi

binary file changed (5033 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Bounded.bcrr

binary file changed (187736 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Bounded.cr

binary file changed (122008 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Bounded.hi

binary file changed (38444 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/BoxArray.bcrr

binary file changed (43234 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/BoxArray.cr

binary file changed (29560 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/BoxArray.hi

binary file changed (15665 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Char.bcrr

binary file changed (6373 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Char.cr

binary file changed (5241 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Char.hi

binary file changed (1271 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Enum.bcrr

binary file changed (9772 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Enum.cr

binary file changed (8362 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Enum.hi

binary file changed (2041 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Eq.bcrr

binary file changed (169002 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Eq.cr

binary file changed (107238 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Eq.hi

binary file changed (37904 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Float.bcrr

binary file changed (77530 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Float.cr

binary file changed (58805 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Float.hi

binary file changed (1793 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/GC.bcrr

binary file changed (730 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/GC.cr

binary file changed (688 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/GC.hi

binary file changed (1242 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Generics.bcrr

binary file changed (218 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Generics.cr

binary file changed (207 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Generics.hi

binary file changed (13320 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Generics/Tuple.bcrr

binary file changed (901605 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Generics/Tuple.cr

binary file changed (670318 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Generics/Tuple.hi

binary file changed (238109 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Handle.bcrr

binary file changed (174053 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Handle.cr

binary file changed (131848 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Handle.hi

binary file changed (28666 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/IO.bcrr

binary file changed (15981 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/IO.cr

binary file changed (15533 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/IO.hi

binary file changed (5768 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/IOBase.bcrr

binary file changed (512380 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/IOBase.cr

binary file changed (347926 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/IOBase.hi

binary file changed (93852 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Ix.bcrr

binary file changed (105107 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Ix.cr

binary file changed (76893 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Ix.hi

binary file changed (20254 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/LazyST.bcrr

binary file changed (52617 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/LazyST.cr

binary file changed (37679 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/LazyST.hi

binary file changed (14845 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/MVar.bcrr

binary file changed (36317 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/MVar.cr

binary file changed (29147 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/MVar.hi

binary file changed (8051 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/MutVar.bcrr

binary file changed (24425 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/MutVar.cr

binary file changed (18338 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/MutVar.hi

binary file changed (7659 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/OldException.bcrr

binary file changed (15382 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/OldException.cr

binary file changed (12357 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/OldException.hi

binary file changed (4479 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Ord.bcrr

binary file changed (84814 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Ord.cr

binary file changed (68996 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Ord.hi

binary file changed (9195 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Prims.bcrr

binary file changed (223804 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Prims.cr

binary file changed (206208 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Prims.hi

binary file changed (68189 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Ptr.bcrr

binary file changed (40088 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Ptr.cr

binary file changed (25261 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Ptr.hi

binary file changed (15020 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Read.bcrr

binary file changed (104563 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Read.cr

binary file changed (87675 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Read.hi

binary file changed (8628 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Real.bcrr

binary file changed (8463 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Real.cr

binary file changed (7206 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Real.hi

binary file changed (1487 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Run.bcrr

binary file changed (11677 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Run.cr

binary file changed (11814 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Run.hi

binary file changed (4168 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/ST.bcrr

binary file changed (70384 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/ST.cr

binary file changed (47840 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/ST.hi

binary file changed (21012 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/STRef.bcrr

binary file changed (32851 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/STRef.cr

binary file changed (22974 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/STRef.hi

binary file changed (10893 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Show.bcrr

binary file changed (205311 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Show.cr

binary file changed (152750 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Show.hi

binary file changed (19582 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/StablePtr.bcrr

binary file changed (32211 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/StablePtr.cr

binary file changed (21966 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/StablePtr.hi

binary file changed (11320 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/StackTrace.bcrr

binary file changed (154 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/StackTrace.cr

binary file changed (141 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/StackTrace.hi

binary file changed (1382 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Types.bcrr

binary file changed (114627 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Types.cr

binary file changed (69167 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Types.hi

binary file changed (33003 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Weak.bcrr

binary file changed (37010 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Weak.cr

binary file changed (27246 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/Weak.hi

binary file changed (12839 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/WeakPtr.bcrr

binary file changed (18414 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/WeakPtr.cr

binary file changed (13919 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/UHC/WeakPtr.hi

binary file changed (7427 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Unsafe/Coerce.bcrr

binary file changed (153 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Unsafe/Coerce.cr

binary file changed (140 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/Unsafe/Coerce.hi

binary file changed (855 → absent bytes)

− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/include/CTypes.h
@@ -1,231 +0,0 @@-{- ---------------------------------------------------------------------------// Dirty CPP hackery for CTypes/CTypesISO-//-// (c) The FFI task force, 2000-// ----------------------------------------------------------------------------}--#ifndef CTYPES__H-#define CTYPES__H--#include "Typeable.h"--{--// As long as there is no automatic derivation of classes for newtypes we resort-// to extremely dirty cpp-hackery.   :-P   Some care has to be taken when the-// macros below are modified, otherwise the layout rule will bite you.--}----  // A hacked version for GHC follows the Haskell 98 version...-#ifndef __GLASGOW_HASKELL__--#define NEWTYPE_TYPE_NODERIVING(T,B) \-newtype T = T B ; --#define NEWTYPE_TYPE(T,B) \-newtype T = T B deriving (Eq, Ord) ; --#define ARITHMETIC_TYPE_INSTANCES(T,C,S,B) \-INSTANCE_NUM(T) ; \-INSTANCE_REAL(T) ; \-INSTANCE_READ(T,B) ; \-INSTANCE_SHOW(T,B) ; \-INSTANCE_ENUM(T) ; \-INSTANCE_STORABLE(T) ; \-INSTANCE_TYPEABLE0(T,C,S) ;--#define INTEGRAL_TYPE_INSTANCES(T,C,S,B) \-INSTANCE_BOUNDED(T) ; \-INSTANCE_INTEGRAL(T) ; \-INSTANCE_BITS(T)--#define ARITHMETIC_TYPE(T,C,S,B) \-NEWTYPE_TYPE(T,B) ; \-ARITHMETIC_TYPE_INSTANCES(T,C,S,B) ;--#define INTEGRAL_TYPE(T,C,S,B) \-ARITHMETIC_TYPE(T,C,S,B) ; \-INTEGRAL_TYPE_INSTANCES(T,C,S,B)--#define FLOATING_TYPE(T,C,S,B) \-ARITHMETIC_TYPE(T,C,S,B) ; \-INSTANCE_FRACTIONAL(T) ; \-INSTANCE_FLOATING(T) ; \-INSTANCE_REALFRAC(T) ; \-INSTANCE_REALFLOAT(T)--#ifndef __GLASGOW_HASKELL__-#define fakeMap map-#endif--#define INSTANCE_READ(T,B) \-instance Read T where { \-   readsPrec p s = fakeMap (\(x, t) -> (T x, t)) (readsPrec p s) }--#define INSTANCE_SHOW(T,B) \-instance Show T where { \-   showsPrec p (T x) = showsPrec p x }--#define INSTANCE_NUM(T) \-instance Num T where { \-   (T i) + (T j) = T (i + j) ; \-   (T i) - (T j) = T (i - j) ; \-   (T i) * (T j) = T (i * j) ; \-   negate  (T i) = T (negate i) ; \-   abs     (T i) = T (abs    i) ; \-   signum  (T i) = T (signum i) ; \-   fromInteger x = T (fromInteger x) }--#define INSTANCE_EQ(T) \-instance Eq T where { \-   (T x1) == (T x2) = x1 == x2 }--#define INSTANCE_ORD(T) \-instance Ord T where { \-   (T x1) `compare` (T x2) = x1 `compare` x2 }--#define INSTANCE_BOUNDED(T) \-instance Bounded T where { \-   minBound = T minBound ; \-   maxBound = T maxBound }--#define INSTANCE_ENUM(T) \-instance Enum T where { \-   succ           (T i)             = T (succ i) ; \-   pred           (T i)             = T (pred i) ; \-   toEnum               x           = T (toEnum x) ; \-   fromEnum       (T i)             = fromEnum i ; \-   enumFrom       (T i)             = fakeMap T (enumFrom i) ; \-   enumFromThen   (T i) (T j)       = fakeMap T (enumFromThen i j) ; \-   enumFromTo     (T i) (T j)       = fakeMap T (enumFromTo i j) ; \-   enumFromThenTo (T i) (T j) (T k) = fakeMap T (enumFromThenTo i j k) }--#define INSTANCE_REAL(T) \-instance Real T where { \-   toRational (T i) = toRational i }--#define INSTANCE_INTEGRAL(T) \-instance Integral T where { \-   (T i) `quot`    (T j) = T (i `quot` j) ; \-   (T i) `rem`     (T j) = T (i `rem`  j) ; \-   (T i) `div`     (T j) = T (i `div`  j) ; \-   (T i) `mod`     (T j) = T (i `mod`  j) ; \-   (T i) `quotRem` (T j) = let (q,r) = i `quotRem` j in (T q, T r) ; \-   (T i) `divMod`  (T j) = let (d,m) = i `divMod`  j in (T d, T m) ; \-   toInteger (T i)       = toInteger i }--#define INSTANCE_BITS(T) \-instance Bits T where { \-  (T x) .&.     (T y)   = T (x .&.   y) ; \-  (T x) .|.     (T y)   = T (x .|.   y) ; \-  (T x) `xor`   (T y)   = T (x `xor` y) ; \-  complement    (T x)   = T (complement x) ; \-  shift         (T x) n = T (shift x n) ; \-  rotate        (T x) n = T (rotate x n) ; \-  bit                 n = T (bit n) ; \-  setBit        (T x) n = T (setBit x n) ; \-  clearBit      (T x) n = T (clearBit x n) ; \-  complementBit (T x) n = T (complementBit x n) ; \-  testBit       (T x) n = testBit x n ; \-  bitSize       (T x)   = bitSize x ; \-  isSigned      (T x)   = isSigned x }--#define INSTANCE_FRACTIONAL(T) \-instance Fractional T where { \-   (T x) / (T y)  = T (x / y) ; \-   recip   (T x)  = T (recip x) ; \-   fromRational r = T (fromRational r) }--#define INSTANCE_FLOATING(T) \-instance Floating T where { \-   pi                    = pi ; \-   exp   (T x)           = T (exp   x) ; \-   log   (T x)           = T (log   x) ; \-   sqrt  (T x)           = T (sqrt  x) ; \-   (T x) **        (T y) = T (x ** y) ; \-   (T x) `logBase` (T y) = T (x `logBase` y) ; \-   sin   (T x)           = T (sin   x) ; \-   cos   (T x)           = T (cos   x) ; \-   tan   (T x)           = T (tan   x) ; \-   asin  (T x)           = T (asin  x) ; \-   acos  (T x)           = T (acos  x) ; \-   atan  (T x)           = T (atan  x) ; \-   sinh  (T x)           = T (sinh  x) ; \-   cosh  (T x)           = T (cosh  x) ; \-   tanh  (T x)           = T (tanh  x) ; \-   asinh (T x)           = T (asinh x) ; \-   acosh (T x)           = T (acosh x) ; \-   atanh (T x)           = T (atanh x) }--#define INSTANCE_REALFRAC(T) \-instance RealFrac T where { \-   properFraction (T x) = let (m,y) = properFraction x in (m, T y) ; \-   truncate (T x) = truncate x ; \-   round    (T x) = round x ; \-   ceiling  (T x) = ceiling x ; \-   floor    (T x) = floor x }--#define INSTANCE_REALFLOAT(T) \-instance RealFloat T where { \-   floatRadix     (T x) = floatRadix x ; \-   floatDigits    (T x) = floatDigits x ; \-   floatRange     (T x) = floatRange x ; \-   decodeFloat    (T x) = decodeFloat x ; \-   encodeFloat m n      = T (encodeFloat m n) ; \-   exponent       (T x) = exponent x ; \-   significand    (T x) = T (significand  x) ; \-   scaleFloat n   (T x) = T (scaleFloat n x) ; \-   isNaN          (T x) = isNaN x ; \-   isInfinite     (T x) = isInfinite x ; \-   isDenormalized (T x) = isDenormalized x ; \-   isNegativeZero (T x) = isNegativeZero x ; \-   isIEEE         (T x) = isIEEE x ; \-   (T x) `atan2`  (T y) = T (x `atan2` y) }--#define INSTANCE_STORABLE(T) \-instance Storable T where { \-   sizeOf    (T x)       = sizeOf x ; \-   alignment (T x)       = alignment x ; \-   peekElemOff a i       = liftM T (peekElemOff (castPtr a) i) ; \-   pokeElemOff a i (T x) = pokeElemOff (castPtr a) i x }--#else /* __GLASGOW_HASKELL__ */----  // GHC can derive any class for a newtype, so we make use of that here...--#define ARITHMETIC_CLASSES  Eq,Ord,Num,Enum,Storable,Real-#define INTEGRAL_CLASSES Bounded,Integral,Bits-#define FLOATING_CLASSES Fractional,Floating,RealFrac,RealFloat--#define ARITHMETIC_TYPE(T,C,S,B) \-newtype T = T B deriving (ARITHMETIC_CLASSES); \-INSTANCE_READ(T,B); \-INSTANCE_SHOW(T,B); \-INSTANCE_TYPEABLE0(T,C,S) ;--#define INTEGRAL_TYPE(T,C,S,B) \-newtype T = T B deriving (ARITHMETIC_CLASSES, INTEGRAL_CLASSES); \-INSTANCE_READ(T,B); \-INSTANCE_SHOW(T,B); \-INSTANCE_TYPEABLE0(T,C,S) ;--#define FLOATING_TYPE(T,C,S,B) \-newtype T = T B deriving (ARITHMETIC_CLASSES, FLOATING_CLASSES); \-INSTANCE_READ(T,B); \-INSTANCE_SHOW(T,B); \-INSTANCE_TYPEABLE0(T,C,S) ;--#define INSTANCE_READ(T,B) \-instance Read T where { \-   readsPrec            = unsafeCoerce# (readsPrec :: Int -> ReadS B); \-   readList             = unsafeCoerce# (readList  :: ReadS [B]); }--#define INSTANCE_SHOW(T,B) \-instance Show T where { \-   showsPrec            = unsafeCoerce# (showsPrec :: Int -> B -> ShowS); \-   show                 = unsafeCoerce# (show :: B -> String); \-   showList             = unsafeCoerce# (showList :: [B] -> ShowS); }--#endif /* __GLASGOW_HASKELL__ */--#endif
− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/include/HsBase.h
@@ -1,757 +0,0 @@-/* ------------------------------------------------------------------------------ *- * (c) The University of Glasgow 2001-2004- *- * Definitions for package `base' which are visible in Haskell land.- *- * Adapted for use in EHC- *- * ---------------------------------------------------------------------------*/--#ifndef __HSBASE_H__-#define __HSBASE_H__--#include "HsBaseConfig.h"-#ifdef __UHC_BUILDS_O__-#include "rts.h"-#endif--/* ultra-evil... */-#undef PACKAGE_BUGREPORT-#undef PACKAGE_NAME-#undef PACKAGE_STRING-#undef PACKAGE_TARNAME-#undef PACKAGE_VERSION--/* Needed to get the macro version of errno on some OSs (eg. Solaris).-   We must do this, because these libs are only compiled once, but-   must work in both single-threaded and multi-threaded programs. */-#define _REENTRANT 1--#ifndef __UHC__-#include "HsFFI.h"-#endif /* !__UHC__ */--#include <stdio.h>-#include <stdlib.h>-#include <math.h>--#if HAVE_SYS_TYPES_H-#include <sys/types.h>-#endif-#if HAVE_UNISTD_H-#include <unistd.h>-#endif-#if HAVE_SYS_STAT_H-#include <sys/stat.h>-#endif-#if HAVE_FCNTL_H-# include <fcntl.h>-#endif-#if HAVE_TERMIOS_H-#include <termios.h>-#endif-#if HAVE_SIGNAL_H-#include <signal.h>-/* Ultra-ugly: OpenBSD uses broken macros for sigemptyset and sigfillset (missing casts) */-#if __OpenBSD__-#undef sigemptyset-#undef sigfillset-#endif-#endif-#if HAVE_ERRNO_H-#include <errno.h>-#endif-#if HAVE_STRING_H-#include <string.h>-#endif-#if HAVE_DIRENT_H-#include <dirent.h>-#endif-#if HAVE_UTIME_H-#include <utime.h>-#endif-#if HAVE_SYS_UTSNAME_H-#include <sys/utsname.h>-#endif-#if HAVE_GETTIMEOFDAY-#  if HAVE_SYS_TIME_H-#   include <sys/time.h>-#  endif-#elif HAVE_GETCLOCK-# if HAVE_SYS_TIMERS_H-#  define POSIX_4D9 1-#  include <sys/timers.h>-# endif-#endif-#if HAVE_TIME_H-#include <time.h>-#endif-#if HAVE_SYS_TIMEB_H-#include <sys/timeb.h>-#endif-#if HAVE_WINDOWS_H-#include <windows.h>-#endif-#if HAVE_SYS_TIMES_H-#include <sys/times.h>-#endif-#if HAVE_WINSOCK_H && defined(__MINGW32__)-#include <winsock.h>-#endif-#if HAVE_LIMITS_H-#include <limits.h>-#endif-#if HAVE_WCTYPE_H-#include <wctype.h>-#endif-#if HAVE_INTTYPES_H-# include <inttypes.h>-#elif HAVE_STDINT_H-# include <stdint.h>-#endif--#if !defined(__MINGW32__) && !defined(irix_HOST_OS)-# if HAVE_SYS_RESOURCE_H-#  include <sys/resource.h>-# endif-#endif--#if !HAVE_GETRUSAGE && HAVE_SYS_SYSCALL_H-# include <sys/syscall.h>-# if defined(SYS_GETRUSAGE)	/* hpux_HOST_OS */-#  define getrusage(a, b)  syscall(SYS_GETRUSAGE, a, b)-#  define HAVE_GETRUSAGE 1-# endif-#endif--/* For System */-#if HAVE_SYS_WAIT_H-#include <sys/wait.h>-#endif-#if HAVE_VFORK_H-#include <vfork.h>-#endif--#ifndef __UHC__-#include "dirUtils.h"-#endif-#ifndef __UHC__-#include "WCsubst.h"-#endif /* !__UHC__ */--#if defined(__MINGW32__)-/* in Win32Utils.c */-extern void maperrno (void);-extern HsWord64 getUSecOfDay(void);-#endif--#if defined(__MINGW32__)-#include <io.h>-#include <fcntl.h>-#include <shlobj.h>-#include <share.h>-#endif--#if HAVE_SYS_SELECT_H-#include <sys/select.h>-#endif--/* in inputReady.c */-extern int fdReady(int fd, int write, int msecs, int isSock);--#ifndef __UHC__-/* in Signals.c */-extern HsInt nocldstop;-#endif /* !__UHC__ */--#ifndef __UHC__-/* ------------------------------------------------------------------------------   64-bit operations, defined in longlong.c-   -------------------------------------------------------------------------- */--#ifdef SUPPORT_LONG_LONGS--HsBool hs_gtWord64 (HsWord64, HsWord64);-HsBool hs_geWord64 (HsWord64, HsWord64);-HsBool hs_eqWord64 (HsWord64, HsWord64);-HsBool hs_neWord64 (HsWord64, HsWord64);-HsBool hs_ltWord64 (HsWord64, HsWord64);-HsBool hs_leWord64 (HsWord64, HsWord64);--HsBool hs_gtInt64 (HsInt64, HsInt64);-HsBool hs_geInt64 (HsInt64, HsInt64);-HsBool hs_eqInt64 (HsInt64, HsInt64);-HsBool hs_neInt64 (HsInt64, HsInt64);-HsBool hs_ltInt64 (HsInt64, HsInt64);-HsBool hs_leInt64 (HsInt64, HsInt64);--HsWord64 hs_remWord64  (HsWord64, HsWord64);-HsWord64 hs_quotWord64 (HsWord64, HsWord64);--HsInt64 hs_remInt64    (HsInt64, HsInt64);-HsInt64 hs_quotInt64   (HsInt64, HsInt64);-HsInt64 hs_negateInt64 (HsInt64);-HsInt64 hs_plusInt64   (HsInt64, HsInt64);-HsInt64 hs_minusInt64  (HsInt64, HsInt64);-HsInt64 hs_timesInt64  (HsInt64, HsInt64);--HsWord64 hs_and64  (HsWord64, HsWord64);-HsWord64 hs_or64   (HsWord64, HsWord64);-HsWord64 hs_xor64  (HsWord64, HsWord64);-HsWord64 hs_not64  (HsWord64);--HsWord64 hs_uncheckedShiftL64   (HsWord64, HsInt);-HsWord64 hs_uncheckedShiftRL64  (HsWord64, HsInt);-HsInt64  hs_uncheckedIShiftL64  (HsInt64, HsInt);-HsInt64  hs_uncheckedIShiftRA64 (HsInt64, HsInt);-HsInt64  hs_uncheckedIShiftRL64 (HsInt64, HsInt);--HsInt64  hs_intToInt64    (HsInt);-HsInt    hs_int64ToInt    (HsInt64);-HsWord64 hs_int64ToWord64 (HsInt64);-HsWord64 hs_wordToWord64  (HsWord);-HsWord   hs_word64ToWord  (HsWord64);-HsInt64  hs_word64ToInt64 (HsWord64);--HsWord64 hs_integerToWord64 (HsInt sa, StgByteArray /* Really: mp_limb_t* */ da);-HsInt64  hs_integerToInt64 (HsInt sa, StgByteArray /* Really: mp_limb_t* */ da);--#endif /* SUPPORT_LONG_LONGS */-#endif /* !__UHC__ */--/* ------------------------------------------------------------------------------   INLINE functions.--   These functions are given as inlines here for when compiling via C,-   but we also generate static versions into the cbits library for-   when compiling to native code.-   -------------------------------------------------------------------------- */--#ifndef INLINE-# if defined(_MSC_VER)-#  define INLINE extern __inline-# else-#  define INLINE static inline-# endif-#endif--INLINE int __hscore_get_errno(void) { return errno; }-INLINE void __hscore_set_errno(int e) { errno = e; }--#if !defined(_MSC_VER)-INLINE int __hscore_s_isreg(mode_t m)  { return S_ISREG(m);  }-INLINE int __hscore_s_isdir(mode_t m)  { return S_ISDIR(m);  }-INLINE int __hscore_s_isfifo(mode_t m) { return S_ISFIFO(m); }-INLINE int __hscore_s_isblk(mode_t m)  { return S_ISBLK(m);  }-INLINE int __hscore_s_ischr(mode_t m)  { return S_ISCHR(m);  }-#if !defined(mingw32_HOST_OS) && !defined(__MINGW32__)-INLINE int __hscore_s_issock(mode_t m) { return S_ISSOCK(m); }-#endif-#endif--#if ( !defined(_MSC_VER) && !defined(__MINGW32__) && !defined(_WIN32) ) || defined(__CYGWIN__)-INLINE int-__hscore_sigemptyset( sigset_t *set )-{ return sigemptyset(set); }--INLINE int-__hscore_sigfillset( sigset_t *set )-{ return sigfillset(set); }--INLINE int-__hscore_sigaddset( sigset_t * set, int s )-{ return sigaddset(set,s); }--INLINE int-__hscore_sigdelset( sigset_t * set, int s )-{ return sigdelset(set,s); }--INLINE int-__hscore_sigismember( sigset_t * set, int s )-{ return sigismember(set,s); }-#endif--INLINE void *-__hscore_memcpy_dst_off( char *dst, int dst_off, char *src, size_t sz )-{ return memcpy(dst+dst_off, src, sz); }--INLINE void *-__hscore_memcpy_src_off( char *dst, char *src, int src_off, size_t sz )-{ return memcpy(dst, src+src_off, sz); }--INLINE HsBool-__hscore_supportsTextMode()-{-#if defined(_MSC_VER) || defined(__MINGW32__) || defined(_WIN32)-  return HS_BOOL_FALSE;-#else-  return HS_BOOL_TRUE;-#endif-}--INLINE HsInt-__hscore_bufsiz()-{-  return BUFSIZ;-}--INLINE int-__hscore_seek_cur()-{-  return SEEK_CUR;-}--INLINE int-__hscore_o_binary()-{-#if defined(_MSC_VER)-  return O_BINARY;-#else-  return CONST_O_BINARY;-#endif-}--INLINE int-__hscore_o_rdonly()-{-#ifdef O_RDONLY-  return O_RDONLY;-#else-  return 0;-#endif-}--INLINE int-__hscore_o_wronly( void )-{-#ifdef O_WRONLY-  return O_WRONLY;-#else-  return 0;-#endif-}--INLINE int-__hscore_o_rdwr( void )-{-#ifdef O_RDWR-  return O_RDWR;-#else-  return 0;-#endif-}--INLINE int-__hscore_o_append( void )-{-#ifdef O_APPEND-  return O_APPEND;-#else-  return 0;-#endif-}--INLINE int-__hscore_o_creat( void )-{-#ifdef O_CREAT-  return O_CREAT;-#else-  return 0;-#endif-}--INLINE int-__hscore_o_excl( void )-{-#ifdef O_EXCL-  return O_EXCL;-#else-  return 0;-#endif-}--INLINE int-__hscore_o_trunc( void )-{-#ifdef O_TRUNC-  return O_TRUNC;-#else-  return 0;-#endif-}--INLINE int-__hscore_o_noctty( void )-{-#ifdef O_NOCTTY-  return O_NOCTTY;-#else-  return 0;-#endif-}--INLINE int-__hscore_o_nonblock( void )-{-#ifdef O_NONBLOCK-  return O_NONBLOCK;-#else-  return 0;-#endif-}--INLINE int-__hscore_seek_set( void )-{-  return SEEK_SET;-}--INLINE int-__hscore_seek_end( void )-{-  return SEEK_END;-}--INLINE int-__hscore_ftruncate( int fd, off_t where )-{-#if defined(HAVE_FTRUNCATE)-  return ftruncate(fd,where);-#elif defined(HAVE__CHSIZE)-  return _chsize(fd,where);-#else-// ToDo: we should use _chsize_s() on Windows which allows a 64-bit-// offset, but it doesn't seem to be available from mingw at this time -// --SDM (01/2008)-#error at least ftruncate or _chsize functions are required to build-#endif-}--#ifndef __UHC__-INLINE int-__hscore_setmode( int fd, HsBool toBin )-{-#if defined(_MSC_VER) || defined(__MINGW32__) || defined(_WIN32)-  return setmode(fd,(toBin == HS_BOOL_TRUE) ? _O_BINARY : _O_TEXT);-#else-  return 0;-#endif-}-#endif /* !__UHC__ */--#if __GLASGOW_HASKELL__--INLINE int-__hscore_PrelHandle_write( int fd, void *ptr, HsInt off, int sz )-{-  return write(fd,(char *)ptr + off, sz);-}--INLINE int-__hscore_PrelHandle_read( int fd, void *ptr, HsInt off, int sz )-{-  return read(fd,(char *)ptr + off, sz);--}--#if defined(_MSC_VER) || defined(__MINGW32__) || defined(_WIN32)-INLINE int-__hscore_PrelHandle_send( int fd, void *ptr, HsInt off, int sz )-{-    return send(fd,(char *)ptr + off, sz, 0);-}--INLINE int-__hscore_PrelHandle_recv( int fd, void *ptr, HsInt off, int sz )-{-    return recv(fd,(char *)ptr + off, sz, 0);-}-#endif--#endif /* __GLASGOW_HASKELL__ */--INLINE int-__hscore_mkdir( char *pathName, int mode )-{-#if ( defined(_MSC_VER) || defined(__MINGW32__) || defined(_WIN32) ) && !defined(__CYGWIN__)-  return mkdir(pathName);-#else-  return mkdir(pathName,mode);-#endif-}--INLINE int-__hscore_lstat( const char *fname, struct stat *st )-{-#if HAVE_LSTAT-  return lstat(fname, st);-#else-  return stat(fname, st);-#endif-}--INLINE char *-__hscore_d_name( struct dirent* d )-{-  return (d->d_name);-}--INLINE int-__hscore_end_of_dir( void )-{-  return READDIR_ERRNO_EOF;-}--INLINE void-__hscore_free_dirent(struct dirent *dEnt)-{-#if HAVE_READDIR_R-  free(dEnt);-#endif-}--#if defined(__MINGW32__)-// We want the versions of stat/fstat/lseek that use 64-bit offsets,-// and you have to ask for those explicitly.  Unfortunately there-// doesn't seem to be a 64-bit version of truncate/ftruncate, so while-// hFileSize and hSeek will work with large files, hSetFileSize will not.-#define stat(file,buf)       _stati64(file,buf)-#define fstat(fd,buf)        _fstati64(fd,buf)-typedef struct _stati64 struct_stat;-typedef off64_t stsize_t;-#else-typedef struct stat struct_stat;-typedef off_t stsize_t;-#endif--INLINE HsInt-__hscore_sizeof_stat( void )-{-  return sizeof(struct_stat);-}--INLINE time_t __hscore_st_mtime ( struct_stat* st ) { return st->st_mtime; }-INLINE stsize_t __hscore_st_size  ( struct_stat* st ) { return st->st_size; }-#if !defined(_MSC_VER)-INLINE mode_t __hscore_st_mode  ( struct_stat* st ) { return st->st_mode; }-INLINE dev_t  __hscore_st_dev  ( struct_stat* st ) { return st->st_dev; }-INLINE ino_t  __hscore_st_ino  ( struct_stat* st ) { return st->st_ino; }-#endif--#if HAVE_TERMIOS_H-INLINE tcflag_t __hscore_lflag( struct termios* ts ) { return ts->c_lflag; }--INLINE void-__hscore_poke_lflag( struct termios* ts, tcflag_t t ) { ts->c_lflag = t; }--INLINE unsigned char*-__hscore_ptr_c_cc( struct termios* ts )-{ return (unsigned char*) &ts->c_cc; }--INLINE HsInt-__hscore_sizeof_termios( void )-{-#ifndef __MINGW32__-  return sizeof(struct termios);-#else-  return 0;-#endif-}-#endif--//sizeof_sigset_t is also use on windows systems which define tcflat_t. Why exclude it?-// #if !defined(_MSC_VER) && !defined(__MINGW32__) && !defined(_WIN32)-INLINE HsInt-__hscore_sizeof_sigset_t( void )-{-  return sizeof(sigset_t);-}-// #endif--INLINE int-__hscore_echo( void )-{-#ifdef ECHO-  return ECHO;-#else-  return 0;-#endif--}--INLINE int-__hscore_tcsanow( void )-{-#ifdef TCSANOW-  return TCSANOW;-#else-  return 0;-#endif--}--INLINE int-__hscore_icanon( void )-{-#ifdef ICANON-  return ICANON;-#else-  return 0;-#endif-}--INLINE int __hscore_vmin( void )-{-#ifdef VMIN-  return VMIN;-#else-  return 0;-#endif-}--INLINE int __hscore_vtime( void )-{-#ifdef VTIME-  return VTIME;-#else-  return 0;-#endif-}--INLINE int __hscore_sigttou( void )-{-#ifdef SIGTTOU-  return SIGTTOU;-#else-  return 0;-#endif-}--INLINE int __hscore_sig_block( void )-{-#ifdef SIG_BLOCK-  return SIG_BLOCK;-#else-  return 0;-#endif-}--INLINE int __hscore_sig_setmask( void )-{-#ifdef SIG_SETMASK-  return SIG_SETMASK;-#else-  return 0;-#endif-}--INLINE int-__hscore_f_getfl( void )-{-#ifdef F_GETFL-  return F_GETFL;-#else-  return 0;-#endif-}--INLINE int-__hscore_f_setfl( void )-{-#ifdef F_SETFL-  return F_SETFL;-#else-  return 0;-#endif-}--// defined in rts/RtsStartup.c.-extern void* __hscore_get_saved_termios(int fd);-extern void __hscore_set_saved_termios(int fd, void* ts);--INLINE int __hscore_hs_fileno (FILE *f) { return fileno (f); }--INLINE int __hscore_open(char *file, int how, mode_t mode) {-#ifdef __MINGW32__-	if ((how & O_WRONLY) || (how & O_RDWR) || (how & O_APPEND))-	  return _sopen(file,how,_SH_DENYRW,mode);-	else-	  return _sopen(file,how,_SH_DENYWR,mode);-#else-	return open(file,how,mode);-#endif-}--// These are wrapped because on some OSs (eg. Linux) they are-// macros which redirect to the 64-bit-off_t versions when large file-// support is enabled.-//-#if defined(__MINGW32__)-INLINE off64_t __hscore_lseek(int fd, off64_t off, int whence) {-	return (_lseeki64(fd,off,whence));-}-#else-INLINE off_t __hscore_lseek(int fd, off_t off, int whence) {-	return (lseek(fd,off,whence));-}-#endif--INLINE HsInt __hscore_stat(char *file, struct_stat *buf) {-	return (stat(file,buf));-}--INLINE HsInt __hscore_fstat(int fd, struct_stat *buf) {-	return (fstat(fd,buf));-}--// select-related stuff--#if !defined(__MINGW32__)-INLINE int  hsFD_SETSIZE(void) { return FD_SETSIZE; }-INLINE int  hsFD_ISSET(int fd, fd_set *fds) { return FD_ISSET(fd, fds); }-INLINE void hsFD_SET(int fd, fd_set *fds) { FD_SET(fd, fds); }-INLINE HsInt sizeof_fd_set(void) { return sizeof(fd_set); }-extern void hsFD_ZERO(fd_set *fds);-#endif--// gettimeofday()-related--#if !defined(__MINGW32__)--INLINE HsInt sizeofTimeVal(void) { return sizeof(struct timeval); }--INLINE HsWord64 getUSecOfDay(void)-{-    struct timeval tv;-    gettimeofday(&tv, (struct timezone *) NULL);-    // Don't forget to cast *before* doing the arithmetic, otherwise-    // the arithmetic happens at the type of tv_sec, which is probably-    // only 'int'.-    return ((HsWord64)tv.tv_sec * 1000000 + (HsWord64)tv.tv_usec);-}--INLINE void setTimevalTicks(struct timeval *p, HsWord64 usecs)-{-    p->tv_sec  = usecs / 1000000;-    p->tv_usec = usecs % 1000000;-}-#endif /* !defined(__MINGW32__) */--/* ToDo: write a feature test that doesn't assume 'environ' to- *    be in scope at link-time. */-extern char** environ;-INLINE char **__hscore_environ() { return environ; }--/* lossless conversions between pointers and integral types */-INLINE void *    __hscore_from_uintptr(uintptr_t n) { return (void *)n; }-INLINE void *    __hscore_from_intptr (intptr_t n)  { return (void *)n; }-INLINE uintptr_t __hscore_to_uintptr  (void *p)     { return (uintptr_t)p; }-INLINE intptr_t  __hscore_to_intptr   (void *p)     { return (intptr_t)p; }--void errorBelch2(const char*s, char *t);-void debugBelch2(const char*s, char *t);--#endif /* __HSBASE_H__ */-
− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/include/HsBaseConfig.h
@@ -1,944 +0,0 @@-/* ehclib/uhcbase/include/HsBaseConfig.h.  Generated from HsBaseConfig.h.in by configure.  */-#ifndef HSBASECONFIG_H-#define HSBASECONFIG_H--#include "MachDeps.h"--/********************************************************************/-/**** Sizes                                                      ****/-/********************************************************************/--#if SIZEOF_INTPTR_T == 8-#define HTYPE_INTPTR_T 			Int64-#define HTYPE_UINTPTR_T 		Word64-#else-#define HTYPE_INTPTR_T 			Int32-#define HTYPE_UINTPTR_T 		Word32-#endif--/* also here: typedef int sig_atomic_t- */-#if SIZEOF_INT == 8-#define HTYPE_INT 				Int64-#define HTYPE_UNSIGNED_INT 		Word64-#define HTYPE_SIG_ATOMIC_T 		Word64-#else-#define HTYPE_INT 				Int32-#define HTYPE_UNSIGNED_INT 		Word32-#define HTYPE_SIG_ATOMIC_T 		Word32-#endif--#if SIZEOF_LONG == 8-#define HTYPE_LONG 				Int64-#define HTYPE_UNSIGNED_LONG 	Word64-#else-#define HTYPE_LONG 				Int32-#define HTYPE_UNSIGNED_LONG 	Word32-#endif--#if SIZEOF_VOID_P == 8-#define HTYPE_PTRDIFF_T 		Int64-#else-#define HTYPE_PTRDIFF_T 		Int32-#endif--#if SIZEOF_CLOCK_T == 8-#define HTYPE_CLOCK_T 			Word64-#else-#define HTYPE_CLOCK_T 			Word32-#endif--#if SIZEOF_TIME_T == 8-#define HTYPE_TIME_T 			Word64-#else-#define HTYPE_TIME_T 			Word32-#endif--#if SIZEOF_USECONDS_T == 8-#define HTYPE_USECONDS_T 		Word64-#else-#define HTYPE_USECONDS_T 		Word32-#endif--#if SIZEOF_SIZE_T == 8-#define HTYPE_SIZE_T 			Word64-#else-#define HTYPE_SIZE_T 			Word32-#endif--#if SIZEOF_WCHAR_T == 1-#define HTYPE_WCHAR_T 			Word8-#elif SIZEOF_WCHAR_T == 2-#define HTYPE_WCHAR_T 			Word16-#else-#define HTYPE_WCHAR_T 			Word32-#endif----/* Define to Haskell type for char */-#define HTYPE_CHAR Int8--/* Define to Haskell type for double */-#define HTYPE_DOUBLE Double--/* Define to Haskell type for float */-#define HTYPE_FLOAT Float--/* Define to Haskell type for intmax_t */-#define HTYPE_INTMAX_T Int64--/* Define to Haskell type for long long */-#define HTYPE_LONG_LONG Int64--/* Define to Haskell type for short */-#define HTYPE_SHORT Int16--/* Define to Haskell type for signed char */-#define HTYPE_SIGNED_CHAR Int8--/* Define to Haskell type for uintmax_t */-#define HTYPE_UINTMAX_T Word64--/* Define to Haskell type for unsigned char */-#define HTYPE_UNSIGNED_CHAR Word8--/* Define to Haskell type for unsigned long long */-#define HTYPE_UNSIGNED_LONG_LONG Word64--/* Define to Haskell type for unsigned short */-#define HTYPE_UNSIGNED_SHORT Word16----/********************************************************************/-/**** System tupes                                               ****/-/********************************************************************/--#ifdef SIZEOF_DEV_T-# if SIZEOF_DEV_T == 8-#  define HTYPE_DEV_T 			Word64-# elif SIZEOF_DEV_T == 4-#  define HTYPE_DEV_T 			Word32-# elif SIZEOF_DEV_T == 2-#  define HTYPE_DEV_T 			Word16-# else-# endif-#endif--#ifdef SIZEOF_INO_T-# if SIZEOF_INO_T == 8-#  define HTYPE_INO_T 			Word64-# elif SIZEOF_INO_T == 4-#  define HTYPE_INO_T 			Word32-# elif SIZEOF_INO_T == 2-#  define HTYPE_INO_T 			Word16-# else-# endif-#endif--#ifdef SIZEOF_MODE_T-# if SIZEOF_MODE_T == 8-#  define HTYPE_MODE_T 			Word64-# elif SIZEOF_MODE_T == 4-#  define HTYPE_MODE_T 			Word32-# elif SIZEOF_MODE_T == 2-#  define HTYPE_MODE_T 			Word16-# else-# endif-#endif--#ifdef SIZEOF_OFF_T-# if SIZEOF_OFF_T == 8-#  define HTYPE_OFF_T 			Word64-# elif SIZEOF_OFF_T == 4-#  define HTYPE_OFF_T 			Word32-# elif SIZEOF_OFF_T == 2-#  define HTYPE_OFF_T 			Word16-# else-# endif-#endif--#ifdef SIZEOF_PID_T-# if SIZEOF_PID_T == 8-#  define HTYPE_PID_T 			Word64-# elif SIZEOF_PID_T == 4-#  define HTYPE_PID_T 			Word32-# elif SIZEOF_PID_T == 2-#  define HTYPE_PID_T 			Word16-# else-# endif-#endif--#ifdef SIZEOF_SSIZE_T-# if SIZEOF_SSIZE_T == 8-#  define HTYPE_SSIZE_T 			Word64-# elif SIZEOF_SSIZE_T == 4-#  define HTYPE_SSIZE_T 			Word32-# elif SIZEOF_SSIZE_T == 2-#  define HTYPE_SSIZE_T 			Word16-# else-# endif-#endif--#ifdef SIZEOF_GID_T-# if SIZEOF_GID_T == 8-#  define HTYPE_GID_T 			Word64-# elif SIZEOF_GID_T == 4-#  define HTYPE_GID_T 			Word32-# elif SIZEOF_GID_T == 2-#  define HTYPE_GID_T 			Word16-# else-# endif-#endif--#ifdef SIZEOF_NLINK_T-# if SIZEOF_NLINK_T == 8-#  define HTYPE_NLINK_T 			Word64-# elif SIZEOF_NLINK_T == 4-#  define HTYPE_NLINK_T 			Word32-# elif SIZEOF_NLINK_T == 2-#  define HTYPE_NLINK_T 			Word16-# else-# endif-#endif--#ifdef SIZEOF_UID_T-# if SIZEOF_UID_T == 8-#  define HTYPE_UID_T 			Word64-# elif SIZEOF_UID_T == 4-#  define HTYPE_UID_T 			Word32-# elif SIZEOF_UID_T == 2-#  define HTYPE_UID_T 			Word16-# else-# endif-#endif--#ifdef SIZEOF_CC_T-# if SIZEOF_CC_T == 8-#  define HTYPE_CC_T 			Word64-# elif SIZEOF_CC_T == 4-#  define HTYPE_CC_T 			Word32-# elif SIZEOF_CC_T == 2-#  define HTYPE_CC_T 			Word16-# else-# endif-#endif--#ifdef SIZEOF_SPEED_T-# if SIZEOF_SPEED_T == 8-#  define HTYPE_SPEED_T 			Word64-# elif SIZEOF_SPEED_T == 4-#  define HTYPE_SPEED_T 			Word32-# elif SIZEOF_SPEED_T == 2-#  define HTYPE_SPEED_T 			Word16-# else-# endif-#endif--#ifdef SIZEOF_TCFLAG_T-# if SIZEOF_TCFLAG_T == 8-#  define HTYPE_TCFLAG_T 			Word64-# elif SIZEOF_TCFLAG_T == 4-#  define HTYPE_TCFLAG_T 			Word32-# elif SIZEOF_TCFLAG_T == 2-#  define HTYPE_TCFLAG_T 			Word16-# else-# endif-#endif--#ifdef SIZEOF_RLIM_T-# if SIZEOF_RLIM_T == 8-#  define HTYPE_RLIM_T 			Word64-# elif SIZEOF_RLIM_T == 4-#  define HTYPE_RLIM_T 			Word32-# elif SIZEOF_RLIM_T == 2-#  define HTYPE_RLIM_T 			Word16-# else-# endif-#endif--/********************************************************************/-/**** Presence of include files                                  ****/-/********************************************************************/--#define HAVE_DIRENT_H 1-#define HAVE_ERRNO_H 1-#define HAVE_FCNTL_H 1-#define HAVE_INTTYPES_H 1-#define HAVE_LIMITS_H 1-#define HAVE_SIGNAL_H 1-#define HAVE_STDINT_H 1-#define HAVE_STRING_H 1-#define HAVE_SYS_RESOURCE_H 1-#define HAVE_SYS_SELECT_H 1-#define HAVE_SYS_STAT_H 1-#define HAVE_SYS_SYSCALL_H 1-#define HAVE_SYS_TIME_H 1-#define HAVE_SYS_TIMEB_H 1-/* #undef HAVE_SYS_TIMERS_H */-#define HAVE_SYS_TIMES_H 1-#define HAVE_SYS_TYPES_H 1-#define HAVE_SYS_UTSNAME_H 1-#define HAVE_SYS_WAIT_H 1-#define HAVE_TERMIOS_H 1-#define HAVE_TIME_H 1-#define HAVE_UNISTD_H 1-#define HAVE_UTIME_H 1-/* #undef HAVE_VFORK_H */-#define HAVE_WCTYPE_H 1-/* #undef HAVE_WINDOWS_H */-/* #undef HAVE_WINSOCK_H */--/* #undef HAVE__CHSIZE */-#define HAVE_FTRUNCATE 1-/* #undef HAVE_GETCLOCK */-#define HAVE_GETRUSAGE 1-#define HAVE_GETTIMEOFDAY 1-#define HAVE_LSTAT 1-#define HAVE_READDIR_R 1--/********************************************************************/-/**** Runtime types                                              ****/-/********************************************************************/--#ifdef __UHC_BUILDS_O__--#if defined(__UHC_TARGET_BC__) || defined(__UHC_TARGET_C__)-// # define HsBool				Word-// # define HsInt				Word-// # define HsWord64			Word64-// # define HsWord32			Word32-// # define HsWord16			Word16-// # define HsWord8			Word8-// # ifdef __UHC_TARGET_BC__-// #  define HS_BOOL_FALSE		gb_False-// #  define HS_BOOL_TRUE		gb_True-// # else-// #  define HS_BOOL_FALSE		0-// #  define HS_BOOL_TRUE		1-// # endif-#endif /* __UHC_TARGET_BC__ */--#endif /* __UHC_BUILDS_O__ */--/********************************************************************/-/**** Read dir EOF error                                         ****/-/********************************************************************/--/* See remarks in GHC, libraries/base/aclocal.m4: MinGW platform returns non 0 value. We ignore that */-#define	READDIR_ERRNO_EOF	0--/********************************************************************/-/**** C errors                                                   ****/-/********************************************************************/--/* (1) Assume errno.h is already included */-/* (2) Error codes like EADV are not present on all platforms, so a dummy value is provided, this should be done for all codes */--/* The value of E2BIG. */-#if !defined(E2BIG)-#define E2BIG 10000-#endif-#define CONST_E2BIG E2BIG--/* The value of EACCES. */-#if !defined(EACCES)-#define EACCES 10000-#endif-#define CONST_EACCES EACCES--/* The value of EADDRINUSE. */-#if !defined(EADDRINUSE)-#define EADDRINUSE 10000-#endif-#define CONST_EADDRINUSE EADDRINUSE--/* The value of EADDRNOTAVAIL. */-#define CONST_EADDRNOTAVAIL EADDRNOTAVAIL--/* The value of EADV. */-#if !defined(EADV)-#define EADV 10000-#endif-#define CONST_EADV EADV--/* The value of EAFNOSUPPORT. */-#if !defined(EAFNOSUPPORT)-#define EAFNOSUPPORT 10000-#endif-#define CONST_EAFNOSUPPORT EAFNOSUPPORT--/* The value of EAGAIN. */-#if !defined(EAGAIN)-#define EAGAIN 10000-#endif-#define CONST_EAGAIN EAGAIN--/* The value of EALREADY. */-#if !defined(EALREADY)-#define EALREADY 10000-#endif-#define CONST_EALREADY EALREADY--/* The value of EBADF. */-#if !defined(EBADF)-#define EBADF 10000-#endif-#define CONST_EBADF EBADF--/* The value of EBADMSG. */-#if !defined(EBADMSG)-#define EBADMSG 10000-#endif-#define CONST_EBADMSG EBADMSG--/* The value of EBADRPC. */-#if !defined(EBADRPC)-#define EBADRPC 10000-#endif-#define CONST_EBADRPC EBADRPC--/* The value of EBUSY. */-#if !defined(EBUSY)-#define EBUSY 10000-#endif-#define CONST_EBUSY EBUSY--/* The value of ECHILD. */-#if !defined(ECHILD)-#define ECHILD 10000-#endif-#define CONST_ECHILD ECHILD--/* The value of ECOMM. */-#if !defined(ECOMM)-#define ECOMM 10000-#endif-#define CONST_ECOMM ECOMM--/* The value of ECONNABORTED. */-#if !defined(ECONNABORTED)-#define ECONNABORTED 10000-#endif-#define CONST_ECONNABORTED ECONNABORTED--/* The value of ECONNREFUSED. */-#if !defined(ECONNREFUSED)-#define ECONNREFUSED 10000-#endif-#define CONST_ECONNREFUSED ECONNREFUSED--/* The value of ECONNRESET. */-#if !defined(ECONNRESET)-#define ECONNRESET 10000-#endif-#define CONST_ECONNRESET ECONNRESET--/* The value of EDEADLK. */-#if !defined(EDEADLK)-#define EDEADLK 10000-#endif-#define CONST_EDEADLK EDEADLK--/* The value of EDESTADDRREQ. */-#if !defined(EDESTADDRREQ)-#define EDESTADDRREQ 10000-#endif-#define CONST_EDESTADDRREQ EDESTADDRREQ--/* The value of EDIRTY. */-#if !defined(EDIRTY)-#define EDIRTY 10000-#endif-#define CONST_EDIRTY EDIRTY--/* The value of EDOM. */-#if !defined(EDOM)-#define EDOM 10000-#endif-#define CONST_EDOM EDOM--/* The value of EDQUOT. */-#if !defined(EDQUOT)-#define EDQUOT 10000-#endif-#define CONST_EDQUOT EDQUOT--/* The value of EEXIST. */-#if !defined(EEXIST)-#define EEXIST 10000-#endif-#define CONST_EEXIST EEXIST--/* The value of EFAULT. */-#if !defined(EFAULT)-#define EFAULT 10000-#endif-#define CONST_EFAULT EFAULT--/* The value of EFBIG. */-#if !defined(EFBIG)-#define EFBIG 10000-#endif-#define CONST_EFBIG EFBIG--/* The value of EFTYPE. */-#if !defined(EFTYPE)-#define EFTYPE 10000-#endif-#define CONST_EFTYPE EFTYPE--/* The value of EHOSTDOWN. */-#if !defined(EHOSTDOWN)-#define EHOSTDOWN 10000-#endif-#define CONST_EHOSTDOWN EHOSTDOWN--/* The value of EHOSTUNREACH. */-#if !defined(EHOSTUNREACH)-#define EHOSTUNREACH 10000-#endif-#define CONST_EHOSTUNREACH EHOSTUNREACH--/* The value of EIDRM. */-#if !defined(EIDRM)-#define EIDRM 10000-#endif-#define CONST_EIDRM EIDRM--/* The value of EILSEQ. */-#if !defined(EILSEQ)-#define EILSEQ 10000-#endif-#define CONST_EILSEQ EILSEQ--/* The value of EINPROGRESS. */-#if !defined(EINPROGRESS)-#define EINPROGRESS 10000-#endif-#define CONST_EINPROGRESS EINPROGRESS--/* The value of EINTR. */-#if !defined(EINTR)-#define EINTR 10000-#endif-#define CONST_EINTR EINTR--/* The value of EINVAL. */-#if !defined(EINVAL)-#define EINVAL 10000-#endif-#define CONST_EINVAL EINVAL--/* The value of EIO. */-#if !defined(EIO)-#define EIO 10000-#endif-#define CONST_EIO EIO--/* The value of EISCONN. */-#if !defined(EISCONN)-#define EISCONN 10000-#endif-#define CONST_EISCONN EISCONN--/* The value of EISDIR. */-#if !defined(EISDIR)-#define EISDIR 10000-#endif-#define CONST_EISDIR EISDIR--/* The value of ELOOP. */-#if !defined(ELOOP)-#define ELOOP 10000-#endif-#define CONST_ELOOP ELOOP--/* The value of EMFILE. */-#if !defined(EMFILE)-#define EMFILE 10000-#endif-#define CONST_EMFILE EMFILE--/* The value of EMLINK. */-#if !defined(EMLINK)-#define EMLINK 10000-#endif-#define CONST_EMLINK EMLINK--/* The value of EMSGSIZE. */-#if !defined(EMSGSIZE)-#define EMSGSIZE 10000-#endif-#define CONST_EMSGSIZE EMSGSIZE--/* The value of EMULTIHOP. */-#if !defined(EMULTIHOP)-#define EMULTIHOP 10000-#endif-#define CONST_EMULTIHOP EMULTIHOP--/* The value of ENAMETOOLONG. */-#if !defined(ENAMETOOLONG)-#define ENAMETOOLONG 10000-#endif-#define CONST_ENAMETOOLONG ENAMETOOLONG--/* The value of ENETDOWN. */-#if !defined(ENETDOWN)-#define ENETDOWN 10000-#endif-#define CONST_ENETDOWN ENETDOWN--/* The value of ENETRESET. */-#if !defined(ENETRESET)-#define ENETRESET 10000-#endif-#define CONST_ENETRESET ENETRESET--/* The value of ENETUNREACH. */-#if !defined(ENETUNREACH)-#define ENETUNREACH 10000-#endif-#define CONST_ENETUNREACH ENETUNREACH--/* The value of ENFILE. */-#if !defined(ENFILE)-#define ENFILE 10000-#endif-#define CONST_ENFILE ENFILE--/* The value of ENOBUFS. */-#if !defined(ENOBUFS)-#define ENOBUFS 10000-#endif-#define CONST_ENOBUFS ENOBUFS--/* The value of ENOCIGAR. */-#if !defined(ENOCIGAR)-#define ENOCIGAR 10000-#endif-#define CONST_ENOCIGAR ENOCIGAR--/* The value of ENODATA. */-#if !defined(ENODATA)-#define ENODATA 10000-#endif-#define CONST_ENODATA ENODATA--/* The value of ENODEV. */-#if !defined(ENODEV)-#define ENODEV 10000-#endif-#define CONST_ENODEV ENODEV--/* The value of ENOENT. */-#if !defined(ENOENT)-#define ENOENT 10000-#endif-#define CONST_ENOENT ENOENT--/* The value of ENOEXEC. */-#if !defined(ENOEXEC)-#define ENOEXEC 10000-#endif-#define CONST_ENOEXEC ENOEXEC--/* The value of ENOLCK. */-#if !defined(ENOLCK)-#define ENOLCK 10000-#endif-#define CONST_ENOLCK ENOLCK--/* The value of ENOLINK. */-#if !defined(ENOLINK)-#define ENOLINK 10000-#endif-#define CONST_ENOLINK ENOLINK--/* The value of ENOMEM. */-#if !defined(ENOMEM)-#define ENOMEM 10000-#endif-#define CONST_ENOMEM ENOMEM--/* The value of ENOMSG. */-#if !defined(ENOMSG)-#define ENOMSG 10000-#endif-#define CONST_ENOMSG ENOMSG--/* The value of ENONET. */-#if !defined(ENONET)-#define ENONET 10000-#endif-#define CONST_ENONET ENONET--/* The value of ENOPROTOOPT. */-#if !defined(ENOPROTOOPT)-#define ENOPROTOOPT 10000-#endif-#define CONST_ENOPROTOOPT ENOPROTOOPT--/* The value of ENOSPC. */-#if !defined(ENOSPC)-#define ENOSPC 10000-#endif-#define CONST_ENOSPC ENOSPC--/* The value of ENOSR. */-#if !defined(ENOSR)-#define ENOSR 10000-#endif-#define CONST_ENOSR ENOSR--/* The value of ENOSTR. */-#if !defined(ENOSTR)-#define ENOSTR 10000-#endif-#define CONST_ENOSTR ENOSTR--/* The value of ENOSYS. */-#if !defined(ENOSYS)-#define ENOSYS 10000-#endif-#define CONST_ENOSYS ENOSYS--/* The value of ENOTBLK. */-#if !defined(ENOTBLK)-#define ENOTBLK 10000-#endif-#define CONST_ENOTBLK ENOTBLK--/* The value of ENOTCONN. */-#if !defined(ENOTCONN)-#define ENOTCONN 10000-#endif-#define CONST_ENOTCONN ENOTCONN--/* The value of ENOTDIR. */-#if !defined(ENOTDIR)-#define ENOTDIR 10000-#endif-#define CONST_ENOTDIR ENOTDIR--/* The value of ENOTEMPTY. */-#if !defined(ENOTEMPTY)-#define ENOTEMPTY 10000-#endif-#define CONST_ENOTEMPTY ENOTEMPTY--/* The value of ENOTSOCK. */-#if !defined(ENOTSOCK)-#define ENOTSOCK 10000-#endif-#define CONST_ENOTSOCK ENOTSOCK--/* The value of ENOTTY. */-#if !defined(ENOTTY)-#define ENOTTY 10000-#endif-#define CONST_ENOTTY ENOTTY--/* The value of ENXIO. */-#if !defined(ENXIO)-#define ENXIO 10000-#endif-#define CONST_ENXIO ENXIO--/* The value of EOPNOTSUPP. */-#if !defined(EOPNOTSUPP)-#define EOPNOTSUPP 10000-#endif-#define CONST_EOPNOTSUPP EOPNOTSUPP--/* The value of EPERM. */-#if !defined(EPERM)-#define EPERM 10000-#endif-#define CONST_EPERM EPERM--/* The value of EPFNOSUPPORT. */-#if !defined(EPFNOSUPPORT)-#define EPFNOSUPPORT 10000-#endif-#define CONST_EPFNOSUPPORT EPFNOSUPPORT--/* The value of EPIPE. */-#if !defined(EPIPE)-#define EPIPE 10000-#endif-#define CONST_EPIPE EPIPE--/* The value of EPROCLIM. */-#if !defined(EPROCLIM)-#define EPROCLIM 10000-#endif-#define CONST_EPROCLIM EPROCLIM--/* The value of EPROCUNAVAIL. */-#if !defined(EPROCUNAVAIL)-#define EPROCUNAVAIL 10000-#endif-#define CONST_EPROCUNAVAIL EPROCUNAVAIL--/* The value of EPROGMISMATCH. */-#if !defined(EPROGMISMATCH)-#define EPROGMISMATCH 10000-#endif-#define CONST_EPROGMISMATCH EPROGMISMATCH--/* The value of EPROGUNAVAIL. */-#if !defined(EPROGUNAVAIL)-#define EPROGUNAVAIL 10000-#endif-#define CONST_EPROGUNAVAIL EPROGUNAVAIL--/* The value of EPROTO. */-#if !defined(EPROTO)-#define EPROTO 10000-#endif-#define CONST_EPROTO EPROTO--/* The value of EPROTONOSUPPORT. */-#if !defined(EPROTONOSUPPORT)-#define EPROTONOSUPPORT 10000-#endif-#define CONST_EPROTONOSUPPORT EPROTONOSUPPORT--/* The value of EPROTOTYPE. */-#if !defined(EPROTOTYPE)-#define EPROTOTYPE 10000-#endif-#define CONST_EPROTOTYPE EPROTOTYPE--/* The value of ERANGE. */-#if !defined(ERANGE)-#define ERANGE 10000-#endif-#define CONST_ERANGE ERANGE--/* The value of EREMCHG. */-#if !defined(EREMCHG)-#define EREMCHG 10000-#endif-#define CONST_EREMCHG EREMCHG--/* The value of EREMOTE. */-#if !defined(EREMOTE)-#define EREMOTE 10000-#endif-#define CONST_EREMOTE EREMOTE--/* The value of EROFS. */-#if !defined(EROFS)-#define EROFS 10000-#endif-#define CONST_EROFS EROFS--/* The value of ERPCMISMATCH. */-#if !defined(ERPCMISMATCH)-#define ERPCMISMATCH 10000-#endif-#define CONST_ERPCMISMATCH ERPCMISMATCH--/* The value of ERREMOTE. */-#if !defined(ERREMOTE)-#define ERREMOTE 10000-#endif-#define CONST_ERREMOTE ERREMOTE--/* The value of ESHUTDOWN. */-#if !defined(ESHUTDOWN)-#define ESHUTDOWN 10000-#endif-#define CONST_ESHUTDOWN ESHUTDOWN--/* The value of ESOCKTNOSUPPORT. */-#if !defined(ESOCKTNOSUPPORT)-#define ESOCKTNOSUPPORT 10000-#endif-#define CONST_ESOCKTNOSUPPORT ESOCKTNOSUPPORT--/* The value of ESPIPE. */-#if !defined(ESPIPE)-#define ESPIPE 10000-#endif-#define CONST_ESPIPE ESPIPE--/* The value of ESRCH. */-#if !defined(ESRCH)-#define ESRCH 10000-#endif-#define CONST_ESRCH ESRCH--/* The value of ESRMNT. */-#if !defined(ESRMNT)-#define ESRMNT 10000-#endif-#define CONST_ESRMNT ESRMNT--/* The value of ESTALE. */-#if !defined(ESTALE)-#define ESTALE 10000-#endif-#define CONST_ESTALE ESTALE--/* The value of ETIME. */-#if !defined(ETIME)-#define ETIME 10000-#endif-#define CONST_ETIME ETIME--/* The value of ETIMEDOUT. */-#if !defined(ETIMEDOUT)-#define ETIMEDOUT 10000-#endif-#define CONST_ETIMEDOUT ETIMEDOUT--/* The value of ETOOMANYREFS. */-#if !defined(ETOOMANYREFS)-#define ETOOMANYREFS 10000-#endif-#define CONST_ETOOMANYREFS ETOOMANYREFS--/* The value of ETXTBSY. */-#if !defined(ETXTBSY)-#define ETXTBSY 10000-#endif-#define CONST_ETXTBSY ETXTBSY--/* The value of EUSERS. */-#if !defined(EUSERS)-#define EUSERS 10000-#endif-#define CONST_EUSERS EUSERS--/* The value of EWOULDBLOCK. */-#if !defined(EWOULDBLOCK)-#define EWOULDBLOCK 10000-#endif-#define CONST_EWOULDBLOCK EWOULDBLOCK--/* The value of EXDEV. */-#if !defined(EXDEV)-#define EXDEV 10000-#endif-#define CONST_EXDEV EXDEV--/* The value of O_BINARY. */-#if !defined(O_BINARY)-#define O_BINARY 10000-#endif-#define CONST_O_BINARY O_BINARY--/* The value of SIGINT. */-#if !defined(SIGINT)-#define SIGINT 10000-#endif-#define CONST_SIGINT SIGINT---#endif-
− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/include/IntLikeInstance.h
@@ -1,242 +0,0 @@-{- ---------------------------------------------------------------------------// Macros to help make various instances for Int like types (Int8, ...).-//-// Primitives are defined by 2 forms of macros:-//  - starting with PRIMS_  : name of Haskell function and primitive is the same-//  - starting with PRIMS2_ : name of primitive is given explicitly, to allow sharing between primitives-// ----------------------------------------------------------------------------}---- define conversion primitives-#define PRIMS_CONVERSION_INTEGER(tycon,primIntegerTo,primToInteger) \-foreign import prim primIntegerTo :: Integer -> tycon ; \-foreign import prim primToInteger :: tycon -> Integer --#define PRIMS2_CONVERSION_INTEGER(tycon,primIntegerTo,primIntegerToNm,primToInteger,primToIntegerNm) \-foreign import prim primIntegerToNm primIntegerTo :: Integer -> tycon ; \-foreign import prim primToIntegerNm primToInteger :: tycon -> Integer --#define PRIMS_CONVERSION_INT(tycon,primIntTo,primToInt) \-foreign import prim primIntTo     :: Int -> tycon ; \-foreign import prim primToInt     :: tycon -> Int ----- define Eq primitives-#define PRIMS_EQ(tycon,primEq,primNe) \-foreign import prim primEq      :: tycon -> tycon -> Bool ; \-foreign import prim primNe      :: tycon -> tycon -> Bool --#define PRIMS2_EQ(tycon,primEq,primEqNm,primNe,primNeNm) \-foreign import prim primEqNm primEq     :: tycon -> tycon -> Bool ; \-foreign import prim primNeNm primNe     :: tycon -> tycon -> Bool----- define Eq instance-#define INSTANCE_EQ(tycon,primEq,primNe) \-instance Eq tycon where \-  { (==) = primEq ; \-  	(/=) = primNe \-  }----- define Ord primitives--#define PRIMS_ORD(tycon,primCmp,primLt,primGt,primLe,primGe) \-foreign import prim primCmp     :: tycon -> tycon -> Ordering ; \-foreign import prim primLt      :: tycon -> tycon -> Bool ; \-foreign import prim primGt      :: tycon -> tycon -> Bool ; \-foreign import prim primLe      :: tycon -> tycon -> Bool ; \-foreign import prim primGe      :: tycon -> tycon -> Bool --#define PRIMS2_ORD(tycon,primCmp,primCmpNm,primLt,primLtNm,primGt,primGtNm,primLe,primLeNm,primGe,primGeNm) \-foreign import prim primCmpNm primCmp     :: tycon -> tycon -> Ordering ; \-foreign import prim primLtNm primLt      :: tycon -> tycon -> Bool ; \-foreign import prim primGtNm primGt      :: tycon -> tycon -> Bool ; \-foreign import prim primLeNm primLe      :: tycon -> tycon -> Bool ; \-foreign import prim primGeNm primGe      :: tycon -> tycon -> Bool ----- define Ord instance--#define INSTANCE_ORD(tycon,primCmp,primLt,primGt,primLe,primGe) \-instance Ord tycon where \-  { compare = primCmp \-  ; (<) = primLt \-  ; (>) = primGt \-  ; (<=) = primLe \-  ; (>=) = primGe \-  }----- define Bounded primitives-#define PRIMS_BOUNDED(tycon,primMin,primMax) \-foreign import prim primMin     :: tycon ; \-foreign import prim primMax     :: tycon ----- define Bounded instance-#define INSTANCE_BOUNDED(tycon,primMin,primMax) \-instance Bounded tycon where \-  { minBound = primMin \-  ; maxBound = primMax \-  }----- define Num primitives-#define PRIMS_NUM(tycon,primAdd,primSub,primMul,primNeg) \-foreign import prim primAdd       :: tycon -> tycon -> tycon ; \-foreign import prim primSub       :: tycon -> tycon -> tycon ; \-foreign import prim primMul       :: tycon -> tycon -> tycon ; \-foreign import prim primNeg       :: tycon -> tycon --#define PRIMS2_NUM(tycon,primAdd,primAddNm,primSub,primSubNm,primMul,primMulNm,primNeg,primNegNm) \-foreign import prim primAddNm 			primAdd       :: tycon -> tycon -> tycon ; \-foreign import prim primSubNm 			primSub       :: tycon -> tycon -> tycon ; \-foreign import prim primMulNm 			primMul       :: tycon -> tycon -> tycon ; \-foreign import prim primNegNm 			primNeg       :: tycon -> tycon ----- define Num instance-#define INSTANCE_NUM(tycon,primAdd,primSub,primMul,primNeg,primIntegerTo,primIntTo) \-instance Num tycon where \-  { (+)         = primAdd \-  ; (-)         = primSub \-  ; (*)         = primMul \-  ; negate      = primNeg \-  ; fromInteger = primIntegerTo \-  ; fromInt     = primIntTo \-  ; abs         = absReal \-  ; signum      = signumReal \-  }----- define Enum instance-#define INSTANCE_ENUM(tycon,primToEnum,primFromEnum) \-instance Enum tycon where \-  { succ           = boundedSucc \-  ; pred           = boundedPred \-  ; toEnum         = primToEnum \-  ; fromEnum       = primFromEnum \-  ; enumFrom       = boundedEnumFrom \-  ; enumFromTo     = boundedEnumFromTo \-  ; enumFromThen   = boundedEnumFromThen \-  ; enumFromThenTo = boundedEnumFromThenTo \-  }----- define Real instance-#define INSTANCE_REAL(tycon) \-instance Real tycon where \-  { toRational x = toInteger x % 1 \-  }----- define Integral primitives-#define PRIMS_INTEGRAL1(tycon,primDiv,primMod,primQuot,primRem) \-foreign import prim primDiv       :: tycon -> tycon -> tycon ; \-foreign import prim primMod       :: tycon -> tycon -> tycon ; \-foreign import prim primQuot      :: tycon -> tycon -> tycon ; \-foreign import prim primRem       :: tycon -> tycon -> tycon --#define PRIMS2_INTEGRAL1(tycon,primDiv,primDivNm,primMod,primModNm,primQuot,primQuotNm,primRem,primRemNm) \-foreign import prim primDivNm 			primDiv       :: tycon -> tycon -> tycon ; \-foreign import prim primModNm 			primMod       :: tycon -> tycon -> tycon ; \-foreign import prim primQuotNm 			primQuot      :: tycon -> tycon -> tycon ; \-foreign import prim primRemNm 			primRem       :: tycon -> tycon -> tycon --#define PRIMS_INTEGRAL2(tycon,primDiv,primMod,primDivMod,primQuot,primRem,primQuotRem) \-PRIMS_INTEGRAL1(tycon,primDiv,primMod,primQuot,primRem) ; \-foreign import prim primDivMod    :: tycon -> tycon -> (tycon,tycon) ; \-foreign import prim primQuotRem   :: tycon -> tycon -> (tycon,tycon) --#define PRIMS2_INTEGRAL2(tycon,primDiv,primDivNm,primMod,primModNm,primDivMod,primDivModNm,primQuot,primQuotNm,primRem,primRemNm,primQuotRem,primQuotRemNm) \-PRIMS2_INTEGRAL1(tycon,primDiv,primDivNm,primMod,primModNm,primQuot,primQuotNm,primRem,primQuotRemNm) ; \-foreign import prim primDivModNm 	primDivMod    :: tycon -> tycon -> (tycon,tycon) ; \-foreign import prim primQuotRemNm 	primQuotRem   :: tycon -> tycon -> (tycon,tycon) ----- define Integral instance, assume default for divMod-#define INSTANCE_INTEGRAL1(tycon,primDiv,primMod,primQuot,primRem,primToInteger,primToInt) \-instance Integral tycon where \-  { quotRem d m \-              = (primQuot d m, primRem d m) \-  ; div       = primDiv \-  ; quot      = primQuot \-  ; rem       = primRem \-  ; mod       = primMod \-  ; toInteger = primToInteger \-  ; toInt     = primToInt \-  }--#define INSTANCE_INTEGRAL2(tycon,primDiv,primMod,primDivMod,primQuot,primRem,primQuotRem,primToInteger,primToInt) \-instance Integral tycon where \-  { divMod    = primDivMod \-  ; quotRem   = primQuotRem \-  ; div       = primDiv \-  ; quot      = primQuot \-  ; rem       = primRem \-  ; mod       = primMod \-  ; toInteger = primToInteger \-  ; toInt     = primToInt \-  }----- define Show instance-#define INSTANCE_SHOW(tycon) \-instance Show tycon where \-  { show = show . toInteger \-  }----- define Read instance-#define INSTANCE_READ(tycon) \-instance Read tycon where \-  { readsPrec p = readSigned readDec \-  }----- define Bits primitives-#define PRIMS_BITLOGIC(tycon,primAnd,primOr,primXor) \-foreign import prim primAnd       	:: tycon -> tycon -> tycon ; \-foreign import prim primOr       	:: tycon -> tycon -> tycon ; \-foreign import prim primXor      	:: tycon -> tycon -> tycon--#define PRIMS_BITSHIFT(tycon,primComplement,primShiftLeft,primShiftRight,primRotateLeft,primRotateRight) \-foreign import prim primComplement	:: tycon -> tycon ; \-foreign import prim primShiftLeft  	:: tycon -> Int -> tycon ; \-foreign import prim primShiftRight 	:: tycon -> Int -> tycon ; \-foreign import prim primRotateLeft  :: tycon -> Int -> tycon ; \-foreign import prim primRotateRight :: tycon -> Int -> tycon--#define PRIMS2_BITLOGIC(tycon,primAnd,primAndNm,primOr,primOrNm,primXor,primXorNm) \-foreign import prim primAndNm       	primAnd       	:: tycon -> tycon -> tycon ; \-foreign import prim primOrNm       		primOr       	:: tycon -> tycon -> tycon ; \-foreign import prim primXorNm      		primXor      	:: tycon -> tycon -> tycon--#define PRIMS2_BITSHIFT(tycon,primComplement,primComplementNm,primShiftLeft,primShiftLeftNm,primShiftRight,primShiftRightNm,primRotateLeft,primRotateLeftNm,primRotateRight,primRotateRightNm) \-foreign import prim primComplementNm	primComplement	:: tycon -> tycon ; \-foreign import prim primShiftLeftNm  	primShiftLeft  	:: tycon -> Int -> tycon ; \-foreign import prim primShiftRightNm 	primShiftRight 	:: tycon -> Int -> tycon ; \-foreign import prim primRotateLeftNm  	primRotateLeft  :: tycon -> Int -> tycon ; \-foreign import prim primRotateRightNm 	primRotateRight :: tycon -> Int -> tycon---- define Bits instance-#define INSTANCE_BITS1(tycon,size,signed,primAnd,primOr,primXor,primComplement,primShiftLeft,primShiftRight,primRotateLeft,primRotateRight) \-instance Bits tycon where \-  { (.&.)   	= primAnd \-  ; (.|.)   	= primOr \-  ; xor	   		= primXor \-  ; complement  = primComplement \-  ; shiftL      = primShiftLeft \-  ; shiftR      = primShiftRight \-  ; rotateL     = primRotateLeft \-  ; rotateR     = primRotateRight \-  ; bitSize _   = size \-  ; isSigned _  = signed \-  }------
− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/include/MachDeps.h
@@ -1,125 +0,0 @@-/* ehclib/uhcbase/include/MachDeps.h.  Generated from MachDeps.h.in by configure.  */-#ifndef MACHDEPS_H-#define MACHDEPS_H--#define SIZEOF_INTPTR_T 8-#define SIZEOF_CHAR 1-#define SIZEOF_SHORT 2-#define SIZEOF_INT 4-#define SIZEOF_LONG 8-#define SIZEOF_LONG_LONG 8-#define SIZEOF_FLOAT 4-#define SIZEOF_DOUBLE 8-#define SIZEOF_UNSIGNED_CHAR 1-#define SIZEOF_UNSIGNED_SHORT 2-#define SIZEOF_UNSIGNED_INT 4-#define SIZEOF_UNSIGNED_LONG 8-#define SIZEOF_UNSIGNED_LONG_LONG 8-#define SIZEOF_VOID_P 8--#define SIZEOF_DEV_T 4-#define SIZEOF_INO_T 8-#define SIZEOF_OFF_T 8-#define SIZEOF_MODE_T 2-#define SIZEOF_PID_T 4-#define SIZEOF_SSIZE_T 8-#define SIZEOF_GID_T 4-#define SIZEOF_NLINK_T 2-#define SIZEOF_UID_T 4-#define SIZEOF_RLIM_T 8-#define SIZEOF_CLOCK_T 8-#define SIZEOF_TIME_T 8-#define SIZEOF_SIZE_T 8-#define SIZEOF_WCHAR_T 4--#define SIZEOF_CC_T 1-#define SIZEOF_SPEED_T 8-#define SIZEOF_TCFLAG_T 8--#define ALIGNOF_INTPTR_T 8-#define ALIGNOF_CHAR 1-#define ALIGNOF_SHORT 2-#define ALIGNOF_INT 4-#define ALIGNOF_LONG 8-#define ALIGNOF_LONG_LONG 8-#define ALIGNOF_FLOAT 4-#define ALIGNOF_DOUBLE 8-#define ALIGNOF_UNSIGNED_CHAR 1-#define ALIGNOF_UNSIGNED_SHORT 2-#define ALIGNOF_UNSIGNED_INT 4-#define ALIGNOF_UNSIGNED_LONG 8-#define ALIGNOF_UNSIGNED_LONG_LONG 8-#define ALIGNOF_VOID_P 8--#define ALIGNOF_UINT8_T 1-#define ALIGNOF_UINT16_T 2-#define ALIGNOF_UINT32_T 4-#define ALIGNOF_UINT64_T 8--#if SIZEOF_INTPTR_T == 8-#define USE_64_BITS 1-#define USE_32_BITS 0-#else-#define USE_64_BITS 0-#define USE_32_BITS 1-#endif--#ifdef __UHC_TARGET_BC__-#define BITSIZEOF_WORDTAG		1-#else-#define BITSIZEOF_WORDTAG		0-#endif--#define SIZEOF_HSCHAR           SIZEOF_INTPTR_T-#define ALIGNMENT_HSCHAR        ALIGNOF_UINT32_T--#define SIZEOF_HSINT            SIZEOF_INTPTR_T-#define ALIGNMENT_HSINT         ALIGNOF_INTPTR_T--#define SIZEOF_HSWORD			SIZEOF_INTPTR_T-#define ALIGNMENT_HSWORD		ALIGNOF_INTPTR_T--#define SIZEOF_HSDOUBLE			SIZEOF_DOUBLE-#define ALIGNMENT_HSDOUBLE		ALIGNOF_DOUBLE--#define SIZEOF_HSFLOAT			SIZEOF_FLOAT-#define ALIGNMENT_HSFLOAT		ALIGNOF_FLOAT--#define SIZEOF_HSPTR            SIZEOF_VOID_P-#define ALIGNMENT_HSPTR         ALIGNOF_VOID_P--#define SIZEOF_HSFUNPTR         SIZEOF_VOID_P-#define ALIGNMENT_HSFUNPTR      ALIGNOF_VOID_P--#define SIZEOF_HSFOREIGNPTR     SIZEOF_VOID_P-#define ALIGNMENT_HSFOREIGNPTR  ALIGNOF_VOID_P--#define SIZEOF_HSSTABLEPTR      SIZEOF_VOID_P-#define ALIGNMENT_HSSTABLEPTR   ALIGNOF_VOID_P--#define SIZEOF_INT8             8-#define ALIGNMENT_INT8          ALIGNOF_UINT8_T--#define SIZEOF_WORD8            8-#define ALIGNMENT_WORD8         ALIGNOF_UINT8_T--#define SIZEOF_INT16            16-#define ALIGNMENT_INT16         ALIGNOF_UINT16_T--#define SIZEOF_WORD16           16-#define ALIGNMENT_WORD16        ALIGNOF_UINT16_T--#define SIZEOF_INT32            32-#define ALIGNMENT_INT32         ALIGNOF_UINT32_T--#define SIZEOF_WORD32           32-#define ALIGNMENT_WORD32        ALIGNOF_UINT32_T--#define SIZEOF_INT64            64-#define ALIGNMENT_INT64         ALIGNOF_UINT64_T--#define SIZEOF_WORD64           64-#define ALIGNMENT_WORD64        ALIGNOF_UINT64_T---#endif
− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/include/TupleInstance.h
@@ -1,147 +0,0 @@-{- ---------------------------------------------------------------------------// Macros to help make various instances for tuples.-// A kind of poor mans deriving.-//-// ----------------------------------------------------------------------------}--#define	COMMA	,--{- ---------------------------------------------------------------------------// 2 tuple, 1 unary op-// ----------------------------------------------------------------------------}-#define TUPLE2_UNOP1_INSTANCE(clscon,op1,op1preArg,op1postArg,op1subop,pre,sep,post) \-instance (clscon a, clscon b) => clscon (a,b) where \-  { op1 op1preArg (a,b) op1postArg \-      = pre \-            op1subop a \-        sep op1subop b \-        post \-  }--{- ---------------------------------------------------------------------------// 3 tuple, 1 unary op-// ----------------------------------------------------------------------------}-#define TUPLE3_UNOP1_INSTANCE(clscon,op1,op1preArg,op1postArg,op1subop,pre,sep,post) \-instance (clscon a, clscon b, clscon c) => clscon (a,b,c) where \-  { op1 op1preArg (a,b,c) op1postArg \-      = pre \-            op1subop a \-        sep op1subop b \-        sep op1subop c \-        post \-  }--{- ---------------------------------------------------------------------------// 4 tuple, 1 unary op-// ----------------------------------------------------------------------------}-#define TUPLE4_UNOP1_INSTANCE(clscon,op1,op1preArg,op1postArg,op1subop,pre,sep,post) \-instance (clscon a, clscon b, clscon c, clscon d) => clscon (a,b,c,d) where \-  { op1 op1preArg (a,b,c,d) op1postArg \-      = pre \-            op1subop a \-        sep op1subop b \-        sep op1subop c \-        sep op1subop d \-        post \-  }--{- ---------------------------------------------------------------------------// 5 tuple, 1 unary op-// ----------------------------------------------------------------------------}-#define TUPLE5_UNOP1_INSTANCE(clscon,op1,op1preArg,op1postArg,op1subop,pre,sep,post) \-instance (clscon a, clscon b, clscon c, clscon d, clscon e) => clscon (a,b,c,d,e) where \-  { op1 op1preArg (a,b,c,d,e) op1postArg \-      = pre \-            op1subop a \-        sep op1subop b \-        sep op1subop c \-        sep op1subop d \-        sep op1subop e \-        post \-  }--{- ---------------------------------------------------------------------------// Set of 2..n tuple, 1 unary op-// ----------------------------------------------------------------------------}-#define TUPLE_UNOP1_INSTANCES(clscon,op1,op1preArg,op1postArg,op1subop,pre,sep,post) \-{ TUPLE2_UNOP1_INSTANCE(clscon,op1,op1preArg,op1postArg,op1subop,pre,sep,post) ;\-  TUPLE3_UNOP1_INSTANCE(clscon,op1,op1preArg,op1postArg,op1subop,pre,sep,post) ;\-  TUPLE4_UNOP1_INSTANCE(clscon,op1,op1preArg,op1postArg,op1subop,pre,sep,post) ;\-  TUPLE5_UNOP1_INSTANCE(clscon,op1,op1preArg,op1postArg,op1subop,pre,sep,post) \-}--{- ---------------------------------------------------------------------------// 2 tuple, 1 binary op-// ----------------------------------------------------------------------------}-#define TUPLE2_BINOP1_INSTANCE(clscon,op1,op1subop,pre,sep,post) \-instance (clscon a, clscon b) => clscon (a,b) where \-  { (a1,b1) op1 (a2,b2) \-      = pre \-            a1 op1subop a2 \-        sep b1 op1subop b2 \-        post \-  }--{- ---------------------------------------------------------------------------// 3 tuple, 1 binary op-// ----------------------------------------------------------------------------}-#define TUPLE3_BINOP1_INSTANCE(clscon,op1,op1subop,pre,sep,post) \-instance (clscon a, clscon b, clscon c) => clscon (a,b,c) where \-  { (a1,b1,c1) op1 (a2,b2,c2) \-      = pre \-            a1 op1subop a2 \-        sep b1 op1subop b2 \-        sep c1 op1subop c2 \-        post \-  }--{- ---------------------------------------------------------------------------// 4 tuple, 1 binary op-// ----------------------------------------------------------------------------}-#define TUPLE4_BINOP1_INSTANCE(clscon,op1,op1subop,pre,sep,post) \-instance (clscon a, clscon b, clscon c, clscon d) => clscon (a,b,c,d) where \-  { (a1,b1,c1,d1) op1 (a2,b2,c2,d2) \-      = pre \-            a1 op1subop a2 \-        sep b1 op1subop b2 \-        sep c1 op1subop c2 \-        sep d1 op1subop d2 \-        post \-  }--{- ---------------------------------------------------------------------------// 5 tuple, 1 binary op-// ----------------------------------------------------------------------------}-#define TUPLE5_BINOP1_INSTANCE(clscon,op1,op1subop,pre,sep,post) \-instance (clscon a, clscon b, clscon c, clscon d, clscon e) => clscon (a,b,c,d,e) where \-  { (a1,b1,c1,d1,e1) op1 (a2,b2,c2,d2,e2) \-      = pre \-            a1 op1subop a2 \-        sep b1 op1subop b2 \-        sep c1 op1subop c2 \-        sep d1 op1subop d2 \-        sep e1 op1subop e2 \-        post \-  }--{- ---------------------------------------------------------------------------// Set of 2..n tuple, 1 binary op-// ----------------------------------------------------------------------------}-#define TUPLE_BINOP1_INSTANCES(clscon,op1,op1subop,pre,sep,post) \-{ TUPLE2_BINOP1_INSTANCE(clscon,op1,op1subop,pre,sep,post) ;\-  TUPLE3_BINOP1_INSTANCE(clscon,op1,op1subop,pre,sep,post) ;\-  TUPLE4_BINOP1_INSTANCE(clscon,op1,op1subop,pre,sep,post) ;\-  TUPLE5_BINOP1_INSTANCE(clscon,op1,op1subop,pre,sep,post) \-}-
− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/include/Typeable.h
@@ -1,149 +0,0 @@-{- ---------------------------------------------------------------------------// Macros to help make Typeable instances.-//-// INSTANCE_TYPEABLEn(tc,tcname,"tc") defines-//-//	instance Typeable/n/ tc-//	instance Typeable a => Typeable/n-1/ (tc a)-//	instance (Typeable a, Typeable b) => Typeable/n-2/ (tc a b)-//	...-//	instance (Typeable a1, ..., Typeable an) => Typeable (tc a1 ... an)-// ----------------------------------------------------------------------------}--#ifndef TYPEABLE_H-#define TYPEABLE_H--#define INSTANCE_TYPEABLE0(tycon,tcname,str) \-tcname :: TyCon; \-tcname = mkTyCon str; \-instance Typeable tycon where { typeOf _ = mkTyConApp tcname [] }--#ifdef __GLASGOW_HASKELL__----  // For GHC, the extra instances follow from general instance declarations---  // defined in Data.Typeable.--#define INSTANCE_TYPEABLE1(tycon,tcname,str) \-tcname :: TyCon; \-tcname = mkTyCon str; \-instance Typeable1 tycon where { typeOf1 _ = mkTyConApp tcname [] }--#define INSTANCE_TYPEABLE2(tycon,tcname,str) \-tcname :: TyCon; \-tcname = mkTyCon str; \-instance Typeable2 tycon where { typeOf2 _ = mkTyConApp tcname [] }--#define INSTANCE_TYPEABLE3(tycon,tcname,str) \-tcname :: TyCon; \-tcname = mkTyCon str; \-instance Typeable3 tycon where { typeOf3 _ = mkTyConApp tcname [] }--#define INSTANCE_TYPEABLE4(tycon,tcname,str) \-tcname :: TyCon; \-tcname = mkTyCon str; \-instance Typeable4 tycon where { typeOf4 _ = mkTyConApp tcname [] }--#define INSTANCE_TYPEABLE5(tycon,tcname,str) \-tcname :: TyCon; \-tcname = mkTyCon str; \-instance Typeable5 tycon where { typeOf5 _ = mkTyConApp tcname [] }--#define INSTANCE_TYPEABLE6(tycon,tcname,str) \-tcname :: TyCon; \-tcname = mkTyCon str; \-instance Typeable6 tycon where { typeOf6 _ = mkTyConApp tcname [] }--#define INSTANCE_TYPEABLE7(tycon,tcname,str) \-tcname :: TyCon; \-tcname = mkTyCon str; \-instance Typeable7 tycon where { typeOf7 _ = mkTyConApp tcname [] }--#else /* !__GLASGOW_HASKELL__ */--#define INSTANCE_TYPEABLE1(tycon,tcname,str) \-tcname = mkTyCon str; \-instance Typeable1 tycon where { typeOf1 _ = mkTyConApp tcname [] }; \-instance Typeable a => Typeable (tycon a) where { typeOf = typeOfDefault }--#define INSTANCE_TYPEABLE2(tycon,tcname,str) \-tcname = mkTyCon str; \-instance Typeable2 tycon where { typeOf2 _ = mkTyConApp tcname [] }; \-instance Typeable a => Typeable1 (tycon a) where { \-  typeOf1 = typeOf1Default }; \-instance (Typeable a, Typeable b) => Typeable (tycon a b) where { \-  typeOf = typeOfDefault }--#define INSTANCE_TYPEABLE3(tycon,tcname,str) \-tcname = mkTyCon str; \-instance Typeable3 tycon where { typeOf3 _ = mkTyConApp tcname [] }; \-instance Typeable a => Typeable2 (tycon a) where { \-  typeOf2 = typeOf2Default }; \-instance (Typeable a, Typeable b) => Typeable1 (tycon a b) where { \-  typeOf1 = typeOf1Default }; \-instance (Typeable a, Typeable b, Typeable c) => Typeable (tycon a b c) where { \-  typeOf = typeOfDefault }--#define INSTANCE_TYPEABLE4(tycon,tcname,str) \-tcname = mkTyCon str; \-instance Typeable4 tycon where { typeOf4 _ = mkTyConApp tcname [] }; \-instance Typeable a => Typeable3 (tycon a) where { \-  typeOf3 = typeOf3Default }; \-instance (Typeable a, Typeable b) => Typeable2 (tycon a b) where { \-  typeOf2 = typeOf2Default }; \-instance (Typeable a, Typeable b, Typeable c) => Typeable1 (tycon a b c) where { \-  typeOf1 = typeOf1Default }; \-instance (Typeable a, Typeable b, Typeable c, Typeable d) => Typeable (tycon a b c d) where { \-  typeOf = typeOfDefault }--#define INSTANCE_TYPEABLE5(tycon,tcname,str) \-tcname = mkTyCon str; \-instance Typeable5 tycon where { typeOf5 _ = mkTyConApp tcname [] }; \-instance Typeable a => Typeable4 (tycon a) where { \-  typeOf4 = typeOf4Default }; \-instance (Typeable a, Typeable b) => Typeable3 (tycon a b) where { \-  typeOf3 = typeOf3Default }; \-instance (Typeable a, Typeable b, Typeable c) => Typeable2 (tycon a b c) where { \-  typeOf2 = typeOf2Default }; \-instance (Typeable a, Typeable b, Typeable c, Typeable d) => Typeable1 (tycon a b c d) where { \-  typeOf1 = typeOf1Default }; \-instance (Typeable a, Typeable b, Typeable c, Typeable d, Typeable e) => Typeable (tycon a b c d e) where { \-  typeOf = typeOfDefault }--#define INSTANCE_TYPEABLE6(tycon,tcname,str) \-tcname = mkTyCon str; \-instance Typeable6 tycon where { typeOf6 _ = mkTyConApp tcname [] }; \-instance Typeable a => Typeable5 (tycon a) where { \-  typeOf5 = typeOf5Default }; \-instance (Typeable a, Typeable b) => Typeable4 (tycon a b) where { \-  typeOf4 = typeOf4Default }; \-instance (Typeable a, Typeable b, Typeable c) => Typeable3 (tycon a b c) where { \-  typeOf3 = typeOf3Default }; \-instance (Typeable a, Typeable b, Typeable c, Typeable d) => Typeable2 (tycon a b c d) where { \-  typeOf2 = typeOf2Default }; \-instance (Typeable a, Typeable b, Typeable c, Typeable d, Typeable e) => Typeable1 (tycon a b c d e) where { \-  typeOf1 = typeOf1Default }; \-instance (Typeable a, Typeable b, Typeable c, Typeable d, Typeable e, Typeable f) => Typeable (tycon a b c d e f) where { \-  typeOf = typeOfDefault }--#define INSTANCE_TYPEABLE7(tycon,tcname,str) \-tcname = mkTyCon str; \-instance Typeable7 tycon where { typeOf7 _ = mkTyConApp tcname [] }; \-instance Typeable a => Typeable6 (tycon a) where { \-  typeOf6 = typeOf6Default }; \-instance (Typeable a, Typeable b) => Typeable5 (tycon a b) where { \-  typeOf5 = typeOf5Default }; \-instance (Typeable a, Typeable b, Typeable c) => Typeable4 (tycon a b c) where { \-  typeOf4 = typeOf4Default }; \-instance (Typeable a, Typeable b, Typeable c, Typeable d) => Typeable3 (tycon a b c d) where { \-  typeOf3 = typeOf3Default }; \-instance (Typeable a, Typeable b, Typeable c, Typeable d, Typeable e) => Typeable2 (tycon a b c d e) where { \-  typeOf2 = typeOf2Default }; \-instance (Typeable a, Typeable b, Typeable c, Typeable d, Typeable e, Typeable f) => Typeable1 (tycon a b c d e f) where { \-  typeOf1 = typeOf1Default }; \-instance (Typeable a, Typeable b, Typeable c, Typeable d, Typeable e, Typeable f, Typeable g) => Typeable (tycon a b c d e f g) where { \-  typeOf = typeOfDefault }--#endif /* !__GLASGOW_HASKELL__ */--#endif
− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/include/dirUtils.h
@@ -1,11 +0,0 @@-/* - * (c) The University of Glasgow 2002- *- * Directory Runtime Support- */-#ifndef __DIRUTILS_H__-#define __DIRUTILS_H__--extern int __hscore_readdir(DIR *dirPtr, struct dirent **pDirEnt);--#endif /* __DIRUTILS_H__ */
− 103/lib/pkg/uhcbase-1.1.9.1/103/cr/plain/installed-pkg-config
@@ -1,2 +0,0 @@-exposed-modules: Control.Monad Data.Bits Data.Char Data.Either Data.Int Data.IORef Data.List Data.Maybe Data.Typeable Data.Word Debug.Trace Foreign.C.Error Foreign.C.String Foreign.C.Types Foreign.C Foreign.ForeignPtr Foreign.Marshal.Alloc Foreign.Marshal.Array Foreign.Marshal.Error Foreign.Marshal.Pool Foreign.Marshal.Utils Foreign.Marshal Foreign.Ptr Foreign.StablePtr Foreign.Storable Foreign System.IO.Error System.IO.Fix System.IO.Unsafe System.IO System.Posix.Internals System.Posix.Types UHC.Array UHC.Base UHC.Bits UHC.Bounded UHC.BoxArray UHC.ByteArray UHC.Char UHC.Conc UHC.Enum UHC.Eq UHC.Float UHC.ForeignPtr UHC.GC UHC.Generics.Tuple UHC.Generics UHC.Handle UHC.Int UHC.IO UHC.IOBase UHC.Ix UHC.LazyST UHC.MutVar UHC.MVar UHC.OldException UHC.OldIO UHC.Ord UHC.Prims UHC.Ptr UHC.Read UHC.Real UHC.Run UHC.Show UHC.ST UHC.StablePtr UHC.StackTrace UHC.Storable UHC.STRef UHC.Types UHC.Weak UHC.WeakPtr UHC.Word Unsafe.Coerce-build-depends: 
+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Control/Monad.bcrr view

binary file changed (absent → 62756 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Control/Monad.cr view

binary file changed (absent → 61194 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Control/Monad.hi view

binary file changed (absent → 23046 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/Bits.bcrr view

binary file changed (absent → 90336 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/Bits.cr view

binary file changed (absent → 82608 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/Bits.hi view

binary file changed (absent → 21098 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/Char.bcrr view

binary file changed (absent → 14330 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/Char.cr view

binary file changed (absent → 11493 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/Char.hi view

binary file changed (absent → 5480 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/Either.bcrr view

binary file changed (absent → 6622 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/Either.cr view

binary file changed (absent → 6580 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/Either.hi view

binary file changed (absent → 3404 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/IORef.bcrr view

binary file changed (absent → 3142 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/IORef.cr view

binary file changed (absent → 3460 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/IORef.hi view

binary file changed (absent → 3169 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/List.bcrr view

binary file changed (absent → 244000 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/List.cr view

binary file changed (absent → 204294 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/List.hi view

binary file changed (absent → 33649 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/Maybe.bcrr view

binary file changed (absent → 8957 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/Maybe.cr view

binary file changed (absent → 8206 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/Maybe.hi view

binary file changed (absent → 4237 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/Typeable.bcrr view

binary file changed (absent → 231164 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/Typeable.cr view

binary file changed (absent → 174108 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Data/Typeable.hi view

binary file changed (absent → 82173 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Debug/Trace.bcrr view

binary file changed (absent → 3086 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Debug/Trace.cr view

binary file changed (absent → 3180 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Debug/Trace.hi view

binary file changed (absent → 4424 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Foreign/Ptr.bcrr view

binary file changed (absent → 408 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Foreign/Ptr.cr view

binary file changed (absent → 405 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Foreign/Ptr.hi view

binary file changed (absent → 2959 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Foreign/StablePtr.bcrr view

binary file changed (absent → 162 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Foreign/StablePtr.cr view

binary file changed (absent → 149 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Foreign/StablePtr.hi view

binary file changed (absent → 2081 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/System/IO.bcrr view

binary file changed (absent → 28770 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/System/IO.cr view

binary file changed (absent → 22836 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/System/IO.hi view

binary file changed (absent → 16231 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/System/IO/Error.bcrr view

binary file changed (absent → 34704 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/System/IO/Error.cr view

binary file changed (absent → 30548 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/System/IO/Error.hi view

binary file changed (absent → 15702 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/System/IO/Fix.bcrr view

binary file changed (absent → 5464 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/System/IO/Fix.cr view

binary file changed (absent → 4750 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/System/IO/Fix.hi view

binary file changed (absent → 1947 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/System/IO/Unsafe.bcrr view

binary file changed (absent → 910 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/System/IO/Unsafe.cr view

binary file changed (absent → 1004 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/System/IO/Unsafe.hi view

binary file changed (absent → 1967 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Array.bcrr view

binary file changed (absent → 264266 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Array.cr view

binary file changed (absent → 216766 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Array.hi view

binary file changed (absent → 44321 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Base.bcrr view

file too large to diff

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Base.cr view

binary file changed (absent → 1921744 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Base.hi view

binary file changed (absent → 576661 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Bits.bcrr view

binary file changed (absent → 13306 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Bits.cr view

binary file changed (absent → 13522 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Bits.hi view

binary file changed (absent → 5033 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Bounded.bcrr view

binary file changed (absent → 210832 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Bounded.cr view

binary file changed (absent → 122008 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Bounded.hi view

binary file changed (absent → 38444 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/BoxArray.bcrr view

binary file changed (absent → 36209 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/BoxArray.cr view

binary file changed (absent → 29560 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/BoxArray.hi view

binary file changed (absent → 15665 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Char.bcrr view

binary file changed (absent → 6297 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Char.cr view

binary file changed (absent → 5241 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Char.hi view

binary file changed (absent → 1271 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Enum.bcrr view

binary file changed (absent → 8575 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Enum.cr view

binary file changed (absent → 8362 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Enum.hi view

binary file changed (absent → 2041 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Eq.bcrr view

binary file changed (absent → 189725 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Eq.cr view

binary file changed (absent → 107238 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Eq.hi view

binary file changed (absent → 37904 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Float.bcrr view

binary file changed (absent → 74641 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Float.cr view

binary file changed (absent → 58805 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Float.hi view

binary file changed (absent → 1793 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/GC.bcrr view

binary file changed (absent → 664 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/GC.cr view

binary file changed (absent → 688 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/GC.hi view

binary file changed (absent → 1242 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Generics.bcrr view

binary file changed (absent → 218 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Generics.cr view

binary file changed (absent → 207 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Generics.hi view

binary file changed (absent → 13320 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Generics/Tuple.bcrr view

binary file changed (absent → 562920 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Generics/Tuple.cr view

binary file changed (absent → 501131 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Generics/Tuple.hi view

binary file changed (absent → 177103 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Handle.bcrr view

binary file changed (absent → 156818 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Handle.cr view

binary file changed (absent → 131848 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Handle.hi view

binary file changed (absent → 28666 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/IO.bcrr view

binary file changed (absent → 15701 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/IO.cr view

binary file changed (absent → 15533 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/IO.hi view

binary file changed (absent → 5768 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/IOBase.bcrr view

binary file changed (absent → 454027 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/IOBase.cr view

binary file changed (absent → 347926 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/IOBase.hi view

binary file changed (absent → 93852 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Ix.bcrr view

binary file changed (absent → 104457 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Ix.cr view

binary file changed (absent → 76893 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Ix.hi view

binary file changed (absent → 20254 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/LazyST.bcrr view

binary file changed (absent → 45295 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/LazyST.cr view

binary file changed (absent → 37679 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/LazyST.hi view

binary file changed (absent → 14845 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/MVar.bcrr view

binary file changed (absent → 36835 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/MVar.cr view

binary file changed (absent → 29147 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/MVar.hi view

binary file changed (absent → 8051 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/MutVar.bcrr view

binary file changed (absent → 20918 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/MutVar.cr view

binary file changed (absent → 18338 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/MutVar.hi view

binary file changed (absent → 7659 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/OldException.bcrr view

binary file changed (absent → 14009 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/OldException.cr view

binary file changed (absent → 12357 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/OldException.hi view

binary file changed (absent → 4479 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Ord.bcrr view

binary file changed (absent → 80499 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Ord.cr view

binary file changed (absent → 68996 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Ord.hi view

binary file changed (absent → 9195 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Prims.bcrr view

binary file changed (absent → 202211 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Prims.cr view

binary file changed (absent → 206208 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Prims.hi view

binary file changed (absent → 68189 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Ptr.bcrr view

binary file changed (absent → 33180 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Ptr.cr view

binary file changed (absent → 25261 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Ptr.hi view

binary file changed (absent → 15020 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Read.bcrr view

binary file changed (absent → 98547 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Read.cr view

binary file changed (absent → 87675 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Read.hi view

binary file changed (absent → 8628 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Real.bcrr view

binary file changed (absent → 8005 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Real.cr view

binary file changed (absent → 7206 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Real.hi view

binary file changed (absent → 1487 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Run.bcrr view

binary file changed (absent → 12688 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Run.cr view

binary file changed (absent → 11814 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Run.hi view

binary file changed (absent → 4168 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/ST.bcrr view

binary file changed (absent → 60629 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/ST.cr view

binary file changed (absent → 47840 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/ST.hi view

binary file changed (absent → 21012 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/STRef.bcrr view

binary file changed (absent → 28202 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/STRef.cr view

binary file changed (absent → 22974 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/STRef.hi view

binary file changed (absent → 10893 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Show.bcrr view

binary file changed (absent → 191188 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Show.cr view

binary file changed (absent → 152750 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Show.hi view

binary file changed (absent → 19582 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/StablePtr.bcrr view

binary file changed (absent → 26880 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/StablePtr.cr view

binary file changed (absent → 21966 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/StablePtr.hi view

binary file changed (absent → 11320 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/StackTrace.bcrr view

binary file changed (absent → 154 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/StackTrace.cr view

binary file changed (absent → 141 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/StackTrace.hi view

binary file changed (absent → 1382 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Types.bcrr view

binary file changed (absent → 93155 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Types.cr view

binary file changed (absent → 69167 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Types.hi view

binary file changed (absent → 33003 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Weak.bcrr view

binary file changed (absent → 33559 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Weak.cr view

binary file changed (absent → 27246 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/Weak.hi view

binary file changed (absent → 12839 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/WeakPtr.bcrr view

binary file changed (absent → 15412 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/WeakPtr.cr view

binary file changed (absent → 13919 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/UHC/WeakPtr.hi view

binary file changed (absent → 7427 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Unsafe/Coerce.bcrr view

binary file changed (absent → 153 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Unsafe/Coerce.cr view

binary file changed (absent → 140 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/Unsafe/Coerce.hi view

binary file changed (absent → 855 bytes)

+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/include/CTypes.h view
@@ -0,0 +1,231 @@+{- --------------------------------------------------------------------------+// Dirty CPP hackery for CTypes/CTypesISO+//+// (c) The FFI task force, 2000+// --------------------------------------------------------------------------+-}++#ifndef CTYPES__H+#define CTYPES__H++#include "Typeable.h"++{-+// As long as there is no automatic derivation of classes for newtypes we resort+// to extremely dirty cpp-hackery.   :-P   Some care has to be taken when the+// macros below are modified, otherwise the layout rule will bite you.+-}++--  // A hacked version for GHC follows the Haskell 98 version...+#ifndef __GLASGOW_HASKELL__++#define NEWTYPE_TYPE_NODERIVING(T,B) \+newtype T = T B ; ++#define NEWTYPE_TYPE(T,B) \+newtype T = T B deriving (Eq, Ord) ; ++#define ARITHMETIC_TYPE_INSTANCES(T,C,S,B) \+INSTANCE_NUM(T) ; \+INSTANCE_REAL(T) ; \+INSTANCE_READ(T,B) ; \+INSTANCE_SHOW(T,B) ; \+INSTANCE_ENUM(T) ; \+INSTANCE_STORABLE(T) ; \+INSTANCE_TYPEABLE0(T,C,S) ;++#define INTEGRAL_TYPE_INSTANCES(T,C,S,B) \+INSTANCE_BOUNDED(T) ; \+INSTANCE_INTEGRAL(T) ; \+INSTANCE_BITS(T)++#define ARITHMETIC_TYPE(T,C,S,B) \+NEWTYPE_TYPE(T,B) ; \+ARITHMETIC_TYPE_INSTANCES(T,C,S,B) ;++#define INTEGRAL_TYPE(T,C,S,B) \+ARITHMETIC_TYPE(T,C,S,B) ; \+INTEGRAL_TYPE_INSTANCES(T,C,S,B)++#define FLOATING_TYPE(T,C,S,B) \+ARITHMETIC_TYPE(T,C,S,B) ; \+INSTANCE_FRACTIONAL(T) ; \+INSTANCE_FLOATING(T) ; \+INSTANCE_REALFRAC(T) ; \+INSTANCE_REALFLOAT(T)++#ifndef __GLASGOW_HASKELL__+#define fakeMap map+#endif++#define INSTANCE_READ(T,B) \+instance Read T where { \+   readsPrec p s = fakeMap (\(x, t) -> (T x, t)) (readsPrec p s) }++#define INSTANCE_SHOW(T,B) \+instance Show T where { \+   showsPrec p (T x) = showsPrec p x }++#define INSTANCE_NUM(T) \+instance Num T where { \+   (T i) + (T j) = T (i + j) ; \+   (T i) - (T j) = T (i - j) ; \+   (T i) * (T j) = T (i * j) ; \+   negate  (T i) = T (negate i) ; \+   abs     (T i) = T (abs    i) ; \+   signum  (T i) = T (signum i) ; \+   fromInteger x = T (fromInteger x) }++#define INSTANCE_EQ(T) \+instance Eq T where { \+   (T x1) == (T x2) = x1 == x2 }++#define INSTANCE_ORD(T) \+instance Ord T where { \+   (T x1) `compare` (T x2) = x1 `compare` x2 }++#define INSTANCE_BOUNDED(T) \+instance Bounded T where { \+   minBound = T minBound ; \+   maxBound = T maxBound }++#define INSTANCE_ENUM(T) \+instance Enum T where { \+   succ           (T i)             = T (succ i) ; \+   pred           (T i)             = T (pred i) ; \+   toEnum               x           = T (toEnum x) ; \+   fromEnum       (T i)             = fromEnum i ; \+   enumFrom       (T i)             = fakeMap T (enumFrom i) ; \+   enumFromThen   (T i) (T j)       = fakeMap T (enumFromThen i j) ; \+   enumFromTo     (T i) (T j)       = fakeMap T (enumFromTo i j) ; \+   enumFromThenTo (T i) (T j) (T k) = fakeMap T (enumFromThenTo i j k) }++#define INSTANCE_REAL(T) \+instance Real T where { \+   toRational (T i) = toRational i }++#define INSTANCE_INTEGRAL(T) \+instance Integral T where { \+   (T i) `quot`    (T j) = T (i `quot` j) ; \+   (T i) `rem`     (T j) = T (i `rem`  j) ; \+   (T i) `div`     (T j) = T (i `div`  j) ; \+   (T i) `mod`     (T j) = T (i `mod`  j) ; \+   (T i) `quotRem` (T j) = let (q,r) = i `quotRem` j in (T q, T r) ; \+   (T i) `divMod`  (T j) = let (d,m) = i `divMod`  j in (T d, T m) ; \+   toInteger (T i)       = toInteger i }++#define INSTANCE_BITS(T) \+instance Bits T where { \+  (T x) .&.     (T y)   = T (x .&.   y) ; \+  (T x) .|.     (T y)   = T (x .|.   y) ; \+  (T x) `xor`   (T y)   = T (x `xor` y) ; \+  complement    (T x)   = T (complement x) ; \+  shift         (T x) n = T (shift x n) ; \+  rotate        (T x) n = T (rotate x n) ; \+  bit                 n = T (bit n) ; \+  setBit        (T x) n = T (setBit x n) ; \+  clearBit      (T x) n = T (clearBit x n) ; \+  complementBit (T x) n = T (complementBit x n) ; \+  testBit       (T x) n = testBit x n ; \+  bitSize       (T x)   = bitSize x ; \+  isSigned      (T x)   = isSigned x }++#define INSTANCE_FRACTIONAL(T) \+instance Fractional T where { \+   (T x) / (T y)  = T (x / y) ; \+   recip   (T x)  = T (recip x) ; \+   fromRational r = T (fromRational r) }++#define INSTANCE_FLOATING(T) \+instance Floating T where { \+   pi                    = pi ; \+   exp   (T x)           = T (exp   x) ; \+   log   (T x)           = T (log   x) ; \+   sqrt  (T x)           = T (sqrt  x) ; \+   (T x) **        (T y) = T (x ** y) ; \+   (T x) `logBase` (T y) = T (x `logBase` y) ; \+   sin   (T x)           = T (sin   x) ; \+   cos   (T x)           = T (cos   x) ; \+   tan   (T x)           = T (tan   x) ; \+   asin  (T x)           = T (asin  x) ; \+   acos  (T x)           = T (acos  x) ; \+   atan  (T x)           = T (atan  x) ; \+   sinh  (T x)           = T (sinh  x) ; \+   cosh  (T x)           = T (cosh  x) ; \+   tanh  (T x)           = T (tanh  x) ; \+   asinh (T x)           = T (asinh x) ; \+   acosh (T x)           = T (acosh x) ; \+   atanh (T x)           = T (atanh x) }++#define INSTANCE_REALFRAC(T) \+instance RealFrac T where { \+   properFraction (T x) = let (m,y) = properFraction x in (m, T y) ; \+   truncate (T x) = truncate x ; \+   round    (T x) = round x ; \+   ceiling  (T x) = ceiling x ; \+   floor    (T x) = floor x }++#define INSTANCE_REALFLOAT(T) \+instance RealFloat T where { \+   floatRadix     (T x) = floatRadix x ; \+   floatDigits    (T x) = floatDigits x ; \+   floatRange     (T x) = floatRange x ; \+   decodeFloat    (T x) = decodeFloat x ; \+   encodeFloat m n      = T (encodeFloat m n) ; \+   exponent       (T x) = exponent x ; \+   significand    (T x) = T (significand  x) ; \+   scaleFloat n   (T x) = T (scaleFloat n x) ; \+   isNaN          (T x) = isNaN x ; \+   isInfinite     (T x) = isInfinite x ; \+   isDenormalized (T x) = isDenormalized x ; \+   isNegativeZero (T x) = isNegativeZero x ; \+   isIEEE         (T x) = isIEEE x ; \+   (T x) `atan2`  (T y) = T (x `atan2` y) }++#define INSTANCE_STORABLE(T) \+instance Storable T where { \+   sizeOf    (T x)       = sizeOf x ; \+   alignment (T x)       = alignment x ; \+   peekElemOff a i       = liftM T (peekElemOff (castPtr a) i) ; \+   pokeElemOff a i (T x) = pokeElemOff (castPtr a) i x }++#else /* __GLASGOW_HASKELL__ */++--  // GHC can derive any class for a newtype, so we make use of that here...++#define ARITHMETIC_CLASSES  Eq,Ord,Num,Enum,Storable,Real+#define INTEGRAL_CLASSES Bounded,Integral,Bits+#define FLOATING_CLASSES Fractional,Floating,RealFrac,RealFloat++#define ARITHMETIC_TYPE(T,C,S,B) \+newtype T = T B deriving (ARITHMETIC_CLASSES); \+INSTANCE_READ(T,B); \+INSTANCE_SHOW(T,B); \+INSTANCE_TYPEABLE0(T,C,S) ;++#define INTEGRAL_TYPE(T,C,S,B) \+newtype T = T B deriving (ARITHMETIC_CLASSES, INTEGRAL_CLASSES); \+INSTANCE_READ(T,B); \+INSTANCE_SHOW(T,B); \+INSTANCE_TYPEABLE0(T,C,S) ;++#define FLOATING_TYPE(T,C,S,B) \+newtype T = T B deriving (ARITHMETIC_CLASSES, FLOATING_CLASSES); \+INSTANCE_READ(T,B); \+INSTANCE_SHOW(T,B); \+INSTANCE_TYPEABLE0(T,C,S) ;++#define INSTANCE_READ(T,B) \+instance Read T where { \+   readsPrec            = unsafeCoerce# (readsPrec :: Int -> ReadS B); \+   readList             = unsafeCoerce# (readList  :: ReadS [B]); }++#define INSTANCE_SHOW(T,B) \+instance Show T where { \+   showsPrec            = unsafeCoerce# (showsPrec :: Int -> B -> ShowS); \+   show                 = unsafeCoerce# (show :: B -> String); \+   showList             = unsafeCoerce# (showList :: [B] -> ShowS); }++#endif /* __GLASGOW_HASKELL__ */++#endif
+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/include/HsBase.h view
@@ -0,0 +1,757 @@+/* -----------------------------------------------------------------------------+ *+ * (c) The University of Glasgow 2001-2004+ *+ * Definitions for package `base' which are visible in Haskell land.+ *+ * Adapted for use in EHC+ *+ * ---------------------------------------------------------------------------*/++#ifndef __HSBASE_H__+#define __HSBASE_H__++#include "HsBaseConfig.h"+#ifdef __UHC_BUILDS_O__+#include "rts.h"+#endif++/* ultra-evil... */+#undef PACKAGE_BUGREPORT+#undef PACKAGE_NAME+#undef PACKAGE_STRING+#undef PACKAGE_TARNAME+#undef PACKAGE_VERSION++/* Needed to get the macro version of errno on some OSs (eg. Solaris).+   We must do this, because these libs are only compiled once, but+   must work in both single-threaded and multi-threaded programs. */+#define _REENTRANT 1++#ifndef __UHC__+#include "HsFFI.h"+#endif /* !__UHC__ */++#include <stdio.h>+#include <stdlib.h>+#include <math.h>++#if HAVE_SYS_TYPES_H+#include <sys/types.h>+#endif+#if HAVE_UNISTD_H+#include <unistd.h>+#endif+#if HAVE_SYS_STAT_H+#include <sys/stat.h>+#endif+#if HAVE_FCNTL_H+# include <fcntl.h>+#endif+#if HAVE_TERMIOS_H+#include <termios.h>+#endif+#if HAVE_SIGNAL_H+#include <signal.h>+/* Ultra-ugly: OpenBSD uses broken macros for sigemptyset and sigfillset (missing casts) */+#if __OpenBSD__+#undef sigemptyset+#undef sigfillset+#endif+#endif+#if HAVE_ERRNO_H+#include <errno.h>+#endif+#if HAVE_STRING_H+#include <string.h>+#endif+#if HAVE_DIRENT_H+#include <dirent.h>+#endif+#if HAVE_UTIME_H+#include <utime.h>+#endif+#if HAVE_SYS_UTSNAME_H+#include <sys/utsname.h>+#endif+#if HAVE_GETTIMEOFDAY+#  if HAVE_SYS_TIME_H+#   include <sys/time.h>+#  endif+#elif HAVE_GETCLOCK+# if HAVE_SYS_TIMERS_H+#  define POSIX_4D9 1+#  include <sys/timers.h>+# endif+#endif+#if HAVE_TIME_H+#include <time.h>+#endif+#if HAVE_SYS_TIMEB_H+#include <sys/timeb.h>+#endif+#if HAVE_WINDOWS_H+#include <windows.h>+#endif+#if HAVE_SYS_TIMES_H+#include <sys/times.h>+#endif+#if HAVE_WINSOCK_H && defined(__MINGW32__)+#include <winsock.h>+#endif+#if HAVE_LIMITS_H+#include <limits.h>+#endif+#if HAVE_WCTYPE_H+#include <wctype.h>+#endif+#if HAVE_INTTYPES_H+# include <inttypes.h>+#elif HAVE_STDINT_H+# include <stdint.h>+#endif++#if !defined(__MINGW32__) && !defined(irix_HOST_OS)+# if HAVE_SYS_RESOURCE_H+#  include <sys/resource.h>+# endif+#endif++#if !HAVE_GETRUSAGE && HAVE_SYS_SYSCALL_H+# include <sys/syscall.h>+# if defined(SYS_GETRUSAGE)	/* hpux_HOST_OS */+#  define getrusage(a, b)  syscall(SYS_GETRUSAGE, a, b)+#  define HAVE_GETRUSAGE 1+# endif+#endif++/* For System */+#if HAVE_SYS_WAIT_H+#include <sys/wait.h>+#endif+#if HAVE_VFORK_H+#include <vfork.h>+#endif++#ifndef __UHC__+#include "dirUtils.h"+#endif+#ifndef __UHC__+#include "WCsubst.h"+#endif /* !__UHC__ */++#if defined(__MINGW32__)+/* in Win32Utils.c */+extern void maperrno (void);+extern HsWord64 getUSecOfDay(void);+#endif++#if defined(__MINGW32__)+#include <io.h>+#include <fcntl.h>+#include <shlobj.h>+#include <share.h>+#endif++#if HAVE_SYS_SELECT_H+#include <sys/select.h>+#endif++/* in inputReady.c */+extern int fdReady(int fd, int write, int msecs, int isSock);++#ifndef __UHC__+/* in Signals.c */+extern HsInt nocldstop;+#endif /* !__UHC__ */++#ifndef __UHC__+/* -----------------------------------------------------------------------------+   64-bit operations, defined in longlong.c+   -------------------------------------------------------------------------- */++#ifdef SUPPORT_LONG_LONGS++HsBool hs_gtWord64 (HsWord64, HsWord64);+HsBool hs_geWord64 (HsWord64, HsWord64);+HsBool hs_eqWord64 (HsWord64, HsWord64);+HsBool hs_neWord64 (HsWord64, HsWord64);+HsBool hs_ltWord64 (HsWord64, HsWord64);+HsBool hs_leWord64 (HsWord64, HsWord64);++HsBool hs_gtInt64 (HsInt64, HsInt64);+HsBool hs_geInt64 (HsInt64, HsInt64);+HsBool hs_eqInt64 (HsInt64, HsInt64);+HsBool hs_neInt64 (HsInt64, HsInt64);+HsBool hs_ltInt64 (HsInt64, HsInt64);+HsBool hs_leInt64 (HsInt64, HsInt64);++HsWord64 hs_remWord64  (HsWord64, HsWord64);+HsWord64 hs_quotWord64 (HsWord64, HsWord64);++HsInt64 hs_remInt64    (HsInt64, HsInt64);+HsInt64 hs_quotInt64   (HsInt64, HsInt64);+HsInt64 hs_negateInt64 (HsInt64);+HsInt64 hs_plusInt64   (HsInt64, HsInt64);+HsInt64 hs_minusInt64  (HsInt64, HsInt64);+HsInt64 hs_timesInt64  (HsInt64, HsInt64);++HsWord64 hs_and64  (HsWord64, HsWord64);+HsWord64 hs_or64   (HsWord64, HsWord64);+HsWord64 hs_xor64  (HsWord64, HsWord64);+HsWord64 hs_not64  (HsWord64);++HsWord64 hs_uncheckedShiftL64   (HsWord64, HsInt);+HsWord64 hs_uncheckedShiftRL64  (HsWord64, HsInt);+HsInt64  hs_uncheckedIShiftL64  (HsInt64, HsInt);+HsInt64  hs_uncheckedIShiftRA64 (HsInt64, HsInt);+HsInt64  hs_uncheckedIShiftRL64 (HsInt64, HsInt);++HsInt64  hs_intToInt64    (HsInt);+HsInt    hs_int64ToInt    (HsInt64);+HsWord64 hs_int64ToWord64 (HsInt64);+HsWord64 hs_wordToWord64  (HsWord);+HsWord   hs_word64ToWord  (HsWord64);+HsInt64  hs_word64ToInt64 (HsWord64);++HsWord64 hs_integerToWord64 (HsInt sa, StgByteArray /* Really: mp_limb_t* */ da);+HsInt64  hs_integerToInt64 (HsInt sa, StgByteArray /* Really: mp_limb_t* */ da);++#endif /* SUPPORT_LONG_LONGS */+#endif /* !__UHC__ */++/* -----------------------------------------------------------------------------+   INLINE functions.++   These functions are given as inlines here for when compiling via C,+   but we also generate static versions into the cbits library for+   when compiling to native code.+   -------------------------------------------------------------------------- */++#ifndef INLINE+# if defined(_MSC_VER)+#  define INLINE extern __inline+# else+#  define INLINE static inline+# endif+#endif++INLINE int __hscore_get_errno(void) { return errno; }+INLINE void __hscore_set_errno(int e) { errno = e; }++#if !defined(_MSC_VER)+INLINE int __hscore_s_isreg(mode_t m)  { return S_ISREG(m);  }+INLINE int __hscore_s_isdir(mode_t m)  { return S_ISDIR(m);  }+INLINE int __hscore_s_isfifo(mode_t m) { return S_ISFIFO(m); }+INLINE int __hscore_s_isblk(mode_t m)  { return S_ISBLK(m);  }+INLINE int __hscore_s_ischr(mode_t m)  { return S_ISCHR(m);  }+#if !defined(mingw32_HOST_OS) && !defined(__MINGW32__)+INLINE int __hscore_s_issock(mode_t m) { return S_ISSOCK(m); }+#endif+#endif++#if ( !defined(_MSC_VER) && !defined(__MINGW32__) && !defined(_WIN32) ) || defined(__CYGWIN__)+INLINE int+__hscore_sigemptyset( sigset_t *set )+{ return sigemptyset(set); }++INLINE int+__hscore_sigfillset( sigset_t *set )+{ return sigfillset(set); }++INLINE int+__hscore_sigaddset( sigset_t * set, int s )+{ return sigaddset(set,s); }++INLINE int+__hscore_sigdelset( sigset_t * set, int s )+{ return sigdelset(set,s); }++INLINE int+__hscore_sigismember( sigset_t * set, int s )+{ return sigismember(set,s); }+#endif++INLINE void *+__hscore_memcpy_dst_off( char *dst, int dst_off, char *src, size_t sz )+{ return memcpy(dst+dst_off, src, sz); }++INLINE void *+__hscore_memcpy_src_off( char *dst, char *src, int src_off, size_t sz )+{ return memcpy(dst, src+src_off, sz); }++INLINE HsBool+__hscore_supportsTextMode()+{+#if defined(_MSC_VER) || defined(__MINGW32__) || defined(_WIN32)+  return HS_BOOL_FALSE;+#else+  return HS_BOOL_TRUE;+#endif+}++INLINE HsInt+__hscore_bufsiz()+{+  return BUFSIZ;+}++INLINE int+__hscore_seek_cur()+{+  return SEEK_CUR;+}++INLINE int+__hscore_o_binary()+{+#if defined(_MSC_VER)+  return O_BINARY;+#else+  return CONST_O_BINARY;+#endif+}++INLINE int+__hscore_o_rdonly()+{+#ifdef O_RDONLY+  return O_RDONLY;+#else+  return 0;+#endif+}++INLINE int+__hscore_o_wronly( void )+{+#ifdef O_WRONLY+  return O_WRONLY;+#else+  return 0;+#endif+}++INLINE int+__hscore_o_rdwr( void )+{+#ifdef O_RDWR+  return O_RDWR;+#else+  return 0;+#endif+}++INLINE int+__hscore_o_append( void )+{+#ifdef O_APPEND+  return O_APPEND;+#else+  return 0;+#endif+}++INLINE int+__hscore_o_creat( void )+{+#ifdef O_CREAT+  return O_CREAT;+#else+  return 0;+#endif+}++INLINE int+__hscore_o_excl( void )+{+#ifdef O_EXCL+  return O_EXCL;+#else+  return 0;+#endif+}++INLINE int+__hscore_o_trunc( void )+{+#ifdef O_TRUNC+  return O_TRUNC;+#else+  return 0;+#endif+}++INLINE int+__hscore_o_noctty( void )+{+#ifdef O_NOCTTY+  return O_NOCTTY;+#else+  return 0;+#endif+}++INLINE int+__hscore_o_nonblock( void )+{+#ifdef O_NONBLOCK+  return O_NONBLOCK;+#else+  return 0;+#endif+}++INLINE int+__hscore_seek_set( void )+{+  return SEEK_SET;+}++INLINE int+__hscore_seek_end( void )+{+  return SEEK_END;+}++INLINE int+__hscore_ftruncate( int fd, off_t where )+{+#if defined(HAVE_FTRUNCATE)+  return ftruncate(fd,where);+#elif defined(HAVE__CHSIZE)+  return _chsize(fd,where);+#else+// ToDo: we should use _chsize_s() on Windows which allows a 64-bit+// offset, but it doesn't seem to be available from mingw at this time +// --SDM (01/2008)+#error at least ftruncate or _chsize functions are required to build+#endif+}++#ifndef __UHC__+INLINE int+__hscore_setmode( int fd, HsBool toBin )+{+#if defined(_MSC_VER) || defined(__MINGW32__) || defined(_WIN32)+  return setmode(fd,(toBin == HS_BOOL_TRUE) ? _O_BINARY : _O_TEXT);+#else+  return 0;+#endif+}+#endif /* !__UHC__ */++#if __GLASGOW_HASKELL__++INLINE int+__hscore_PrelHandle_write( int fd, void *ptr, HsInt off, int sz )+{+  return write(fd,(char *)ptr + off, sz);+}++INLINE int+__hscore_PrelHandle_read( int fd, void *ptr, HsInt off, int sz )+{+  return read(fd,(char *)ptr + off, sz);++}++#if defined(_MSC_VER) || defined(__MINGW32__) || defined(_WIN32)+INLINE int+__hscore_PrelHandle_send( int fd, void *ptr, HsInt off, int sz )+{+    return send(fd,(char *)ptr + off, sz, 0);+}++INLINE int+__hscore_PrelHandle_recv( int fd, void *ptr, HsInt off, int sz )+{+    return recv(fd,(char *)ptr + off, sz, 0);+}+#endif++#endif /* __GLASGOW_HASKELL__ */++INLINE int+__hscore_mkdir( char *pathName, int mode )+{+#if ( defined(_MSC_VER) || defined(__MINGW32__) || defined(_WIN32) ) && !defined(__CYGWIN__)+  return mkdir(pathName);+#else+  return mkdir(pathName,mode);+#endif+}++INLINE int+__hscore_lstat( const char *fname, struct stat *st )+{+#if HAVE_LSTAT+  return lstat(fname, st);+#else+  return stat(fname, st);+#endif+}++INLINE char *+__hscore_d_name( struct dirent* d )+{+  return (d->d_name);+}++INLINE int+__hscore_end_of_dir( void )+{+  return READDIR_ERRNO_EOF;+}++INLINE void+__hscore_free_dirent(struct dirent *dEnt)+{+#if HAVE_READDIR_R+  free(dEnt);+#endif+}++#if defined(__MINGW32__)+// We want the versions of stat/fstat/lseek that use 64-bit offsets,+// and you have to ask for those explicitly.  Unfortunately there+// doesn't seem to be a 64-bit version of truncate/ftruncate, so while+// hFileSize and hSeek will work with large files, hSetFileSize will not.+#define stat(file,buf)       _stati64(file,buf)+#define fstat(fd,buf)        _fstati64(fd,buf)+typedef struct _stati64 struct_stat;+typedef off64_t stsize_t;+#else+typedef struct stat struct_stat;+typedef off_t stsize_t;+#endif++INLINE HsInt+__hscore_sizeof_stat( void )+{+  return sizeof(struct_stat);+}++INLINE time_t __hscore_st_mtime ( struct_stat* st ) { return st->st_mtime; }+INLINE stsize_t __hscore_st_size  ( struct_stat* st ) { return st->st_size; }+#if !defined(_MSC_VER)+INLINE mode_t __hscore_st_mode  ( struct_stat* st ) { return st->st_mode; }+INLINE dev_t  __hscore_st_dev  ( struct_stat* st ) { return st->st_dev; }+INLINE ino_t  __hscore_st_ino  ( struct_stat* st ) { return st->st_ino; }+#endif++#if HAVE_TERMIOS_H+INLINE tcflag_t __hscore_lflag( struct termios* ts ) { return ts->c_lflag; }++INLINE void+__hscore_poke_lflag( struct termios* ts, tcflag_t t ) { ts->c_lflag = t; }++INLINE unsigned char*+__hscore_ptr_c_cc( struct termios* ts )+{ return (unsigned char*) &ts->c_cc; }++INLINE HsInt+__hscore_sizeof_termios( void )+{+#ifndef __MINGW32__+  return sizeof(struct termios);+#else+  return 0;+#endif+}+#endif++//sizeof_sigset_t is also use on windows systems which define tcflat_t. Why exclude it?+// #if !defined(_MSC_VER) && !defined(__MINGW32__) && !defined(_WIN32)+INLINE HsInt+__hscore_sizeof_sigset_t( void )+{+  return sizeof(sigset_t);+}+// #endif++INLINE int+__hscore_echo( void )+{+#ifdef ECHO+  return ECHO;+#else+  return 0;+#endif++}++INLINE int+__hscore_tcsanow( void )+{+#ifdef TCSANOW+  return TCSANOW;+#else+  return 0;+#endif++}++INLINE int+__hscore_icanon( void )+{+#ifdef ICANON+  return ICANON;+#else+  return 0;+#endif+}++INLINE int __hscore_vmin( void )+{+#ifdef VMIN+  return VMIN;+#else+  return 0;+#endif+}++INLINE int __hscore_vtime( void )+{+#ifdef VTIME+  return VTIME;+#else+  return 0;+#endif+}++INLINE int __hscore_sigttou( void )+{+#ifdef SIGTTOU+  return SIGTTOU;+#else+  return 0;+#endif+}++INLINE int __hscore_sig_block( void )+{+#ifdef SIG_BLOCK+  return SIG_BLOCK;+#else+  return 0;+#endif+}++INLINE int __hscore_sig_setmask( void )+{+#ifdef SIG_SETMASK+  return SIG_SETMASK;+#else+  return 0;+#endif+}++INLINE int+__hscore_f_getfl( void )+{+#ifdef F_GETFL+  return F_GETFL;+#else+  return 0;+#endif+}++INLINE int+__hscore_f_setfl( void )+{+#ifdef F_SETFL+  return F_SETFL;+#else+  return 0;+#endif+}++// defined in rts/RtsStartup.c.+extern void* __hscore_get_saved_termios(int fd);+extern void __hscore_set_saved_termios(int fd, void* ts);++INLINE int __hscore_hs_fileno (FILE *f) { return fileno (f); }++INLINE int __hscore_open(char *file, int how, mode_t mode) {+#ifdef __MINGW32__+	if ((how & O_WRONLY) || (how & O_RDWR) || (how & O_APPEND))+	  return _sopen(file,how,_SH_DENYRW,mode);+	else+	  return _sopen(file,how,_SH_DENYWR,mode);+#else+	return open(file,how,mode);+#endif+}++// These are wrapped because on some OSs (eg. Linux) they are+// macros which redirect to the 64-bit-off_t versions when large file+// support is enabled.+//+#if defined(__MINGW32__)+INLINE off64_t __hscore_lseek(int fd, off64_t off, int whence) {+	return (_lseeki64(fd,off,whence));+}+#else+INLINE off_t __hscore_lseek(int fd, off_t off, int whence) {+	return (lseek(fd,off,whence));+}+#endif++INLINE HsInt __hscore_stat(char *file, struct_stat *buf) {+	return (stat(file,buf));+}++INLINE HsInt __hscore_fstat(int fd, struct_stat *buf) {+	return (fstat(fd,buf));+}++// select-related stuff++#if !defined(__MINGW32__)+INLINE int  hsFD_SETSIZE(void) { return FD_SETSIZE; }+INLINE int  hsFD_ISSET(int fd, fd_set *fds) { return FD_ISSET(fd, fds); }+INLINE void hsFD_SET(int fd, fd_set *fds) { FD_SET(fd, fds); }+INLINE HsInt sizeof_fd_set(void) { return sizeof(fd_set); }+extern void hsFD_ZERO(fd_set *fds);+#endif++// gettimeofday()-related++#if !defined(__MINGW32__)++INLINE HsInt sizeofTimeVal(void) { return sizeof(struct timeval); }++INLINE HsWord64 getUSecOfDay(void)+{+    struct timeval tv;+    gettimeofday(&tv, (struct timezone *) NULL);+    // Don't forget to cast *before* doing the arithmetic, otherwise+    // the arithmetic happens at the type of tv_sec, which is probably+    // only 'int'.+    return ((HsWord64)tv.tv_sec * 1000000 + (HsWord64)tv.tv_usec);+}++INLINE void setTimevalTicks(struct timeval *p, HsWord64 usecs)+{+    p->tv_sec  = usecs / 1000000;+    p->tv_usec = usecs % 1000000;+}+#endif /* !defined(__MINGW32__) */++/* ToDo: write a feature test that doesn't assume 'environ' to+ *    be in scope at link-time. */+extern char** environ;+INLINE char **__hscore_environ() { return environ; }++/* lossless conversions between pointers and integral types */+INLINE void *    __hscore_from_uintptr(uintptr_t n) { return (void *)n; }+INLINE void *    __hscore_from_intptr (intptr_t n)  { return (void *)n; }+INLINE uintptr_t __hscore_to_uintptr  (void *p)     { return (uintptr_t)p; }+INLINE intptr_t  __hscore_to_intptr   (void *p)     { return (intptr_t)p; }++void errorBelch2(const char*s, char *t);+void debugBelch2(const char*s, char *t);++#endif /* __HSBASE_H__ */+
+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/include/HsBaseConfig.h view
@@ -0,0 +1,944 @@+/* ehclib/uhcbase/include/HsBaseConfig.h.  Generated from HsBaseConfig.h.in by configure.  */+#ifndef HSBASECONFIG_H+#define HSBASECONFIG_H++#include "MachDeps.h"++/********************************************************************/+/**** Sizes                                                      ****/+/********************************************************************/++#if SIZEOF_INTPTR_T == 8+#define HTYPE_INTPTR_T 			Int64+#define HTYPE_UINTPTR_T 		Word64+#else+#define HTYPE_INTPTR_T 			Int32+#define HTYPE_UINTPTR_T 		Word32+#endif++/* also here: typedef int sig_atomic_t+ */+#if SIZEOF_INT == 8+#define HTYPE_INT 				Int64+#define HTYPE_UNSIGNED_INT 		Word64+#define HTYPE_SIG_ATOMIC_T 		Word64+#else+#define HTYPE_INT 				Int32+#define HTYPE_UNSIGNED_INT 		Word32+#define HTYPE_SIG_ATOMIC_T 		Word32+#endif++#if SIZEOF_LONG == 8+#define HTYPE_LONG 				Int64+#define HTYPE_UNSIGNED_LONG 	Word64+#else+#define HTYPE_LONG 				Int32+#define HTYPE_UNSIGNED_LONG 	Word32+#endif++#if SIZEOF_VOID_P == 8+#define HTYPE_PTRDIFF_T 		Int64+#else+#define HTYPE_PTRDIFF_T 		Int32+#endif++#if SIZEOF_CLOCK_T == 8+#define HTYPE_CLOCK_T 			Word64+#else+#define HTYPE_CLOCK_T 			Word32+#endif++#if SIZEOF_TIME_T == 8+#define HTYPE_TIME_T 			Word64+#else+#define HTYPE_TIME_T 			Word32+#endif++#if SIZEOF_USECONDS_T == 8+#define HTYPE_USECONDS_T 		Word64+#else+#define HTYPE_USECONDS_T 		Word32+#endif++#if SIZEOF_SIZE_T == 8+#define HTYPE_SIZE_T 			Word64+#else+#define HTYPE_SIZE_T 			Word32+#endif++#if SIZEOF_WCHAR_T == 1+#define HTYPE_WCHAR_T 			Word8+#elif SIZEOF_WCHAR_T == 2+#define HTYPE_WCHAR_T 			Word16+#else+#define HTYPE_WCHAR_T 			Word32+#endif++++/* Define to Haskell type for char */+#define HTYPE_CHAR Int8++/* Define to Haskell type for double */+#define HTYPE_DOUBLE Double++/* Define to Haskell type for float */+#define HTYPE_FLOAT Float++/* Define to Haskell type for intmax_t */+#define HTYPE_INTMAX_T Int64++/* Define to Haskell type for long long */+#define HTYPE_LONG_LONG Int64++/* Define to Haskell type for short */+#define HTYPE_SHORT Int16++/* Define to Haskell type for signed char */+#define HTYPE_SIGNED_CHAR Int8++/* Define to Haskell type for uintmax_t */+#define HTYPE_UINTMAX_T Word64++/* Define to Haskell type for unsigned char */+#define HTYPE_UNSIGNED_CHAR Word8++/* Define to Haskell type for unsigned long long */+#define HTYPE_UNSIGNED_LONG_LONG Word64++/* Define to Haskell type for unsigned short */+#define HTYPE_UNSIGNED_SHORT Word16++++/********************************************************************/+/**** System tupes                                               ****/+/********************************************************************/++#ifdef SIZEOF_DEV_T+# if SIZEOF_DEV_T == 8+#  define HTYPE_DEV_T 			Word64+# elif SIZEOF_DEV_T == 4+#  define HTYPE_DEV_T 			Word32+# elif SIZEOF_DEV_T == 2+#  define HTYPE_DEV_T 			Word16+# else+# endif+#endif++#ifdef SIZEOF_INO_T+# if SIZEOF_INO_T == 8+#  define HTYPE_INO_T 			Word64+# elif SIZEOF_INO_T == 4+#  define HTYPE_INO_T 			Word32+# elif SIZEOF_INO_T == 2+#  define HTYPE_INO_T 			Word16+# else+# endif+#endif++#ifdef SIZEOF_MODE_T+# if SIZEOF_MODE_T == 8+#  define HTYPE_MODE_T 			Word64+# elif SIZEOF_MODE_T == 4+#  define HTYPE_MODE_T 			Word32+# elif SIZEOF_MODE_T == 2+#  define HTYPE_MODE_T 			Word16+# else+# endif+#endif++#ifdef SIZEOF_OFF_T+# if SIZEOF_OFF_T == 8+#  define HTYPE_OFF_T 			Word64+# elif SIZEOF_OFF_T == 4+#  define HTYPE_OFF_T 			Word32+# elif SIZEOF_OFF_T == 2+#  define HTYPE_OFF_T 			Word16+# else+# endif+#endif++#ifdef SIZEOF_PID_T+# if SIZEOF_PID_T == 8+#  define HTYPE_PID_T 			Word64+# elif SIZEOF_PID_T == 4+#  define HTYPE_PID_T 			Word32+# elif SIZEOF_PID_T == 2+#  define HTYPE_PID_T 			Word16+# else+# endif+#endif++#ifdef SIZEOF_SSIZE_T+# if SIZEOF_SSIZE_T == 8+#  define HTYPE_SSIZE_T 			Word64+# elif SIZEOF_SSIZE_T == 4+#  define HTYPE_SSIZE_T 			Word32+# elif SIZEOF_SSIZE_T == 2+#  define HTYPE_SSIZE_T 			Word16+# else+# endif+#endif++#ifdef SIZEOF_GID_T+# if SIZEOF_GID_T == 8+#  define HTYPE_GID_T 			Word64+# elif SIZEOF_GID_T == 4+#  define HTYPE_GID_T 			Word32+# elif SIZEOF_GID_T == 2+#  define HTYPE_GID_T 			Word16+# else+# endif+#endif++#ifdef SIZEOF_NLINK_T+# if SIZEOF_NLINK_T == 8+#  define HTYPE_NLINK_T 			Word64+# elif SIZEOF_NLINK_T == 4+#  define HTYPE_NLINK_T 			Word32+# elif SIZEOF_NLINK_T == 2+#  define HTYPE_NLINK_T 			Word16+# else+# endif+#endif++#ifdef SIZEOF_UID_T+# if SIZEOF_UID_T == 8+#  define HTYPE_UID_T 			Word64+# elif SIZEOF_UID_T == 4+#  define HTYPE_UID_T 			Word32+# elif SIZEOF_UID_T == 2+#  define HTYPE_UID_T 			Word16+# else+# endif+#endif++#ifdef SIZEOF_CC_T+# if SIZEOF_CC_T == 8+#  define HTYPE_CC_T 			Word64+# elif SIZEOF_CC_T == 4+#  define HTYPE_CC_T 			Word32+# elif SIZEOF_CC_T == 2+#  define HTYPE_CC_T 			Word16+# else+# endif+#endif++#ifdef SIZEOF_SPEED_T+# if SIZEOF_SPEED_T == 8+#  define HTYPE_SPEED_T 			Word64+# elif SIZEOF_SPEED_T == 4+#  define HTYPE_SPEED_T 			Word32+# elif SIZEOF_SPEED_T == 2+#  define HTYPE_SPEED_T 			Word16+# else+# endif+#endif++#ifdef SIZEOF_TCFLAG_T+# if SIZEOF_TCFLAG_T == 8+#  define HTYPE_TCFLAG_T 			Word64+# elif SIZEOF_TCFLAG_T == 4+#  define HTYPE_TCFLAG_T 			Word32+# elif SIZEOF_TCFLAG_T == 2+#  define HTYPE_TCFLAG_T 			Word16+# else+# endif+#endif++#ifdef SIZEOF_RLIM_T+# if SIZEOF_RLIM_T == 8+#  define HTYPE_RLIM_T 			Word64+# elif SIZEOF_RLIM_T == 4+#  define HTYPE_RLIM_T 			Word32+# elif SIZEOF_RLIM_T == 2+#  define HTYPE_RLIM_T 			Word16+# else+# endif+#endif++/********************************************************************/+/**** Presence of include files                                  ****/+/********************************************************************/++#define HAVE_DIRENT_H 1+#define HAVE_ERRNO_H 1+#define HAVE_FCNTL_H 1+#define HAVE_INTTYPES_H 1+#define HAVE_LIMITS_H 1+#define HAVE_SIGNAL_H 1+#define HAVE_STDINT_H 1+#define HAVE_STRING_H 1+#define HAVE_SYS_RESOURCE_H 1+#define HAVE_SYS_SELECT_H 1+#define HAVE_SYS_STAT_H 1+#define HAVE_SYS_SYSCALL_H 1+#define HAVE_SYS_TIME_H 1+#define HAVE_SYS_TIMEB_H 1+/* #undef HAVE_SYS_TIMERS_H */+#define HAVE_SYS_TIMES_H 1+#define HAVE_SYS_TYPES_H 1+#define HAVE_SYS_UTSNAME_H 1+#define HAVE_SYS_WAIT_H 1+#define HAVE_TERMIOS_H 1+#define HAVE_TIME_H 1+#define HAVE_UNISTD_H 1+#define HAVE_UTIME_H 1+/* #undef HAVE_VFORK_H */+#define HAVE_WCTYPE_H 1+/* #undef HAVE_WINDOWS_H */+/* #undef HAVE_WINSOCK_H */++/* #undef HAVE__CHSIZE */+#define HAVE_FTRUNCATE 1+/* #undef HAVE_GETCLOCK */+#define HAVE_GETRUSAGE 1+#define HAVE_GETTIMEOFDAY 1+#define HAVE_LSTAT 1+#define HAVE_READDIR_R 1++/********************************************************************/+/**** Runtime types                                              ****/+/********************************************************************/++#ifdef __UHC_BUILDS_O__++#if defined(__UHC_TARGET_BC__) || defined(__UHC_TARGET_C__)+// # define HsBool				Word+// # define HsInt				Word+// # define HsWord64			Word64+// # define HsWord32			Word32+// # define HsWord16			Word16+// # define HsWord8			Word8+// # ifdef __UHC_TARGET_BC__+// #  define HS_BOOL_FALSE		gb_False+// #  define HS_BOOL_TRUE		gb_True+// # else+// #  define HS_BOOL_FALSE		0+// #  define HS_BOOL_TRUE		1+// # endif+#endif /* __UHC_TARGET_BC__ */++#endif /* __UHC_BUILDS_O__ */++/********************************************************************/+/**** Read dir EOF error                                         ****/+/********************************************************************/++/* See remarks in GHC, libraries/base/aclocal.m4: MinGW platform returns non 0 value. We ignore that */+#define	READDIR_ERRNO_EOF	0++/********************************************************************/+/**** C errors                                                   ****/+/********************************************************************/++/* (1) Assume errno.h is already included */+/* (2) Error codes like EADV are not present on all platforms, so a dummy value is provided, this should be done for all codes */++/* The value of E2BIG. */+#if !defined(E2BIG)+#define E2BIG 10000+#endif+#define CONST_E2BIG E2BIG++/* The value of EACCES. */+#if !defined(EACCES)+#define EACCES 10000+#endif+#define CONST_EACCES EACCES++/* The value of EADDRINUSE. */+#if !defined(EADDRINUSE)+#define EADDRINUSE 10000+#endif+#define CONST_EADDRINUSE EADDRINUSE++/* The value of EADDRNOTAVAIL. */+#define CONST_EADDRNOTAVAIL EADDRNOTAVAIL++/* The value of EADV. */+#if !defined(EADV)+#define EADV 10000+#endif+#define CONST_EADV EADV++/* The value of EAFNOSUPPORT. */+#if !defined(EAFNOSUPPORT)+#define EAFNOSUPPORT 10000+#endif+#define CONST_EAFNOSUPPORT EAFNOSUPPORT++/* The value of EAGAIN. */+#if !defined(EAGAIN)+#define EAGAIN 10000+#endif+#define CONST_EAGAIN EAGAIN++/* The value of EALREADY. */+#if !defined(EALREADY)+#define EALREADY 10000+#endif+#define CONST_EALREADY EALREADY++/* The value of EBADF. */+#if !defined(EBADF)+#define EBADF 10000+#endif+#define CONST_EBADF EBADF++/* The value of EBADMSG. */+#if !defined(EBADMSG)+#define EBADMSG 10000+#endif+#define CONST_EBADMSG EBADMSG++/* The value of EBADRPC. */+#if !defined(EBADRPC)+#define EBADRPC 10000+#endif+#define CONST_EBADRPC EBADRPC++/* The value of EBUSY. */+#if !defined(EBUSY)+#define EBUSY 10000+#endif+#define CONST_EBUSY EBUSY++/* The value of ECHILD. */+#if !defined(ECHILD)+#define ECHILD 10000+#endif+#define CONST_ECHILD ECHILD++/* The value of ECOMM. */+#if !defined(ECOMM)+#define ECOMM 10000+#endif+#define CONST_ECOMM ECOMM++/* The value of ECONNABORTED. */+#if !defined(ECONNABORTED)+#define ECONNABORTED 10000+#endif+#define CONST_ECONNABORTED ECONNABORTED++/* The value of ECONNREFUSED. */+#if !defined(ECONNREFUSED)+#define ECONNREFUSED 10000+#endif+#define CONST_ECONNREFUSED ECONNREFUSED++/* The value of ECONNRESET. */+#if !defined(ECONNRESET)+#define ECONNRESET 10000+#endif+#define CONST_ECONNRESET ECONNRESET++/* The value of EDEADLK. */+#if !defined(EDEADLK)+#define EDEADLK 10000+#endif+#define CONST_EDEADLK EDEADLK++/* The value of EDESTADDRREQ. */+#if !defined(EDESTADDRREQ)+#define EDESTADDRREQ 10000+#endif+#define CONST_EDESTADDRREQ EDESTADDRREQ++/* The value of EDIRTY. */+#if !defined(EDIRTY)+#define EDIRTY 10000+#endif+#define CONST_EDIRTY EDIRTY++/* The value of EDOM. */+#if !defined(EDOM)+#define EDOM 10000+#endif+#define CONST_EDOM EDOM++/* The value of EDQUOT. */+#if !defined(EDQUOT)+#define EDQUOT 10000+#endif+#define CONST_EDQUOT EDQUOT++/* The value of EEXIST. */+#if !defined(EEXIST)+#define EEXIST 10000+#endif+#define CONST_EEXIST EEXIST++/* The value of EFAULT. */+#if !defined(EFAULT)+#define EFAULT 10000+#endif+#define CONST_EFAULT EFAULT++/* The value of EFBIG. */+#if !defined(EFBIG)+#define EFBIG 10000+#endif+#define CONST_EFBIG EFBIG++/* The value of EFTYPE. */+#if !defined(EFTYPE)+#define EFTYPE 10000+#endif+#define CONST_EFTYPE EFTYPE++/* The value of EHOSTDOWN. */+#if !defined(EHOSTDOWN)+#define EHOSTDOWN 10000+#endif+#define CONST_EHOSTDOWN EHOSTDOWN++/* The value of EHOSTUNREACH. */+#if !defined(EHOSTUNREACH)+#define EHOSTUNREACH 10000+#endif+#define CONST_EHOSTUNREACH EHOSTUNREACH++/* The value of EIDRM. */+#if !defined(EIDRM)+#define EIDRM 10000+#endif+#define CONST_EIDRM EIDRM++/* The value of EILSEQ. */+#if !defined(EILSEQ)+#define EILSEQ 10000+#endif+#define CONST_EILSEQ EILSEQ++/* The value of EINPROGRESS. */+#if !defined(EINPROGRESS)+#define EINPROGRESS 10000+#endif+#define CONST_EINPROGRESS EINPROGRESS++/* The value of EINTR. */+#if !defined(EINTR)+#define EINTR 10000+#endif+#define CONST_EINTR EINTR++/* The value of EINVAL. */+#if !defined(EINVAL)+#define EINVAL 10000+#endif+#define CONST_EINVAL EINVAL++/* The value of EIO. */+#if !defined(EIO)+#define EIO 10000+#endif+#define CONST_EIO EIO++/* The value of EISCONN. */+#if !defined(EISCONN)+#define EISCONN 10000+#endif+#define CONST_EISCONN EISCONN++/* The value of EISDIR. */+#if !defined(EISDIR)+#define EISDIR 10000+#endif+#define CONST_EISDIR EISDIR++/* The value of ELOOP. */+#if !defined(ELOOP)+#define ELOOP 10000+#endif+#define CONST_ELOOP ELOOP++/* The value of EMFILE. */+#if !defined(EMFILE)+#define EMFILE 10000+#endif+#define CONST_EMFILE EMFILE++/* The value of EMLINK. */+#if !defined(EMLINK)+#define EMLINK 10000+#endif+#define CONST_EMLINK EMLINK++/* The value of EMSGSIZE. */+#if !defined(EMSGSIZE)+#define EMSGSIZE 10000+#endif+#define CONST_EMSGSIZE EMSGSIZE++/* The value of EMULTIHOP. */+#if !defined(EMULTIHOP)+#define EMULTIHOP 10000+#endif+#define CONST_EMULTIHOP EMULTIHOP++/* The value of ENAMETOOLONG. */+#if !defined(ENAMETOOLONG)+#define ENAMETOOLONG 10000+#endif+#define CONST_ENAMETOOLONG ENAMETOOLONG++/* The value of ENETDOWN. */+#if !defined(ENETDOWN)+#define ENETDOWN 10000+#endif+#define CONST_ENETDOWN ENETDOWN++/* The value of ENETRESET. */+#if !defined(ENETRESET)+#define ENETRESET 10000+#endif+#define CONST_ENETRESET ENETRESET++/* The value of ENETUNREACH. */+#if !defined(ENETUNREACH)+#define ENETUNREACH 10000+#endif+#define CONST_ENETUNREACH ENETUNREACH++/* The value of ENFILE. */+#if !defined(ENFILE)+#define ENFILE 10000+#endif+#define CONST_ENFILE ENFILE++/* The value of ENOBUFS. */+#if !defined(ENOBUFS)+#define ENOBUFS 10000+#endif+#define CONST_ENOBUFS ENOBUFS++/* The value of ENOCIGAR. */+#if !defined(ENOCIGAR)+#define ENOCIGAR 10000+#endif+#define CONST_ENOCIGAR ENOCIGAR++/* The value of ENODATA. */+#if !defined(ENODATA)+#define ENODATA 10000+#endif+#define CONST_ENODATA ENODATA++/* The value of ENODEV. */+#if !defined(ENODEV)+#define ENODEV 10000+#endif+#define CONST_ENODEV ENODEV++/* The value of ENOENT. */+#if !defined(ENOENT)+#define ENOENT 10000+#endif+#define CONST_ENOENT ENOENT++/* The value of ENOEXEC. */+#if !defined(ENOEXEC)+#define ENOEXEC 10000+#endif+#define CONST_ENOEXEC ENOEXEC++/* The value of ENOLCK. */+#if !defined(ENOLCK)+#define ENOLCK 10000+#endif+#define CONST_ENOLCK ENOLCK++/* The value of ENOLINK. */+#if !defined(ENOLINK)+#define ENOLINK 10000+#endif+#define CONST_ENOLINK ENOLINK++/* The value of ENOMEM. */+#if !defined(ENOMEM)+#define ENOMEM 10000+#endif+#define CONST_ENOMEM ENOMEM++/* The value of ENOMSG. */+#if !defined(ENOMSG)+#define ENOMSG 10000+#endif+#define CONST_ENOMSG ENOMSG++/* The value of ENONET. */+#if !defined(ENONET)+#define ENONET 10000+#endif+#define CONST_ENONET ENONET++/* The value of ENOPROTOOPT. */+#if !defined(ENOPROTOOPT)+#define ENOPROTOOPT 10000+#endif+#define CONST_ENOPROTOOPT ENOPROTOOPT++/* The value of ENOSPC. */+#if !defined(ENOSPC)+#define ENOSPC 10000+#endif+#define CONST_ENOSPC ENOSPC++/* The value of ENOSR. */+#if !defined(ENOSR)+#define ENOSR 10000+#endif+#define CONST_ENOSR ENOSR++/* The value of ENOSTR. */+#if !defined(ENOSTR)+#define ENOSTR 10000+#endif+#define CONST_ENOSTR ENOSTR++/* The value of ENOSYS. */+#if !defined(ENOSYS)+#define ENOSYS 10000+#endif+#define CONST_ENOSYS ENOSYS++/* The value of ENOTBLK. */+#if !defined(ENOTBLK)+#define ENOTBLK 10000+#endif+#define CONST_ENOTBLK ENOTBLK++/* The value of ENOTCONN. */+#if !defined(ENOTCONN)+#define ENOTCONN 10000+#endif+#define CONST_ENOTCONN ENOTCONN++/* The value of ENOTDIR. */+#if !defined(ENOTDIR)+#define ENOTDIR 10000+#endif+#define CONST_ENOTDIR ENOTDIR++/* The value of ENOTEMPTY. */+#if !defined(ENOTEMPTY)+#define ENOTEMPTY 10000+#endif+#define CONST_ENOTEMPTY ENOTEMPTY++/* The value of ENOTSOCK. */+#if !defined(ENOTSOCK)+#define ENOTSOCK 10000+#endif+#define CONST_ENOTSOCK ENOTSOCK++/* The value of ENOTTY. */+#if !defined(ENOTTY)+#define ENOTTY 10000+#endif+#define CONST_ENOTTY ENOTTY++/* The value of ENXIO. */+#if !defined(ENXIO)+#define ENXIO 10000+#endif+#define CONST_ENXIO ENXIO++/* The value of EOPNOTSUPP. */+#if !defined(EOPNOTSUPP)+#define EOPNOTSUPP 10000+#endif+#define CONST_EOPNOTSUPP EOPNOTSUPP++/* The value of EPERM. */+#if !defined(EPERM)+#define EPERM 10000+#endif+#define CONST_EPERM EPERM++/* The value of EPFNOSUPPORT. */+#if !defined(EPFNOSUPPORT)+#define EPFNOSUPPORT 10000+#endif+#define CONST_EPFNOSUPPORT EPFNOSUPPORT++/* The value of EPIPE. */+#if !defined(EPIPE)+#define EPIPE 10000+#endif+#define CONST_EPIPE EPIPE++/* The value of EPROCLIM. */+#if !defined(EPROCLIM)+#define EPROCLIM 10000+#endif+#define CONST_EPROCLIM EPROCLIM++/* The value of EPROCUNAVAIL. */+#if !defined(EPROCUNAVAIL)+#define EPROCUNAVAIL 10000+#endif+#define CONST_EPROCUNAVAIL EPROCUNAVAIL++/* The value of EPROGMISMATCH. */+#if !defined(EPROGMISMATCH)+#define EPROGMISMATCH 10000+#endif+#define CONST_EPROGMISMATCH EPROGMISMATCH++/* The value of EPROGUNAVAIL. */+#if !defined(EPROGUNAVAIL)+#define EPROGUNAVAIL 10000+#endif+#define CONST_EPROGUNAVAIL EPROGUNAVAIL++/* The value of EPROTO. */+#if !defined(EPROTO)+#define EPROTO 10000+#endif+#define CONST_EPROTO EPROTO++/* The value of EPROTONOSUPPORT. */+#if !defined(EPROTONOSUPPORT)+#define EPROTONOSUPPORT 10000+#endif+#define CONST_EPROTONOSUPPORT EPROTONOSUPPORT++/* The value of EPROTOTYPE. */+#if !defined(EPROTOTYPE)+#define EPROTOTYPE 10000+#endif+#define CONST_EPROTOTYPE EPROTOTYPE++/* The value of ERANGE. */+#if !defined(ERANGE)+#define ERANGE 10000+#endif+#define CONST_ERANGE ERANGE++/* The value of EREMCHG. */+#if !defined(EREMCHG)+#define EREMCHG 10000+#endif+#define CONST_EREMCHG EREMCHG++/* The value of EREMOTE. */+#if !defined(EREMOTE)+#define EREMOTE 10000+#endif+#define CONST_EREMOTE EREMOTE++/* The value of EROFS. */+#if !defined(EROFS)+#define EROFS 10000+#endif+#define CONST_EROFS EROFS++/* The value of ERPCMISMATCH. */+#if !defined(ERPCMISMATCH)+#define ERPCMISMATCH 10000+#endif+#define CONST_ERPCMISMATCH ERPCMISMATCH++/* The value of ERREMOTE. */+#if !defined(ERREMOTE)+#define ERREMOTE 10000+#endif+#define CONST_ERREMOTE ERREMOTE++/* The value of ESHUTDOWN. */+#if !defined(ESHUTDOWN)+#define ESHUTDOWN 10000+#endif+#define CONST_ESHUTDOWN ESHUTDOWN++/* The value of ESOCKTNOSUPPORT. */+#if !defined(ESOCKTNOSUPPORT)+#define ESOCKTNOSUPPORT 10000+#endif+#define CONST_ESOCKTNOSUPPORT ESOCKTNOSUPPORT++/* The value of ESPIPE. */+#if !defined(ESPIPE)+#define ESPIPE 10000+#endif+#define CONST_ESPIPE ESPIPE++/* The value of ESRCH. */+#if !defined(ESRCH)+#define ESRCH 10000+#endif+#define CONST_ESRCH ESRCH++/* The value of ESRMNT. */+#if !defined(ESRMNT)+#define ESRMNT 10000+#endif+#define CONST_ESRMNT ESRMNT++/* The value of ESTALE. */+#if !defined(ESTALE)+#define ESTALE 10000+#endif+#define CONST_ESTALE ESTALE++/* The value of ETIME. */+#if !defined(ETIME)+#define ETIME 10000+#endif+#define CONST_ETIME ETIME++/* The value of ETIMEDOUT. */+#if !defined(ETIMEDOUT)+#define ETIMEDOUT 10000+#endif+#define CONST_ETIMEDOUT ETIMEDOUT++/* The value of ETOOMANYREFS. */+#if !defined(ETOOMANYREFS)+#define ETOOMANYREFS 10000+#endif+#define CONST_ETOOMANYREFS ETOOMANYREFS++/* The value of ETXTBSY. */+#if !defined(ETXTBSY)+#define ETXTBSY 10000+#endif+#define CONST_ETXTBSY ETXTBSY++/* The value of EUSERS. */+#if !defined(EUSERS)+#define EUSERS 10000+#endif+#define CONST_EUSERS EUSERS++/* The value of EWOULDBLOCK. */+#if !defined(EWOULDBLOCK)+#define EWOULDBLOCK 10000+#endif+#define CONST_EWOULDBLOCK EWOULDBLOCK++/* The value of EXDEV. */+#if !defined(EXDEV)+#define EXDEV 10000+#endif+#define CONST_EXDEV EXDEV++/* The value of O_BINARY. */+#if !defined(O_BINARY)+#define O_BINARY 10000+#endif+#define CONST_O_BINARY O_BINARY++/* The value of SIGINT. */+#if !defined(SIGINT)+#define SIGINT 10000+#endif+#define CONST_SIGINT SIGINT+++#endif+
+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/include/IntLikeInstance.h view
@@ -0,0 +1,242 @@+{- --------------------------------------------------------------------------+// Macros to help make various instances for Int like types (Int8, ...).+//+// Primitives are defined by 2 forms of macros:+//  - starting with PRIMS_  : name of Haskell function and primitive is the same+//  - starting with PRIMS2_ : name of primitive is given explicitly, to allow sharing between primitives+// --------------------------------------------------------------------------+-}++-- define conversion primitives+#define PRIMS_CONVERSION_INTEGER(tycon,primIntegerTo,primToInteger) \+foreign import prim primIntegerTo :: Integer -> tycon ; \+foreign import prim primToInteger :: tycon -> Integer ++#define PRIMS2_CONVERSION_INTEGER(tycon,primIntegerTo,primIntegerToNm,primToInteger,primToIntegerNm) \+foreign import prim primIntegerToNm primIntegerTo :: Integer -> tycon ; \+foreign import prim primToIntegerNm primToInteger :: tycon -> Integer ++#define PRIMS_CONVERSION_INT(tycon,primIntTo,primToInt) \+foreign import prim primIntTo     :: Int -> tycon ; \+foreign import prim primToInt     :: tycon -> Int +++-- define Eq primitives+#define PRIMS_EQ(tycon,primEq,primNe) \+foreign import prim primEq      :: tycon -> tycon -> Bool ; \+foreign import prim primNe      :: tycon -> tycon -> Bool ++#define PRIMS2_EQ(tycon,primEq,primEqNm,primNe,primNeNm) \+foreign import prim primEqNm primEq     :: tycon -> tycon -> Bool ; \+foreign import prim primNeNm primNe     :: tycon -> tycon -> Bool+++-- define Eq instance+#define INSTANCE_EQ(tycon,primEq,primNe) \+instance Eq tycon where \+  { (==) = primEq ; \+  	(/=) = primNe \+  }+++-- define Ord primitives++#define PRIMS_ORD(tycon,primCmp,primLt,primGt,primLe,primGe) \+foreign import prim primCmp     :: tycon -> tycon -> Ordering ; \+foreign import prim primLt      :: tycon -> tycon -> Bool ; \+foreign import prim primGt      :: tycon -> tycon -> Bool ; \+foreign import prim primLe      :: tycon -> tycon -> Bool ; \+foreign import prim primGe      :: tycon -> tycon -> Bool ++#define PRIMS2_ORD(tycon,primCmp,primCmpNm,primLt,primLtNm,primGt,primGtNm,primLe,primLeNm,primGe,primGeNm) \+foreign import prim primCmpNm primCmp     :: tycon -> tycon -> Ordering ; \+foreign import prim primLtNm primLt      :: tycon -> tycon -> Bool ; \+foreign import prim primGtNm primGt      :: tycon -> tycon -> Bool ; \+foreign import prim primLeNm primLe      :: tycon -> tycon -> Bool ; \+foreign import prim primGeNm primGe      :: tycon -> tycon -> Bool +++-- define Ord instance++#define INSTANCE_ORD(tycon,primCmp,primLt,primGt,primLe,primGe) \+instance Ord tycon where \+  { compare = primCmp \+  ; (<) = primLt \+  ; (>) = primGt \+  ; (<=) = primLe \+  ; (>=) = primGe \+  }+++-- define Bounded primitives+#define PRIMS_BOUNDED(tycon,primMin,primMax) \+foreign import prim primMin     :: tycon ; \+foreign import prim primMax     :: tycon +++-- define Bounded instance+#define INSTANCE_BOUNDED(tycon,primMin,primMax) \+instance Bounded tycon where \+  { minBound = primMin \+  ; maxBound = primMax \+  }+++-- define Num primitives+#define PRIMS_NUM(tycon,primAdd,primSub,primMul,primNeg) \+foreign import prim primAdd       :: tycon -> tycon -> tycon ; \+foreign import prim primSub       :: tycon -> tycon -> tycon ; \+foreign import prim primMul       :: tycon -> tycon -> tycon ; \+foreign import prim primNeg       :: tycon -> tycon ++#define PRIMS2_NUM(tycon,primAdd,primAddNm,primSub,primSubNm,primMul,primMulNm,primNeg,primNegNm) \+foreign import prim primAddNm 			primAdd       :: tycon -> tycon -> tycon ; \+foreign import prim primSubNm 			primSub       :: tycon -> tycon -> tycon ; \+foreign import prim primMulNm 			primMul       :: tycon -> tycon -> tycon ; \+foreign import prim primNegNm 			primNeg       :: tycon -> tycon +++-- define Num instance+#define INSTANCE_NUM(tycon,primAdd,primSub,primMul,primNeg,primIntegerTo,primIntTo) \+instance Num tycon where \+  { (+)         = primAdd \+  ; (-)         = primSub \+  ; (*)         = primMul \+  ; negate      = primNeg \+  ; fromInteger = primIntegerTo \+  ; fromInt     = primIntTo \+  ; abs         = absReal \+  ; signum      = signumReal \+  }+++-- define Enum instance+#define INSTANCE_ENUM(tycon,primToEnum,primFromEnum) \+instance Enum tycon where \+  { succ           = boundedSucc \+  ; pred           = boundedPred \+  ; toEnum         = primToEnum \+  ; fromEnum       = primFromEnum \+  ; enumFrom       = boundedEnumFrom \+  ; enumFromTo     = boundedEnumFromTo \+  ; enumFromThen   = boundedEnumFromThen \+  ; enumFromThenTo = boundedEnumFromThenTo \+  }+++-- define Real instance+#define INSTANCE_REAL(tycon) \+instance Real tycon where \+  { toRational x = toInteger x % 1 \+  }+++-- define Integral primitives+#define PRIMS_INTEGRAL1(tycon,primDiv,primMod,primQuot,primRem) \+foreign import prim primDiv       :: tycon -> tycon -> tycon ; \+foreign import prim primMod       :: tycon -> tycon -> tycon ; \+foreign import prim primQuot      :: tycon -> tycon -> tycon ; \+foreign import prim primRem       :: tycon -> tycon -> tycon ++#define PRIMS2_INTEGRAL1(tycon,primDiv,primDivNm,primMod,primModNm,primQuot,primQuotNm,primRem,primRemNm) \+foreign import prim primDivNm 			primDiv       :: tycon -> tycon -> tycon ; \+foreign import prim primModNm 			primMod       :: tycon -> tycon -> tycon ; \+foreign import prim primQuotNm 			primQuot      :: tycon -> tycon -> tycon ; \+foreign import prim primRemNm 			primRem       :: tycon -> tycon -> tycon ++#define PRIMS_INTEGRAL2(tycon,primDiv,primMod,primDivMod,primQuot,primRem,primQuotRem) \+PRIMS_INTEGRAL1(tycon,primDiv,primMod,primQuot,primRem) ; \+foreign import prim primDivMod    :: tycon -> tycon -> (tycon,tycon) ; \+foreign import prim primQuotRem   :: tycon -> tycon -> (tycon,tycon) ++#define PRIMS2_INTEGRAL2(tycon,primDiv,primDivNm,primMod,primModNm,primDivMod,primDivModNm,primQuot,primQuotNm,primRem,primRemNm,primQuotRem,primQuotRemNm) \+PRIMS2_INTEGRAL1(tycon,primDiv,primDivNm,primMod,primModNm,primQuot,primQuotNm,primRem,primQuotRemNm) ; \+foreign import prim primDivModNm 	primDivMod    :: tycon -> tycon -> (tycon,tycon) ; \+foreign import prim primQuotRemNm 	primQuotRem   :: tycon -> tycon -> (tycon,tycon) +++-- define Integral instance, assume default for divMod+#define INSTANCE_INTEGRAL1(tycon,primDiv,primMod,primQuot,primRem,primToInteger,primToInt) \+instance Integral tycon where \+  { quotRem d m \+              = (primQuot d m, primRem d m) \+  ; div       = primDiv \+  ; quot      = primQuot \+  ; rem       = primRem \+  ; mod       = primMod \+  ; toInteger = primToInteger \+  ; toInt     = primToInt \+  }++#define INSTANCE_INTEGRAL2(tycon,primDiv,primMod,primDivMod,primQuot,primRem,primQuotRem,primToInteger,primToInt) \+instance Integral tycon where \+  { divMod    = primDivMod \+  ; quotRem   = primQuotRem \+  ; div       = primDiv \+  ; quot      = primQuot \+  ; rem       = primRem \+  ; mod       = primMod \+  ; toInteger = primToInteger \+  ; toInt     = primToInt \+  }+++-- define Show instance+#define INSTANCE_SHOW(tycon) \+instance Show tycon where \+  { show = show . toInteger \+  }+++-- define Read instance+#define INSTANCE_READ(tycon) \+instance Read tycon where \+  { readsPrec p = readSigned readDec \+  }+++-- define Bits primitives+#define PRIMS_BITLOGIC(tycon,primAnd,primOr,primXor) \+foreign import prim primAnd       	:: tycon -> tycon -> tycon ; \+foreign import prim primOr       	:: tycon -> tycon -> tycon ; \+foreign import prim primXor      	:: tycon -> tycon -> tycon++#define PRIMS_BITSHIFT(tycon,primComplement,primShiftLeft,primShiftRight,primRotateLeft,primRotateRight) \+foreign import prim primComplement	:: tycon -> tycon ; \+foreign import prim primShiftLeft  	:: tycon -> Int -> tycon ; \+foreign import prim primShiftRight 	:: tycon -> Int -> tycon ; \+foreign import prim primRotateLeft  :: tycon -> Int -> tycon ; \+foreign import prim primRotateRight :: tycon -> Int -> tycon++#define PRIMS2_BITLOGIC(tycon,primAnd,primAndNm,primOr,primOrNm,primXor,primXorNm) \+foreign import prim primAndNm       	primAnd       	:: tycon -> tycon -> tycon ; \+foreign import prim primOrNm       		primOr       	:: tycon -> tycon -> tycon ; \+foreign import prim primXorNm      		primXor      	:: tycon -> tycon -> tycon++#define PRIMS2_BITSHIFT(tycon,primComplement,primComplementNm,primShiftLeft,primShiftLeftNm,primShiftRight,primShiftRightNm,primRotateLeft,primRotateLeftNm,primRotateRight,primRotateRightNm) \+foreign import prim primComplementNm	primComplement	:: tycon -> tycon ; \+foreign import prim primShiftLeftNm  	primShiftLeft  	:: tycon -> Int -> tycon ; \+foreign import prim primShiftRightNm 	primShiftRight 	:: tycon -> Int -> tycon ; \+foreign import prim primRotateLeftNm  	primRotateLeft  :: tycon -> Int -> tycon ; \+foreign import prim primRotateRightNm 	primRotateRight :: tycon -> Int -> tycon++-- define Bits instance+#define INSTANCE_BITS1(tycon,size,signed,primAnd,primOr,primXor,primComplement,primShiftLeft,primShiftRight,primRotateLeft,primRotateRight) \+instance Bits tycon where \+  { (.&.)   	= primAnd \+  ; (.|.)   	= primOr \+  ; xor	   		= primXor \+  ; complement  = primComplement \+  ; shiftL      = primShiftLeft \+  ; shiftR      = primShiftRight \+  ; rotateL     = primRotateLeft \+  ; rotateR     = primRotateRight \+  ; bitSize _   = size \+  ; isSigned _  = signed \+  }++++++
+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/include/MachDeps.h view
@@ -0,0 +1,125 @@+/* ehclib/uhcbase/include/MachDeps.h.  Generated from MachDeps.h.in by configure.  */+#ifndef MACHDEPS_H+#define MACHDEPS_H++#define SIZEOF_INTPTR_T 8+#define SIZEOF_CHAR 1+#define SIZEOF_SHORT 2+#define SIZEOF_INT 4+#define SIZEOF_LONG 8+#define SIZEOF_LONG_LONG 8+#define SIZEOF_FLOAT 4+#define SIZEOF_DOUBLE 8+#define SIZEOF_UNSIGNED_CHAR 1+#define SIZEOF_UNSIGNED_SHORT 2+#define SIZEOF_UNSIGNED_INT 4+#define SIZEOF_UNSIGNED_LONG 8+#define SIZEOF_UNSIGNED_LONG_LONG 8+#define SIZEOF_VOID_P 8++#define SIZEOF_DEV_T 4+#define SIZEOF_INO_T 8+#define SIZEOF_OFF_T 8+#define SIZEOF_MODE_T 2+#define SIZEOF_PID_T 4+#define SIZEOF_SSIZE_T 8+#define SIZEOF_GID_T 4+#define SIZEOF_NLINK_T 2+#define SIZEOF_UID_T 4+#define SIZEOF_RLIM_T 8+#define SIZEOF_CLOCK_T 8+#define SIZEOF_TIME_T 8+#define SIZEOF_SIZE_T 8+#define SIZEOF_WCHAR_T 4++#define SIZEOF_CC_T 1+#define SIZEOF_SPEED_T 8+#define SIZEOF_TCFLAG_T 8++#define ALIGNOF_INTPTR_T 8+#define ALIGNOF_CHAR 1+#define ALIGNOF_SHORT 2+#define ALIGNOF_INT 4+#define ALIGNOF_LONG 8+#define ALIGNOF_LONG_LONG 8+#define ALIGNOF_FLOAT 4+#define ALIGNOF_DOUBLE 8+#define ALIGNOF_UNSIGNED_CHAR 1+#define ALIGNOF_UNSIGNED_SHORT 2+#define ALIGNOF_UNSIGNED_INT 4+#define ALIGNOF_UNSIGNED_LONG 8+#define ALIGNOF_UNSIGNED_LONG_LONG 8+#define ALIGNOF_VOID_P 8++#define ALIGNOF_UINT8_T 1+#define ALIGNOF_UINT16_T 2+#define ALIGNOF_UINT32_T 4+#define ALIGNOF_UINT64_T 8++#if SIZEOF_INTPTR_T == 8+#define USE_64_BITS 1+#define USE_32_BITS 0+#else+#define USE_64_BITS 0+#define USE_32_BITS 1+#endif++#ifdef __UHC_TARGET_BC__+#define BITSIZEOF_WORDTAG		1+#else+#define BITSIZEOF_WORDTAG		0+#endif++#define SIZEOF_HSCHAR           SIZEOF_INTPTR_T+#define ALIGNMENT_HSCHAR        ALIGNOF_UINT32_T++#define SIZEOF_HSINT            SIZEOF_INTPTR_T+#define ALIGNMENT_HSINT         ALIGNOF_INTPTR_T++#define SIZEOF_HSWORD			SIZEOF_INTPTR_T+#define ALIGNMENT_HSWORD		ALIGNOF_INTPTR_T++#define SIZEOF_HSDOUBLE			SIZEOF_DOUBLE+#define ALIGNMENT_HSDOUBLE		ALIGNOF_DOUBLE++#define SIZEOF_HSFLOAT			SIZEOF_FLOAT+#define ALIGNMENT_HSFLOAT		ALIGNOF_FLOAT++#define SIZEOF_HSPTR            SIZEOF_VOID_P+#define ALIGNMENT_HSPTR         ALIGNOF_VOID_P++#define SIZEOF_HSFUNPTR         SIZEOF_VOID_P+#define ALIGNMENT_HSFUNPTR      ALIGNOF_VOID_P++#define SIZEOF_HSFOREIGNPTR     SIZEOF_VOID_P+#define ALIGNMENT_HSFOREIGNPTR  ALIGNOF_VOID_P++#define SIZEOF_HSSTABLEPTR      SIZEOF_VOID_P+#define ALIGNMENT_HSSTABLEPTR   ALIGNOF_VOID_P++#define SIZEOF_INT8             8+#define ALIGNMENT_INT8          ALIGNOF_UINT8_T++#define SIZEOF_WORD8            8+#define ALIGNMENT_WORD8         ALIGNOF_UINT8_T++#define SIZEOF_INT16            16+#define ALIGNMENT_INT16         ALIGNOF_UINT16_T++#define SIZEOF_WORD16           16+#define ALIGNMENT_WORD16        ALIGNOF_UINT16_T++#define SIZEOF_INT32            32+#define ALIGNMENT_INT32         ALIGNOF_UINT32_T++#define SIZEOF_WORD32           32+#define ALIGNMENT_WORD32        ALIGNOF_UINT32_T++#define SIZEOF_INT64            64+#define ALIGNMENT_INT64         ALIGNOF_UINT64_T++#define SIZEOF_WORD64           64+#define ALIGNMENT_WORD64        ALIGNOF_UINT64_T+++#endif
+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/include/TupleInstance.h view
@@ -0,0 +1,147 @@+{- --------------------------------------------------------------------------+// Macros to help make various instances for tuples.+// A kind of poor mans deriving.+//+// --------------------------------------------------------------------------+-}++#define	COMMA	,++{- --------------------------------------------------------------------------+// 2 tuple, 1 unary op+// --------------------------------------------------------------------------+-}+#define TUPLE2_UNOP1_INSTANCE(clscon,op1,op1preArg,op1postArg,op1subop,pre,sep,post) \+instance (clscon a, clscon b) => clscon (a,b) where \+  { op1 op1preArg (a,b) op1postArg \+      = pre \+            op1subop a \+        sep op1subop b \+        post \+  }++{- --------------------------------------------------------------------------+// 3 tuple, 1 unary op+// --------------------------------------------------------------------------+-}+#define TUPLE3_UNOP1_INSTANCE(clscon,op1,op1preArg,op1postArg,op1subop,pre,sep,post) \+instance (clscon a, clscon b, clscon c) => clscon (a,b,c) where \+  { op1 op1preArg (a,b,c) op1postArg \+      = pre \+            op1subop a \+        sep op1subop b \+        sep op1subop c \+        post \+  }++{- --------------------------------------------------------------------------+// 4 tuple, 1 unary op+// --------------------------------------------------------------------------+-}+#define TUPLE4_UNOP1_INSTANCE(clscon,op1,op1preArg,op1postArg,op1subop,pre,sep,post) \+instance (clscon a, clscon b, clscon c, clscon d) => clscon (a,b,c,d) where \+  { op1 op1preArg (a,b,c,d) op1postArg \+      = pre \+            op1subop a \+        sep op1subop b \+        sep op1subop c \+        sep op1subop d \+        post \+  }++{- --------------------------------------------------------------------------+// 5 tuple, 1 unary op+// --------------------------------------------------------------------------+-}+#define TUPLE5_UNOP1_INSTANCE(clscon,op1,op1preArg,op1postArg,op1subop,pre,sep,post) \+instance (clscon a, clscon b, clscon c, clscon d, clscon e) => clscon (a,b,c,d,e) where \+  { op1 op1preArg (a,b,c,d,e) op1postArg \+      = pre \+            op1subop a \+        sep op1subop b \+        sep op1subop c \+        sep op1subop d \+        sep op1subop e \+        post \+  }++{- --------------------------------------------------------------------------+// Set of 2..n tuple, 1 unary op+// --------------------------------------------------------------------------+-}+#define TUPLE_UNOP1_INSTANCES(clscon,op1,op1preArg,op1postArg,op1subop,pre,sep,post) \+{ TUPLE2_UNOP1_INSTANCE(clscon,op1,op1preArg,op1postArg,op1subop,pre,sep,post) ;\+  TUPLE3_UNOP1_INSTANCE(clscon,op1,op1preArg,op1postArg,op1subop,pre,sep,post) ;\+  TUPLE4_UNOP1_INSTANCE(clscon,op1,op1preArg,op1postArg,op1subop,pre,sep,post) ;\+  TUPLE5_UNOP1_INSTANCE(clscon,op1,op1preArg,op1postArg,op1subop,pre,sep,post) \+}++{- --------------------------------------------------------------------------+// 2 tuple, 1 binary op+// --------------------------------------------------------------------------+-}+#define TUPLE2_BINOP1_INSTANCE(clscon,op1,op1subop,pre,sep,post) \+instance (clscon a, clscon b) => clscon (a,b) where \+  { (a1,b1) op1 (a2,b2) \+      = pre \+            a1 op1subop a2 \+        sep b1 op1subop b2 \+        post \+  }++{- --------------------------------------------------------------------------+// 3 tuple, 1 binary op+// --------------------------------------------------------------------------+-}+#define TUPLE3_BINOP1_INSTANCE(clscon,op1,op1subop,pre,sep,post) \+instance (clscon a, clscon b, clscon c) => clscon (a,b,c) where \+  { (a1,b1,c1) op1 (a2,b2,c2) \+      = pre \+            a1 op1subop a2 \+        sep b1 op1subop b2 \+        sep c1 op1subop c2 \+        post \+  }++{- --------------------------------------------------------------------------+// 4 tuple, 1 binary op+// --------------------------------------------------------------------------+-}+#define TUPLE4_BINOP1_INSTANCE(clscon,op1,op1subop,pre,sep,post) \+instance (clscon a, clscon b, clscon c, clscon d) => clscon (a,b,c,d) where \+  { (a1,b1,c1,d1) op1 (a2,b2,c2,d2) \+      = pre \+            a1 op1subop a2 \+        sep b1 op1subop b2 \+        sep c1 op1subop c2 \+        sep d1 op1subop d2 \+        post \+  }++{- --------------------------------------------------------------------------+// 5 tuple, 1 binary op+// --------------------------------------------------------------------------+-}+#define TUPLE5_BINOP1_INSTANCE(clscon,op1,op1subop,pre,sep,post) \+instance (clscon a, clscon b, clscon c, clscon d, clscon e) => clscon (a,b,c,d,e) where \+  { (a1,b1,c1,d1,e1) op1 (a2,b2,c2,d2,e2) \+      = pre \+            a1 op1subop a2 \+        sep b1 op1subop b2 \+        sep c1 op1subop c2 \+        sep d1 op1subop d2 \+        sep e1 op1subop e2 \+        post \+  }++{- --------------------------------------------------------------------------+// Set of 2..n tuple, 1 binary op+// --------------------------------------------------------------------------+-}+#define TUPLE_BINOP1_INSTANCES(clscon,op1,op1subop,pre,sep,post) \+{ TUPLE2_BINOP1_INSTANCE(clscon,op1,op1subop,pre,sep,post) ;\+  TUPLE3_BINOP1_INSTANCE(clscon,op1,op1subop,pre,sep,post) ;\+  TUPLE4_BINOP1_INSTANCE(clscon,op1,op1subop,pre,sep,post) ;\+  TUPLE5_BINOP1_INSTANCE(clscon,op1,op1subop,pre,sep,post) \+}+
+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/include/Typeable.h view
@@ -0,0 +1,149 @@+{- --------------------------------------------------------------------------+// Macros to help make Typeable instances.+//+// INSTANCE_TYPEABLEn(tc,tcname,"tc") defines+//+//	instance Typeable/n/ tc+//	instance Typeable a => Typeable/n-1/ (tc a)+//	instance (Typeable a, Typeable b) => Typeable/n-2/ (tc a b)+//	...+//	instance (Typeable a1, ..., Typeable an) => Typeable (tc a1 ... an)+// --------------------------------------------------------------------------+-}++#ifndef TYPEABLE_H+#define TYPEABLE_H++#define INSTANCE_TYPEABLE0(tycon,tcname,str) \+tcname :: TyCon; \+tcname = mkTyCon str; \+instance Typeable tycon where { typeOf _ = mkTyConApp tcname [] }++#ifdef __GLASGOW_HASKELL__++--  // For GHC, the extra instances follow from general instance declarations+--  // defined in Data.Typeable.++#define INSTANCE_TYPEABLE1(tycon,tcname,str) \+tcname :: TyCon; \+tcname = mkTyCon str; \+instance Typeable1 tycon where { typeOf1 _ = mkTyConApp tcname [] }++#define INSTANCE_TYPEABLE2(tycon,tcname,str) \+tcname :: TyCon; \+tcname = mkTyCon str; \+instance Typeable2 tycon where { typeOf2 _ = mkTyConApp tcname [] }++#define INSTANCE_TYPEABLE3(tycon,tcname,str) \+tcname :: TyCon; \+tcname = mkTyCon str; \+instance Typeable3 tycon where { typeOf3 _ = mkTyConApp tcname [] }++#define INSTANCE_TYPEABLE4(tycon,tcname,str) \+tcname :: TyCon; \+tcname = mkTyCon str; \+instance Typeable4 tycon where { typeOf4 _ = mkTyConApp tcname [] }++#define INSTANCE_TYPEABLE5(tycon,tcname,str) \+tcname :: TyCon; \+tcname = mkTyCon str; \+instance Typeable5 tycon where { typeOf5 _ = mkTyConApp tcname [] }++#define INSTANCE_TYPEABLE6(tycon,tcname,str) \+tcname :: TyCon; \+tcname = mkTyCon str; \+instance Typeable6 tycon where { typeOf6 _ = mkTyConApp tcname [] }++#define INSTANCE_TYPEABLE7(tycon,tcname,str) \+tcname :: TyCon; \+tcname = mkTyCon str; \+instance Typeable7 tycon where { typeOf7 _ = mkTyConApp tcname [] }++#else /* !__GLASGOW_HASKELL__ */++#define INSTANCE_TYPEABLE1(tycon,tcname,str) \+tcname = mkTyCon str; \+instance Typeable1 tycon where { typeOf1 _ = mkTyConApp tcname [] }; \+instance Typeable a => Typeable (tycon a) where { typeOf = typeOfDefault }++#define INSTANCE_TYPEABLE2(tycon,tcname,str) \+tcname = mkTyCon str; \+instance Typeable2 tycon where { typeOf2 _ = mkTyConApp tcname [] }; \+instance Typeable a => Typeable1 (tycon a) where { \+  typeOf1 = typeOf1Default }; \+instance (Typeable a, Typeable b) => Typeable (tycon a b) where { \+  typeOf = typeOfDefault }++#define INSTANCE_TYPEABLE3(tycon,tcname,str) \+tcname = mkTyCon str; \+instance Typeable3 tycon where { typeOf3 _ = mkTyConApp tcname [] }; \+instance Typeable a => Typeable2 (tycon a) where { \+  typeOf2 = typeOf2Default }; \+instance (Typeable a, Typeable b) => Typeable1 (tycon a b) where { \+  typeOf1 = typeOf1Default }; \+instance (Typeable a, Typeable b, Typeable c) => Typeable (tycon a b c) where { \+  typeOf = typeOfDefault }++#define INSTANCE_TYPEABLE4(tycon,tcname,str) \+tcname = mkTyCon str; \+instance Typeable4 tycon where { typeOf4 _ = mkTyConApp tcname [] }; \+instance Typeable a => Typeable3 (tycon a) where { \+  typeOf3 = typeOf3Default }; \+instance (Typeable a, Typeable b) => Typeable2 (tycon a b) where { \+  typeOf2 = typeOf2Default }; \+instance (Typeable a, Typeable b, Typeable c) => Typeable1 (tycon a b c) where { \+  typeOf1 = typeOf1Default }; \+instance (Typeable a, Typeable b, Typeable c, Typeable d) => Typeable (tycon a b c d) where { \+  typeOf = typeOfDefault }++#define INSTANCE_TYPEABLE5(tycon,tcname,str) \+tcname = mkTyCon str; \+instance Typeable5 tycon where { typeOf5 _ = mkTyConApp tcname [] }; \+instance Typeable a => Typeable4 (tycon a) where { \+  typeOf4 = typeOf4Default }; \+instance (Typeable a, Typeable b) => Typeable3 (tycon a b) where { \+  typeOf3 = typeOf3Default }; \+instance (Typeable a, Typeable b, Typeable c) => Typeable2 (tycon a b c) where { \+  typeOf2 = typeOf2Default }; \+instance (Typeable a, Typeable b, Typeable c, Typeable d) => Typeable1 (tycon a b c d) where { \+  typeOf1 = typeOf1Default }; \+instance (Typeable a, Typeable b, Typeable c, Typeable d, Typeable e) => Typeable (tycon a b c d e) where { \+  typeOf = typeOfDefault }++#define INSTANCE_TYPEABLE6(tycon,tcname,str) \+tcname = mkTyCon str; \+instance Typeable6 tycon where { typeOf6 _ = mkTyConApp tcname [] }; \+instance Typeable a => Typeable5 (tycon a) where { \+  typeOf5 = typeOf5Default }; \+instance (Typeable a, Typeable b) => Typeable4 (tycon a b) where { \+  typeOf4 = typeOf4Default }; \+instance (Typeable a, Typeable b, Typeable c) => Typeable3 (tycon a b c) where { \+  typeOf3 = typeOf3Default }; \+instance (Typeable a, Typeable b, Typeable c, Typeable d) => Typeable2 (tycon a b c d) where { \+  typeOf2 = typeOf2Default }; \+instance (Typeable a, Typeable b, Typeable c, Typeable d, Typeable e) => Typeable1 (tycon a b c d e) where { \+  typeOf1 = typeOf1Default }; \+instance (Typeable a, Typeable b, Typeable c, Typeable d, Typeable e, Typeable f) => Typeable (tycon a b c d e f) where { \+  typeOf = typeOfDefault }++#define INSTANCE_TYPEABLE7(tycon,tcname,str) \+tcname = mkTyCon str; \+instance Typeable7 tycon where { typeOf7 _ = mkTyConApp tcname [] }; \+instance Typeable a => Typeable6 (tycon a) where { \+  typeOf6 = typeOf6Default }; \+instance (Typeable a, Typeable b) => Typeable5 (tycon a b) where { \+  typeOf5 = typeOf5Default }; \+instance (Typeable a, Typeable b, Typeable c) => Typeable4 (tycon a b c) where { \+  typeOf4 = typeOf4Default }; \+instance (Typeable a, Typeable b, Typeable c, Typeable d) => Typeable3 (tycon a b c d) where { \+  typeOf3 = typeOf3Default }; \+instance (Typeable a, Typeable b, Typeable c, Typeable d, Typeable e) => Typeable2 (tycon a b c d e) where { \+  typeOf2 = typeOf2Default }; \+instance (Typeable a, Typeable b, Typeable c, Typeable d, Typeable e, Typeable f) => Typeable1 (tycon a b c d e f) where { \+  typeOf1 = typeOf1Default }; \+instance (Typeable a, Typeable b, Typeable c, Typeable d, Typeable e, Typeable f, Typeable g) => Typeable (tycon a b c d e f g) where { \+  typeOf = typeOfDefault }++#endif /* !__GLASGOW_HASKELL__ */++#endif
+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/include/dirUtils.h view
@@ -0,0 +1,11 @@+/* + * (c) The University of Glasgow 2002+ *+ * Directory Runtime Support+ */+#ifndef __DIRUTILS_H__+#define __DIRUTILS_H__++extern int __hscore_readdir(DIR *dirPtr, struct dirent **pDirEnt);++#endif /* __DIRUTILS_H__ */
+ 103/lib/pkg/uhcbase-1.1.9.2/103/cr/plain/installed-pkg-config view
@@ -0,0 +1,2 @@+exposed-modules: Control.Monad Data.Bits Data.Char Data.Either Data.Int Data.IORef Data.List Data.Maybe Data.Typeable Data.Word Debug.Trace Foreign.C.Error Foreign.C.String Foreign.C.Types Foreign.C Foreign.ForeignPtr Foreign.Marshal.Alloc Foreign.Marshal.Array Foreign.Marshal.Error Foreign.Marshal.Pool Foreign.Marshal.Utils Foreign.Marshal Foreign.Ptr Foreign.StablePtr Foreign.Storable Foreign System.IO.Error System.IO.Fix System.IO.Unsafe System.IO System.Posix.Internals System.Posix.Types UHC.Array UHC.Base UHC.Bits UHC.Bounded UHC.BoxArray UHC.ByteArray UHC.Char UHC.Conc UHC.Enum UHC.Eq UHC.Float UHC.ForeignPtr UHC.GC UHC.Generics.Tuple UHC.Generics UHC.Handle UHC.Int UHC.IO UHC.IOBase UHC.Ix UHC.LazyST UHC.MutVar UHC.MVar UHC.OldException UHC.OldIO UHC.Ord UHC.Prims UHC.Ptr UHC.Read UHC.Real UHC.Run UHC.Show UHC.ST UHC.StablePtr UHC.StackTrace UHC.Storable UHC.STRef UHC.Types UHC.Weak UHC.WeakPtr UHC.Word Unsafe.Coerce+build-depends: 
changelog.md view
@@ -1,5 +1,13 @@ # Changelog +## 1.1.9.2 - 20151027++- [corerun] CoreRun specific options via --corerunopt=...+- [corerun] Some cleanup for use in course http://foswiki.cs.uu.nl/foswiki/Cco/WebHome+- [dependencies] Removal of dependency on Data.Data/syb+- [chr] CHR machinery moved to uhc-util+- [ast dump] Framework for debugging AST: --ehopt=dump-ast & --debug-traceon=... combi allow selectively looking into AST + info+ ## 1.1.9.1 - 20151013  - [guarantees] This is a pre-release as far as below extensions is concerned.
src/UHC/Light/Compiler/AbstractCore.hs view
@@ -4,7 +4,7 @@ , acoreMetaLift , ACoreBindAspectKey (..), ACoreBindAspectKeyS, ACoreBindAspMp , acbaspkeyMetaLev-, acbaspkeyDefaultTy, acbaspkeyTy, acbaspkeyDefaultCore, acbaspkeyNone, acbaspkeyDefault, acbaspkeyDefaultRelevTy, acbaspkeyStrict, acbaspkeyDebug+, acbaspkeyDefaultTy, acbaspkeyTy, acbaspkeyDefaultCore, acbaspkeyNone, acbaspkeyDefault, acbaspkeyStrict, acbaspkeyDebug , ppACBaspKeyS , hsnUniqifyACoreBindAspectKeyS , ACoreBindRef (..), acoreMkRef, acoreMkAspRef@@ -401,7 +401,6 @@ data ACoreBindAspectKey   = ACoreBindAspectKey_Default              -- identifies the default binding, if omitted in a reference this aspect is the one chosen.   | ACoreBindAspectKey_Ty                   -- the normal ty-  | ACoreBindAspectKey_RelevTy              -- the relevance ty   | ACoreBindAspectKey_Strict               -- the as strict as possible variant   | ACoreBindAspectKey_Debug                -- internal debugging only   | ACoreBindAspectKey_Core                 -- core@@ -412,7 +411,6 @@   show ACoreBindAspectKey_Default       = "dft"   show ACoreBindAspectKey_Strict        = "str"   show ACoreBindAspectKey_Ty            = "ty"-  show ACoreBindAspectKey_RelevTy       = "rty"   show ACoreBindAspectKey_Debug         = "dbg"   show ACoreBindAspectKey_Core          = "core"   show ACoreBindAspectKey_FusionRole    = "fusionrole"@@ -426,11 +424,11 @@ acbaspkeyMk :: [ACoreBindAspectKey] -> ACoreBindAspectKeyS acbaspkeyMk = Set.fromList -{-# LINE 422 "src/ehc/AbstractCore.chs" #-}+{-# LINE 426 "src/ehc/AbstractCore.chs" #-} acbaspkeyMetaLev :: MetaLev -> ACoreBindAspectKeyS -> MetaLev acbaspkeyMetaLev mlev _ = mlev -{-# LINE 433 "src/ehc/AbstractCore.chs" #-}+{-# LINE 444 "src/ehc/AbstractCore.chs" #-} -- | predefined: acbaspkeyNone :: ACoreBindAspectKeyS acbaspkeyNone = acbaspkeyMk@@ -457,11 +455,6 @@   [ ACoreBindAspectKey_Default, ACoreBindAspectKey_Core ]  -- | predefined:-acbaspkeyDefaultRelevTy :: ACoreBindAspectKeyS-acbaspkeyDefaultRelevTy = acbaspkeyMk-  [ ACoreBindAspectKey_Default, ACoreBindAspectKey_RelevTy ]---- | predefined: acbaspkeyStrict :: ACoreBindAspectKeyS acbaspkeyStrict = acbaspkeyMk   [ ACoreBindAspectKey_Strict ]@@ -471,17 +464,17 @@ acbaspkeyDebug = acbaspkeyMk   [ ACoreBindAspectKey_Debug ] -{-# LINE 492 "src/ehc/AbstractCore.chs" #-}+{-# LINE 498 "src/ehc/AbstractCore.chs" #-} -- | predefined: acbaspkeyFusionRole :: ACoreBindAspectKeyS acbaspkeyFusionRole = acbaspkeyMk   [ ACoreBindAspectKey_FusionRole ] -{-# LINE 499 "src/ehc/AbstractCore.chs" #-}+{-# LINE 505 "src/ehc/AbstractCore.chs" #-} ppACBaspKeyS :: ACoreBindAspectKeyS -> PP_Doc ppACBaspKeyS = ppCurlysCommas . Set.toList -{-# LINE 504 "src/ehc/AbstractCore.chs" #-}+{-# LINE 510 "src/ehc/AbstractCore.chs" #-} -- | uniqify with ACoreBindAspectKeyS, omitting the default hsnUniqifyACoreBindAspectKeyS :: ACoreBindAspectKeyS -> HsName -> HsName hsnUniqifyACoreBindAspectKeyS as n@@ -489,13 +482,10 @@   where mk ACoreBindAspectKey_Strict = hsnUniqify    HsNameUniqifier_Strict         mk a                         = hsnUniqifyStr HsNameUniqifier_BindAspect (show a) -{-# LINE 513 "src/ehc/AbstractCore.chs" #-}+{-# LINE 519 "src/ehc/AbstractCore.chs" #-} deriving instance Typeable ACoreBindAspectKey -{-# LINE 517 "src/ehc/AbstractCore.chs" #-}-deriving instance Data ACoreBindAspectKey--{-# LINE 525 "src/ehc/AbstractCore.chs" #-}+{-# LINE 527 "src/ehc/AbstractCore.chs" #-} -- | reference to binding aspect: name + aspect keys data ACoreBindRef   = ACoreBindRef@@ -516,28 +506,27 @@ instance Show ACoreBindRef where   show = show . mkHNm -{-# LINE 547 "src/ehc/AbstractCore.chs" #-}+{-# LINE 549 "src/ehc/AbstractCore.chs" #-} acbrefAspKey :: ACoreBindRef -> ACoreBindAspectKeyS acbrefAspKey = maybe acbaspkeyNone id . acbrefMbAspKey {-# INLINE acbrefAspKey #-} -{-# LINE 553 "src/ehc/AbstractCore.chs" #-}+{-# LINE 555 "src/ehc/AbstractCore.chs" #-} -- | narrow down aspects by adding more to ref; assume extra aspects non empty acbrefAspAnd :: ACoreBindAspectKeyS -> ACoreBindRef -> ACoreBindRef acbrefAspAnd a r = r {acbrefMbAspKey = Just $ a `Set.union` acbrefAspKey r } -{-# LINE 559 "src/ehc/AbstractCore.chs" #-}+{-# LINE 561 "src/ehc/AbstractCore.chs" #-} ppACoreBindRef :: (HsName -> PP_Doc) -> ACoreBindRef -> PP_Doc ppACoreBindRef ppN r = ppN (acbrefNm r) >|< (maybe empty (ppCurlysCommas . Set.toList) $ acbrefMbAspKey r)  instance PP ACoreBindRef where   pp = ppACoreBindRef pp -{-# LINE 567 "src/ehc/AbstractCore.chs" #-}+{-# LINE 569 "src/ehc/AbstractCore.chs" #-} deriving instance Typeable ACoreBindRef-deriving instance Data ACoreBindRef -{-# LINE 576 "src/ehc/AbstractCore.chs" #-}+{-# LINE 577 "src/ehc/AbstractCore.chs" #-} acore1App :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => e -> e -> e acore1App f a = acore1AppBound f (acoreBound1Val a) {-# INLINE acore1App #-}@@ -552,7 +541,7 @@ acoreAppBound :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => e -> [bound] -> e acoreAppBound f as = foldl (\f a -> acore1AppBound f a) f as -{-# LINE 596 "src/ehc/AbstractCore.chs" #-}+{-# LINE 597 "src/ehc/AbstractCore.chs" #-} acoreLamBind :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => [b] -> e -> e acoreLamBind = flip (foldr acoreLam1Bind) {-# INLINE acoreLamBind #-}@@ -573,7 +562,7 @@ acoreLam :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => [HsName] -> e -> e acoreLam as e = foldr (\(n) e -> acoreLam1 n e) e as -{-# LINE 618 "src/ehc/AbstractCore.chs" #-}+{-# LINE 619 "src/ehc/AbstractCore.chs" #-} acoreTagTupTy :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => CTag -> t -> [e] -> e acoreTagTupTy tg t es = acoreTagTyTupBound tg t $ map acoreBound1Val es @@ -594,7 +583,7 @@ acoreTag tg = acoreTagTup tg [] {-# INLINE acoreTag #-} -{-# LINE 651 "src/ehc/AbstractCore.chs" #-}+{-# LINE 652 "src/ehc/AbstractCore.chs" #-} acoreBind1CatLevMetaTyWith :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => (t->t) -> (e->e) -> bcat -> HsName -> MetaLev -> m -> t -> e -> b acoreBind1CatLevMetaTyWith mkT mkE cat n l m t e = acoreBind1CatLevMetasTy cat n l (acoreMetabindDflt,m) (mkT t) (mkE e) {-# INLINE acoreBind1CatLevMetaTyWith #-}@@ -631,7 +620,7 @@ acoreBind1 n e = acoreBind1Cat (acoreBindcategDflt e) n e {-# INLINE acoreBind1 #-} -{-# LINE 689 "src/ehc/AbstractCore.chs" #-}+{-# LINE 690 "src/ehc/AbstractCore.chs" #-} acoreBind1MetasTy :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => HsName -> (mbind,m) -> t -> e -> b acoreBind1MetasTy n m t e = acoreBind1CatLevMetasTy (acoreBindcategDflt e) n metaLevVal m t e {-# INLINE acoreBind1MetasTy #-}@@ -657,7 +646,7 @@ -}  -{-# LINE 716 "src/ehc/AbstractCore.chs" #-}+{-# LINE 717 "src/ehc/AbstractCore.chs" #-} acoreBind1Asp1 :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => HsName -> bound -> b acoreBind1Asp1 n ba = acoreBind1Asp n [ba] {-# INLINE acoreBind1Asp1 #-}@@ -674,7 +663,7 @@ acoreBind1Nm1 n = acoreBind1Asp n [] {-# INLINE acoreBind1Nm1 #-} -{-# LINE 738 "src/ehc/AbstractCore.chs" #-}+{-# LINE 739 "src/ehc/AbstractCore.chs" #-} acoreBoundVal1CatLevMetaTy :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => bcat -> HsName -> MetaLev -> m -> t -> e -> bound acoreBoundVal1CatLevMetaTy bcat n mlev m t e = acoreBoundVal1CatLevMetasTy bcat n mlev (acoreMetabindDflt,m) t e {-# INLINE acoreBoundVal1CatLevMetaTy #-}@@ -695,7 +684,7 @@ acoreBoundVal1Cat cat n e = acoreBoundVal1CatTy cat n (acoreTyErr "acoreBoundVal1Cat") e {-# INLINE acoreBoundVal1Cat #-} -{-# LINE 760 "src/ehc/AbstractCore.chs" #-}+{-# LINE 761 "src/ehc/AbstractCore.chs" #-} acoreBoundVal1Metas :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => HsName -> (mbind,m) -> e -> bound acoreBoundVal1Metas n m e = acoreBoundVal1CatLevMetasTy (acoreBindcategDflt e) n metaLevVal m (acoreTyErr "acoreBoundVal1Metas") e {-# INLINE acoreBoundVal1Metas #-}@@ -705,7 +694,7 @@ {-# INLINE acoreBoundVal1Meta #-}  -{-# LINE 771 "src/ehc/AbstractCore.chs" #-}+{-# LINE 772 "src/ehc/AbstractCore.chs" #-} acoreBound1AspkeyVal :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => ACoreBindAspectKeyS -> e -> bound acoreBound1AspkeyVal a e = acoreBound1MetaVal (acoreBoundmeta a 0 CLbl_None) e {-# INLINE acoreBound1AspkeyVal #-}@@ -714,12 +703,12 @@ acoreBound1Val e = acoreBound1AspkeyVal acbaspkeyDefault e {-# INLINE acoreBound1Val #-} -{-# LINE 791 "src/ehc/AbstractCore.chs" #-}+{-# LINE 792 "src/ehc/AbstractCore.chs" #-} acoreTyErrLift :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a, Functor f) => String -> f x -> f (x,t) acoreTyErrLift msg = fmap (\n -> (n,acoreTyErr msg)) {-# INLINE acoreTyErrLift #-} -{-# LINE 801 "src/ehc/AbstractCore.chs" #-}+{-# LINE 802 "src/ehc/AbstractCore.chs" #-} -- | Construct let, possibly merging bindings acoreLetMerge :: (Eq bcat, AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => Bool -> bcat -> [b] -> e -> e acoreLetMerge merge c bs e@@ -751,11 +740,11 @@ acoreLetRec bs e = acoreLet (acoreBindcategRec) bs e {-# INLINE acoreLetRec #-} -{-# LINE 834 "src/ehc/AbstractCore.chs" #-}+{-# LINE 835 "src/ehc/AbstractCore.chs" #-} acoreLetN :: (Eq bcat, AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => [(bcat,[b])] -> e -> e acoreLetN cbs e = foldr (\(c,bs) e -> acoreLet c bs e) e cbs -{-# LINE 839 "src/ehc/AbstractCore.chs" #-}+{-# LINE 840 "src/ehc/AbstractCore.chs" #-} acoreLet1PlainTy :: (Eq bcat, AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => HsName -> t -> e -> e -> e acoreLet1PlainTy nm t e   = acoreLet cat [acoreBind1CatTy cat nm t e]@@ -770,7 +759,7 @@ acoreLet1Plain nm e = acoreLet1PlainTy nm (acoreTyErr "acoreLet1Plain") e {-# INLINE acoreLet1Plain #-} -{-# LINE 855 "src/ehc/AbstractCore.chs" #-}+{-# LINE 856 "src/ehc/AbstractCore.chs" #-} acoreLet1StrictTy :: (Eq bcat, AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => HsName -> t -> e -> e -> e acoreLet1StrictTy nm t e   = acoreLet cat [acoreBind1CatTy cat nm t e]@@ -785,7 +774,7 @@ acoreLet1Strict nm e = acoreLet1StrictTy nm (acoreTyErr "acoreLet1Strict") e {-# INLINE acoreLet1Strict #-} -{-# LINE 871 "src/ehc/AbstractCore.chs" #-}+{-# LINE 872 "src/ehc/AbstractCore.chs" #-} -- | evaluate an expr, with a continuation for the evaluated expr acoreLet1StrictInMetaTyWith :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => (t->t) -> (e->e) -> HsName -> m -> t -> e -> (e -> e) -> e acoreLet1StrictInMetaTyWith mkT mkE nm m t e mkC@@ -812,20 +801,20 @@ acoreLet1StrictIn nm e mkC = acoreLet1StrictInMeta nm acoreMetavalDflt e mkC {-# INLINE acoreLet1StrictIn #-} -{-# LINE 903 "src/ehc/AbstractCore.chs" #-}+{-# LINE 904 "src/ehc/AbstractCore.chs" #-} acoreNmHole :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => UID -> e acoreNmHole = acoreVar . mkHNm  acoreNmHolePred :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => PredOccId -> e acoreNmHolePred = acoreNmHole . poiId -{-# LINE 915 "src/ehc/AbstractCore.chs" #-}+{-# LINE 916 "src/ehc/AbstractCore.chs" #-} -- | get default for bindcateg acoreBindcategDflt :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => e -> bcat acoreBindcategDflt _ = acoreBindcategPlain {-# INLINE acoreBindcategDflt #-} -{-# LINE 926 "src/ehc/AbstractCore.chs" #-}+{-# LINE 927 "src/ehc/AbstractCore.chs" #-} acoreChar :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => EHCOpts -> Char -> e acoreChar opts i = let x = acoreCharTy (acoreTyChar opts) i in x @@ -836,11 +825,11 @@ acoreInt2 :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => EHCOpts -> Integer -> e acoreInt2 opts i = let x = acoreIntTy2 (acoreTyInt opts) i in x -{-# LINE 942 "src/ehc/AbstractCore.chs" #-}+{-# LINE 943 "src/ehc/AbstractCore.chs" #-} acoreBuiltinApp :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => EHCOpts -> (EHBuiltinNames -> HsName) -> [e] -> e acoreBuiltinApp opts bnmOf args = acoreVar (ehcOptBuiltin opts bnmOf) `acoreApp` args -{-# LINE 947 "src/ehc/AbstractCore.chs" #-}+{-# LINE 948 "src/ehc/AbstractCore.chs" #-} acoreBuiltinAddInt :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => EHCOpts -> e -> Int -> e acoreBuiltinAddInt opts e i   = if i == 0@@ -849,15 +838,15 @@            Just (t,i') -> acoreIntTy2 t (toInteger i + i')            _           -> acoreBuiltinApp opts ehbnPrimAddInt [e,acoreInt opts i] -{-# LINE 957 "src/ehc/AbstractCore.chs" #-}+{-# LINE 958 "src/ehc/AbstractCore.chs" #-} acoreBuiltinGtInt :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => EHCOpts -> e -> Int -> e acoreBuiltinGtInt opts e i = acoreBuiltinApp opts ehbnPrimGtInt [e,acoreInt opts i] -{-# LINE 962 "src/ehc/AbstractCore.chs" #-}+{-# LINE 963 "src/ehc/AbstractCore.chs" #-} acoreBuiltinEqChar :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => EHCOpts -> Char -> e -> e acoreBuiltinEqChar opts c e = acoreBuiltinApp opts ehbnPrimEqChar [e,acoreChar opts c] -{-# LINE 967 "src/ehc/AbstractCore.chs" #-}+{-# LINE 968 "src/ehc/AbstractCore.chs" #-} -- | Creates a string expression. -- The expression represents a packed String, which can be passed to Haskell generated Core functions. acoreBuiltinString :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a)@@ -866,7 +855,7 @@     -> e acoreBuiltinString opts m = let x = acoreBuiltinApp opts ehbnPackedStringToString [acoreStringTy (acoreTyString opts) m] in x -{-# LINE 977 "src/ehc/AbstractCore.chs" #-}+{-# LINE 978 "src/ehc/AbstractCore.chs" #-} -- | Generates an error expression, failing with the given string when evaluated. ('error' in haskell) acoreBuiltinError :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a)     => EHCOpts@@ -878,7 +867,7 @@ acoreBuiltinUndefined :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => EHCOpts -> e acoreBuiltinUndefined opts = acoreBuiltinApp opts ehbnUndefined [] -{-# LINE 990 "src/ehc/AbstractCore.chs" #-}+{-# LINE 991 "src/ehc/AbstractCore.chs" #-} -- | Creates a Core 'Integer' constant. acoreBuiltinInteger :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a)     => EHCOpts@@ -886,13 +875,13 @@     -> e acoreBuiltinInteger opts i = acoreBuiltinApp opts ehbnPackedStringToInteger [acoreStringTy (acoreTyString opts) (show i)] -{-# LINE 999 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1000 "src/ehc/AbstractCore.chs" #-} -- | Builtin list singleton (note: hardcoded of tags) acoreBuiltinListSingleton :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => EHCOpts -> e -> e acoreBuiltinListSingleton opts e   = acoreTagTupTy (ctagCons opts) (acoreTyErr "acoreBuiltinListSingleton.Cons") [e, acoreTagTupTy (ctagNil opts) (acoreTyErr "acoreBuiltinListSingleton.Nil") []] -{-# LINE 1010 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1011 "src/ehc/AbstractCore.chs" #-} -- | when pat is con get tag acorePatConMbTag :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => p -> Maybe CTag acorePatConMbTag = fmap (\(tg,_,_) -> tg) . acorePatMbCon@@ -904,25 +893,25 @@                        -- <|> (const ctagChar)  <$> acorePatMbChar p                 ) . fst . acoreUnAlt -{-# LINE 1027 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1028 "src/ehc/AbstractCore.chs" #-} -- | bound name of binding acoreBindNm :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => b -> HsName acoreBindNm = fst . acoreUnBind {-# INLINE acoreBindNm #-} -{-# LINE 1038 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1039 "src/ehc/AbstractCore.chs" #-} -- | bound name of binding acorePatFldTy :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => t -> (HsName,e) -> HsName -> pf acorePatFldTy t lbloff n = acorePatFldBind lbloff (acoreBind1NmTy1 n t) {-# INLINE acorePatFldTy #-} -{-# LINE 1049 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1050 "src/ehc/AbstractCore.chs" #-} -- | possible expr of bound (may panic) acoreUnBoundVal :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => bound -> e acoreUnBoundVal = maybe (panic "acoreBoundMbVal") (\(_,a) -> a) . acoreBoundMbVal {-# INLINE acoreUnBoundVal #-} -{-# LINE 1060 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1061 "src/ehc/AbstractCore.chs" #-} -- | Construct 'if' expression. Hardcoded: tag nr, ordered alts (by tag) acoreIf :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => EHCOpts -> Maybe HsName -> e -> e -> e -> e acoreIf opts cn c t f@@ -934,12 +923,12 @@                Nothing {-(tcUndefined opts)-}       ) -{-# LINE 1073 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1074 "src/ehc/AbstractCore.chs" #-} acoreMatchChar :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => EHCOpts -> Maybe HsName -> Char -> e -> e -> e -> e acoreMatchChar opts cn cchar cexpr t f   = acoreIf opts cn (acoreBuiltinEqChar opts cchar cexpr) t f -{-# LINE 1103 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1104 "src/ehc/AbstractCore.chs" #-} data Coe' expr metaval bind bindasp ty   = Coe_Map             !(expr -> expr)                 -- normal, expression as function   | Coe_C               !expr                           -- constant@@ -958,7 +947,7 @@ instance Show (Coe' expr metaval bind bindasp ty) where   show _ = "COE" -{-# LINE 1140 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1141 "src/ehc/AbstractCore.chs" #-} -- | Coercions may either be applied or not on type arguments. --   In particular, due to lack of proper analysis (and generics code like generation), --   it is only known for arrow and product types how to construct a coercion from its type args, as they directly@@ -969,9 +958,12 @@ data CoeCtx   = CoeCtx_Allow   | CoeCtx_DontAllow-  deriving (Eq,Show)+  deriving+   ( Eq, Show+   , Typeable+   ) -{-# LINE 1158 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1164 "src/ehc/AbstractCore.chs" #-} -- | Non inspectable, most general, coercion acoreCoeMap :: (e -> e) -> Coe' e m b ba t acoreCoeMap = Coe_Map@@ -982,7 +974,7 @@ acoreCoeId = Coe_C acoreCoeArg {-# INLINE acoreCoeId #-} -{-# LINE 1170 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1176 "src/ehc/AbstractCore.chs" #-} acoreCoeLamLetTy :: HsName -> t -> UID -> Coe' e m b ba t acoreCoeLamLetTy = Coe_LamLet {-# INLINE acoreCoeLamLetTy #-}@@ -996,7 +988,7 @@ acoreCoeLetRec [] = acoreCoeId acoreCoeLetRec bs = Coe_LetRec bs -{-# LINE 1185 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1191 "src/ehc/AbstractCore.chs" #-} -- | Application still requiring a function acoreCoeApp1 :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => e -> Coe' e m b ba t acoreCoeApp1 = Coe_App1 -- a acoreMetavalDflt@@ -1013,7 +1005,7 @@ acoreCoeAppN as = acoreCoeMap (\e -> acoreApp e as) {-# INLINE acoreCoeAppN #-} -{-# LINE 1203 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1209 "src/ehc/AbstractCore.chs" #-} -- | Lambda still requiring a body acoreCoeLam1Ty :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => HsName -> t -> Coe' e m b ba t acoreCoeLam1Ty = Coe_Lam@@ -1023,7 +1015,7 @@ acoreCoeLam1 n = acoreCoeLam1Ty n (acoreTyErr "acoreCoeLam1") {-# INLINE acoreCoeLam1 #-} -{-# LINE 1214 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1220 "src/ehc/AbstractCore.chs" #-} -- | Composition of 2 Coe's acoreCoeCompose :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => Coe' e m b ba t -> Coe' e m b ba t -> Coe' e m b ba t acoreCoeCompose c1 c2@@ -1031,14 +1023,14 @@   | otherwise  = Coe_Compose c1 c2  -{-# LINE 1223 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1229 "src/ehc/AbstractCore.chs" #-} acoreCoePoiLApp :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => [PredOccId] -> [Coe' e m b ba t] acoreCoePoiLApp = map (\i -> acoreCoeApp1 (acoreNmHolePred i))  acoreCoeImplsApp :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => Impls -> [Coe' e m b ba t] acoreCoeImplsApp = acoreCoePoiLApp . implsPrIdL -{-# LINE 1231 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1237 "src/ehc/AbstractCore.chs" #-} acoreCoePoiLLamTy :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => Coe' e m b ba t -> [(PredOccId,t)] -> [Coe' e m b ba t] acoreCoePoiLLamTy onLast poiL   =  case map mk poiL of@@ -1051,19 +1043,19 @@ acoreCoeImplsLam :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => Coe' e m b ba t -> Impls -> [Coe' e m b ba t] acoreCoeImplsLam onLast is = acoreCoePoiLLamTy onLast (acoreTyErrLift "acoreCoeImplsLam" (implsPrIdL is)) -{-# LINE 1249 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1255 "src/ehc/AbstractCore.chs" #-} acoreCoeIsId :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => Coe' e m b ba t -> Bool acoreCoeIsId (Coe_C e) = acoreExprIsCoeArg e acoreCoeIsId _         = False -{-# LINE 1259 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1265 "src/ehc/AbstractCore.chs" #-} data CSubstKey   = CSKey_UID   UID   | CSKey_Nm    HsName   | CSKey_Ref   ACoreBindRef   deriving (Show,Eq,Ord) -{-# LINE 1267 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1273 "src/ehc/AbstractCore.chs" #-} data CSubstInfo' expr metaval bind bindasp ty   =  CSITy        { csiTy      :: !ty                   }@@ -1078,37 +1070,37 @@ instance Show (CSubstInfo' e m b ba t) where   show _ = "CSubstInfo'" -{-# LINE 1285 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1291 "src/ehc/AbstractCore.chs" #-} type CSubst' e m b ba t = Map.Map CSubstKey (CSubstInfo' e m b ba t)  emptyCSubst :: CSubst' e m b ba t emptyCSubst = Map.empty -{-# LINE 1296 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1302 "src/ehc/AbstractCore.chs" #-} acoreCSubstFromNmTyL :: AssocL HsName t -> CSubst' e m b ba t acoreCSubstFromNmTyL l = Map.fromList [ (CSKey_Nm k,CSITy v) | (k,v) <- l ] -{-# LINE 1301 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1307 "src/ehc/AbstractCore.chs" #-} acoreCSubstFromRefExprL :: AssocL ACoreBindRef e -> CSubst' e m b ba t acoreCSubstFromRefExprL l = Map.fromList [ (CSKey_Ref k,CSIExpr v) | (k,v) <- l ] -{-# LINE 1306 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1312 "src/ehc/AbstractCore.chs" #-} acoreCSubstFromUidExprL :: AssocL UID e -> CSubst' e m b ba t acoreCSubstFromUidExprL l = Map.fromList [ (CSKey_UID k,CSIExpr v) | (k,v) <- l ] -{-# LINE 1311 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1317 "src/ehc/AbstractCore.chs" #-} acoreCSubstFromUidBindLL :: AssocL UID [b] -> CSubst' e m b ba t acoreCSubstFromUidBindLL l = Map.fromList [ (CSKey_UID k,CSIBinds v) | (k,v) <- l ]  acoreCSubstFromUidImplsL :: AssocL UID ([Coe' e m b ba t],[Coe' e m b ba t]) -> CSubst' e m b ba t acoreCSubstFromUidImplsL l = Map.fromList [ (CSKey_UID k,uncurry CSIImpls v) | (k,v) <- l ] -{-# LINE 1323 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1329 "src/ehc/AbstractCore.chs" #-} -- | Combine CSubst: union only, application is postponed cSubstAppSubst :: CSubst' e m b ba t -> CSubst' e m b ba t -> CSubst' e m b ba t cSubstAppSubst = Map.union -{-# LINE 1333 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1339 "src/ehc/AbstractCore.chs" #-} infixr `cSubstApp`  class CSubstitutable       e m b ba t a@@ -1119,7 +1111,7 @@ instance CSubstitutable e m b ba t (CSubst' e m b ba t) where   cSubstApp cs s = cs `cSubstAppSubst` s -{-# LINE 1349 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1355 "src/ehc/AbstractCore.chs" #-} data RAlt' e t b pr   = RAlt_Alt            { rcaPats :: ![RPat' e t b pr], raaExpr :: !e, raaFailS :: UIDS } @@ -1140,14 +1132,14 @@  type RCEAltL' e t b pr = [RAlt' e t b pr] -{-# LINE 1373 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1379 "src/ehc/AbstractCore.chs" #-} rcaPat :: RAlt' e t b pr -> RPat' e t b pr rcaPat = head . rcaPats  raltLPatNms :: [RAlt' e t b pr] -> [RPatNm] raltLPatNms = nub . sort . map (rcpPNm . rcaPat) -{-# LINE 1381 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1387 "src/ehc/AbstractCore.chs" #-} rpatConTag :: RPat' e t b pr -> CTag rpatConTag (RPat_Int  _ _ _ )  = ctagInt rpatConTag (RPat_Char _ _ _ )  = ctagChar@@ -1156,7 +1148,7 @@ rcaTag :: RAlt' e t b pr -> CTag rcaTag = rpatConTag . head . rcaPats -{-# LINE 1391 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1397 "src/ehc/AbstractCore.chs" #-} raltIsVar :: RAlt' e t b pr -> Bool raltIsVar (RAlt_Alt (RPat_Var _ _ _ : _) _ _)  = True raltIsVar _                                    = False@@ -1169,17 +1161,17 @@         c _                  = False raltIsConst _                = False -{-# LINE 1405 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1411 "src/ehc/AbstractCore.chs" #-} raltIsConMany :: RAlt' e t b pr -> Bool raltIsConMany (RAlt_Alt (RPat_Con _ _ _ (RPatConBind_Many _) : _) _ _) = True raltIsConMany _                                                        = False -{-# LINE 1411 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1417 "src/ehc/AbstractCore.chs" #-} raltIsIrrefutable :: RAlt' e t b pr -> Bool raltIsIrrefutable (RAlt_Alt (RPat_Irrefutable _ _ _ : _) _ _) = True raltIsIrrefutable _                                           = False -{-# LINE 1417 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1423 "src/ehc/AbstractCore.chs" #-} raltMbBoolExpr :: RAlt' e t b pr -> Maybe (Maybe SrcConst) raltMbBoolExpr (RAlt_Alt (RPat_BoolExpr _ _ _ e : _) _ _)  = Just e raltMbBoolExpr _                                           = Nothing@@ -1187,13 +1179,13 @@ raltIsBoolExpr :: RAlt' e t b pr -> Bool raltIsBoolExpr = isJust . raltMbBoolExpr -{-# LINE 1428 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1434 "src/ehc/AbstractCore.chs" #-} rpatConBindUnFlatten :: RPatConBind' e t b pr -> [RPatConBind' e t b pr] -> RPatConBind' e t b pr rpatConBindUnFlatten z []  = z rpatConBindUnFlatten _ [b] = b rpatConBindUnFlatten _ bs  = RPatConBind_Many bs -{-# LINE 1439 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1445 "src/ehc/AbstractCore.chs" #-} acoreRPat2Pat :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => RPat' e t b pr -> p acoreRPat2Pat p   = case p of@@ -1204,7 +1196,7 @@       RPat_Char     n ty v    -> acorePatCharTy ty v       RPat_BoolExpr n _  v _  -> acorePatBoolExpr  v -{-# LINE 1453 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1459 "src/ehc/AbstractCore.chs" #-} acoreRPatConBind2PatConBind :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => RPatConBind' e t b pr -> (pr,[pf]) acoreRPatConBind2PatConBind b   = case b of@@ -1214,17 +1206,17 @@ acoreRPatBind2PatFld :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => RPatFld' e t b pr -> pf acoreRPatBind2PatFld (RPatFld_Fld l o _ p@(RPat_Var n _ _)) = acorePatFldTy (rcpTy p) (l,o) (rpatNmNm n) -{-# LINE 1470 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1476 "src/ehc/AbstractCore.chs" #-} ctagTrue, ctagFalse :: EHCOpts -> CTag ctagTrue  opts = CTag (ehcOptBuiltin opts ehbnDataBool) (ehcOptBuiltin opts ehbnBoolTrue)  tagBoolTrue  0 0        -- this makes it hardcoded, ideally dependent on datatype def itself !! ctagFalse opts = CTag (ehcOptBuiltin opts ehbnDataBool) (ehcOptBuiltin opts ehbnBoolFalse) tagBoolFalse 0 0        -- this makes it hardcoded, ideally dependent on datatype def itself !! -{-# LINE 1482 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1488 "src/ehc/AbstractCore.chs" #-} ctagCons, ctagNil :: EHCOpts -> CTag ctagCons opts = CTag (ehcOptBuiltin opts ehbnDataList) (ehcOptBuiltin opts ehbnDataListAltCons) tagListCons 2 2       -- this makes it hardcoded, ideally dependent on datatype def itself !! ctagNil  opts = CTag (ehcOptBuiltin opts ehbnDataList) (ehcOptBuiltin opts ehbnDataListAltNil ) tagListNil  0 2       -- this makes it hardcoded, ideally dependent on datatype def itself !! -{-# LINE 1492 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1498 "src/ehc/AbstractCore.chs" #-} -- | Reason to fail a case alternative data CaseAltFailReason   = CaseAltFailReason_Absence                   -- failed because of absence@@ -1237,23 +1229,22 @@   pp (CaseAltFailReason_Continue i) = pp i   pp (CaseAltFailReason_Absence   ) = pp "absent" -{-# LINE 1506 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1512 "src/ehc/AbstractCore.chs" #-} cafailHasId :: CaseAltFailReason -> (Bool,UID) cafailHasId (CaseAltFailReason_Absence   ) = (False,uidUnused) cafailHasId (CaseAltFailReason_Continue i) = (True ,i) -{-# LINE 1512 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1518 "src/ehc/AbstractCore.chs" #-} deriving instance Typeable CaseAltFailReason-deriving instance Data CaseAltFailReason -{-# LINE 1521 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1526 "src/ehc/AbstractCore.chs" #-} data AppFunKind   = AppFunKind_NoApp                    -- inlined Nothing   | AppFunKind_Fun  ACoreBindRef   | AppFunKind_Tag  CTag   | AppFunKind_FFI -{-# LINE 1533 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1538 "src/ehc/AbstractCore.chs" #-}  -- | What kind of Expr? data WhatExpr@@ -1270,7 +1261,7 @@   | ExprIsBind 	HsName   deriving Eq -{-# LINE 1551 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1556 "src/ehc/AbstractCore.chs" #-} -- | is an var? whatExprMbVar :: WhatExpr -> Maybe HsName whatExprMbVar (ExprIsVar a) = Just a@@ -1301,7 +1292,7 @@ whatExprAppArity (ExprIsApp a _) = a whatExprAppArity _               = 0 -{-# LINE 1583 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1588 "src/ehc/AbstractCore.chs" #-} whatExprIsWHNF :: WhatExpr -> Bool whatExprIsWHNF (ExprIsLam _ _) 	= True whatExprIsWHNF (ExprIsVar _) 	= True@@ -1310,7 +1301,7 @@ whatExprIsWHNF ExprIsOtherWHNF 	= True whatExprIsWHNF _ 				= False -{-# LINE 1593 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1598 "src/ehc/AbstractCore.chs" #-} whatExprIsBind :: WhatExpr -> Bool whatExprIsBind = isJust . whatExprMbBind {-# INLINE whatExprIsBind #-}@@ -1325,19 +1316,18 @@ whatExprIsTup _             = False  -{-# LINE 1609 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1614 "src/ehc/AbstractCore.chs" #-} -- | Is Expr a FFI? whatExprIsFFI :: WhatExpr -> Bool whatExprIsFFI (ExprIsFFI  ) = True whatExprIsFFI _             = False  -{-# LINE 1627 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1632 "src/ehc/AbstractCore.chs" #-} instance Serialize ACoreBindAspectKey where   sput (ACoreBindAspectKey_Default       ) = sputWord8 0   sput (ACoreBindAspectKey_Strict        ) = sputWord8 1   sput (ACoreBindAspectKey_Ty            ) = sputWord8 2-  sput (ACoreBindAspectKey_RelevTy       ) = sputWord8 3   sput (ACoreBindAspectKey_Debug         ) = sputWord8 4   sput (ACoreBindAspectKey_Core          ) = sputWord8 5   sput (ACoreBindAspectKey_FusionRole    ) = sputWord8 7@@ -1347,17 +1337,16 @@         0 -> return ACoreBindAspectKey_Default         1 -> return ACoreBindAspectKey_Strict         2 -> return ACoreBindAspectKey_Ty-        3 -> return ACoreBindAspectKey_RelevTy         4 -> return ACoreBindAspectKey_Debug         5 -> return ACoreBindAspectKey_Core         7 -> return ACoreBindAspectKey_FusionRole -{-# LINE 1658 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1667 "src/ehc/AbstractCore.chs" #-} instance Serialize ACoreBindRef where   sput (ACoreBindRef a b) = sput a >> sput b   sget = liftM2 ACoreBindRef sget sget -{-# LINE 1664 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1673 "src/ehc/AbstractCore.chs" #-} instance Serialize CaseAltFailReason where   sput (CaseAltFailReason_Continue a) = sputWord8 0 >> sput a   sput (CaseAltFailReason_Absence   ) = sputWord8 1@@ -1367,13 +1356,13 @@       0 -> liftM  CaseAltFailReason_Continue sget       1 -> return CaseAltFailReason_Absence -{-# LINE 1679 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1688 "src/ehc/AbstractCore.chs" #-} instance PP CSubstKey where   pp (CSKey_UID i)  = pp i   pp (CSKey_Nm  n)  = pp n   pp (CSKey_Ref r)  = pp r -{-# LINE 1686 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1695 "src/ehc/AbstractCore.chs" #-} instance (PP expr, PP ty) => PP (CSubstInfo' expr metaval bind bindasp ty) where   pp (CSITy         t    )  = pp t   pp (CSIExpr       e    )  = pp e
− src/UHC/Light/Compiler/AnaDomain.hs
@@ -1,561 +0,0 @@----- UUAGC 0.9.52.1 (build/103/lib-ehc/UHC/Light/Compiler/AnaDomain.ag)-module UHC.Light.Compiler.AnaDomain(QualAGItf (..), TyAGItf (..), CoeAGItf (..)-, AnaEval (..), AnaEvalL, RelevTy (..), RelevTyL, MbRelevTy, RelevQual (..), RelevQualL, RelevCoe (..), RelevCoeL-, RQuant (..)-, RelevQualS-, (<.>)-, relevtyAnaEval-, AnaLattice (..)-, freshStrict, freshLazy-, anaMkBotFun-, relevCoeUnCompose-, relevCoeToComposeList-, RVarMpInfo (..)-, rvmiMbEval-, RVarMp, emptyRVarMp-, rvarmpEvalUnit-, rvarmpKeysSet, rvarmpUnions-, AnaMatchState (..), AMS, emptyAnaMatchState-, AMSOut (..), emptyAMSOut, amsoMkOk-, amsLE, amsRunMb) where--import UHC.Light.Compiler.Base.HsName.Builtin-import UHC.Light.Compiler.Base.Common-import UHC.Light.Compiler.Opts.Base-import UHC.Light.Compiler.VarMp-import qualified Data.Map as Map-import qualified Data.Set as Set-import Data.List-import Data.Maybe-import Control.Monad.State-import Control.Applicative-import UHC.Util.Utils-import Control.Monad hiding (join)-import UHC.Util.Serialize-import UHC.Util.Control.Monad (liftM6)-------------------- | quantifier for RelevTy_Fun-data RQuant-  = RQuant_Forall		-- the usual universal instantiation-  | RQuant_Rec			-- quantified for mutual recursive use, instantiates differently-  | RQuant_None			-- not quantified-  deriving-    ( Eq, Ord, Enum-    , Typeable, Data-    )----instance Show RQuant where-  show RQuant_Forall 	= "A"-  show RQuant_Rec 		= "R"-  show RQuant_None    	= ""----type RelevQualS = Set.Set RelevQual----infixl 3 `RelevCoe_Comp`-infixl 3 <.>---- | smart variant of RelevCoe_Comp-(<.>) :: RelevCoe -> RelevCoe -> RelevCoe-RelevCoe_Id           <.> r                   = r-l                     <.> RelevCoe_Id         = l-RelevCoe_Eval   ll lr <.> RelevCoe_Eval rl rr-  | lr == rl                                  = RelevCoe_Eval ll rr-RelevCoe_CastTy ll (RelevTy_Ana lr)-                      <.> RelevCoe_Eval rl rr-  | lr == rl                                  = RelevCoe_CastTy ll (RelevTy_Ana rr)-l                     <.> RelevCoe_Comp rl rr = (l <.> rl) `RelevCoe_Comp` rr-RelevCoe_Comp   ll lr <.> r                   = ll `RelevCoe_Comp` (lr <.> r)-l                     <.> r                   = RelevCoe_Comp l r----relevtyAnaEval (RelevTy_Ana e) = e-relevtyAnaEval _               = panic "AnaDomain.relevtyAnaEval"----class AnaLattice a where-  top   :: a-  bot   :: a--  isTop :: a -> Bool-  isBot :: a -> Bool-  isVar :: a -> Maybe UID--  fresh :: UID -> a--  meetl  :: a -> a -> AMS (Maybe a)-  joinl  :: a -> a -> AMS (Maybe a)--  -- base <= base-  leBB_l :: a -> a -> AMS (AMSOut a)-  leBB_r :: a -> a -> AMS (AMSOut a)-  leBB_l = leBB-  leBB_r = leBB--  -- base <= base-  leBB :: a -> a -> AMS (AMSOut a)-  leBB = leBB_l--  -- base <= fun, default compares to fun result-  leBF :: a -> [a] -> a -> AMS (AMSOut a)-  leBF b fa fr = leBB b fr------ | wrap action inside var looking up-anaVar-  :: AnaLattice x-     => (UID -> AnaMatchState -> Maybe x)       -- lookup-     -> res                          			-- when vars are equal anyway-     -> (x -> AMS res)                          -- when var found-     -> (x -> x -> AMS res)                     -- when var is not found-     -> UID -> x -> x-     -> AMS res-anaVar lkupVar dflt found notfound v1 a1 a2-  = do { s <- get-       ; let isV2@(~(Just v2)) = isVar a2-       ; if isJust isV2 && v1 == v2-         then return dflt-         else case lkupVar v1 s of-                Just a1' -> found    a1'-                _        -> notfound a1 a2-       }--anaBind-  :: (UID -> x -> RVarMp)-     -> (x -> res)-     -> UID -> x-     -> AMS res-anaBind mkVM mkRes v1 a2-  = do { s <- get-       ; put (amsBind (mkVM v1) a2 s)-       ; return $ mkRes a2-       }----instance AnaLattice AnaEval where-  top   = AnaEval_Lazy-  bot   = AnaEval_WHNF--  isTop AnaEval_Lazy = True-  isTop _            = False--  isBot AnaEval_WHNF = True-  isBot _            = False--  isVar (AnaEval_Var v) = Just v-  isVar _               = Nothing--  fresh = AnaEval_Var--  meetl a1@(AnaEval_Var v1) a2              = anaVar amsLookupEval (Just a1) (meetl a2) anaEvalMeet v1 a1 a2-  meetl a1 a2@(AnaEval_Var v2)              = anaVar amsLookupEval (Just a1) (meetl a1) anaEvalMeet v2 a2 a1-  meetl a1 a2                               = anaEvalMeet a1 a2--  joinl a1@(AnaEval_Var v1) a2              = anaVar amsLookupEval (Just a1) (joinl a2) anaEvalJoin v1 a1 a2-  joinl a1 a2@(AnaEval_Var v2)              = anaVar amsLookupEval (Just a1) (joinl a1) anaEvalJoin v2 a2 a1-  joinl a1 a2                               = anaEvalJoin a1 a2--  leBB_l a1@(AnaEval_Var v1) a2             = anaVar amsLookupEval (amsoMkOk a1 a1 $ RelevCoe_Eval a1 a1) (flip leBB_l a2)       leBB_r     v1 a1 a2-  leBB_l a1 a2                              = leBB_r a1 a2-  leBB_r a1 a2@(AnaEval_Var v2)             = anaVar amsLookupEval (amsoMkOk a1 a1 $ RelevCoe_Eval a1 a1) (     leBB_r a1) (flip anaEvalLE) v2 a2 a1-  leBB_r a1 a2                              = anaEvalLE a1 a2------- | meet or join for 2 element lattice (only bot+top), nothing in between-anaMeetOrJoin-  :: AnaLattice x-     => (UID -> x -> RVarMp)		-- make var mapping (subst)-     -> Bool						-- is meet (True) or join (False)-     -> x -> x-     -> AMS (Maybe x)-anaMeetOrJoin mkVM isM a1 a2-  = mt False a1 a2-  where mt flip a1 a2-          | isB && isM  = return $ Just a1-          | isB         = return $ Just a2-          | isT && isM  = return $ Just a2-          | isT         = return $ Just a1-          | not flip    = mt True a2 a1-          | isJust m1 && isJust m2-                        = do { s <- get-                             ; let bound = amsBoundS s-                             ;      if not (v1 `Set.member` bound) then bind v1 a2-                               else if not (v2 `Set.member` bound) then bind v2 a1-                               else return Nothing-                             }-          | otherwise   = return Nothing-                        where m1@(~(Just v1)) = isVar a1-                              m2@(~(Just v2)) = isVar a2-                              -- areV = isJust m1 && isJust m2-                              isB  = isBot a1-                              isT  = isTop a1-        bind = anaBind mkVM Just---- | meet, join, specialized for AnaEval-anaEvalMeet, anaEvalJoin :: AnaEval -> AnaEval -> AMS (Maybe AnaEval)-anaEvalMeet = anaMeetOrJoin rvarmpEvalUnit True-anaEvalJoin = anaMeetOrJoin rvarmpEvalUnit False--anaEvalLE :: AnaEval -> AnaEval -> AMS (AMSOut AnaEval)-anaEvalLE a1 a2-  = le a1 a2-  where le a1@(AnaEval_Var v1) a2@(AnaEval_WHNF  )   = bind  v1 a2                        -- can't get lower than bot-        le a1@(AnaEval_Var v1) a2                    = delay a1 a2                        -- rest is delayed-        le a1@(AnaEval_Lazy  ) a2@(AnaEval_Var v2)   = bind  v2 a1                        -- can't get higher than top-        le a1                  a2@(AnaEval_Var v2)   = delay a1 a2                        -- rest is delayed-        le a1@(AnaEval_WHNF  ) a2@(AnaEval_WHNF  )   = return $ amsoMkOk a1 a2 (RelevCoe_Eval a1 a2)-        le a1@(AnaEval_WHNF  ) a2@(AnaEval_Lazy  )   = coe   a1 a2                        -- forget that it is alreay evaluated-        le a1@(AnaEval_Lazy  ) a2@(AnaEval_Lazy  )   = return $ amsoMkOk a1 a2 (RelevCoe_Eval a1 a2)-        le a1@(AnaEval_Lazy  ) a2@(AnaEval_WHNF  )   = coe' RelevCoe_Cast a1 a2           -- permitted, but not without marking as casting required, according to lattice-        le a1                  a2                    = return $ amsoMkFail -- Ok a1 a2 (RelevCoe_Err "anaEvalLE")--        bind = anaBind rvarmpEvalUnit (\a2 -> amsoMkOk a2 a2 $ RelevCoe_Eval a2 a2)--        -- | coerce-        coe' wrap l h = return $ amsoMkOk l h (RelevCoe_Eval l h)-        coe = coe' id--        -- | postpone by generating a qualification, to be solved later, or to end up in a signature-        delay l h-          = do { s <- get-               ; put (amsQual (RelevQual_SubEval l h) s)-               ; return $ amsoMkOk l h (RelevCoe_Eval l h)-               }------ | Only valid for RelevTy_Ana as aggregrate of domains-instance AnaLattice RelevTy where-  top       = RelevTy_Ana top-  bot       = RelevTy_Ana bot--  isTop (RelevTy_Ana a1) = isTop a1-  isBot (RelevTy_Ana a1) = isBot a1-  isVar _                = Nothing-  -- isVar (RelevTy_Ana a1) = do { v1 <- isVar a1 ; return v1 }--  fresh u   = RelevTy_Ana (fresh u1)-            where (_,u1) = mkNewLevUID u--  meetl  (RelevTy_Ana a11) (RelevTy_Ana a21) = liftM (fmap RelevTy_Ana) (meetl  a11 a21)-  meetl  _                 _                 = return Nothing--  joinl  (RelevTy_Ana a11) (RelevTy_Ana a21) = liftM (fmap RelevTy_Ana) (joinl  a11 a21)-  joinl  _                 _                 = return Nothing--  leBB  (RelevTy_Ana a11) (RelevTy_Ana a21) = do { AMSOut l h c True <- leBB a11 a21-                                                 ; return $ amsoMkOk (RelevTy_Ana l) (RelevTy_Ana h) c-                                                 }-  leBB  (RelevTy_Fun _ _ _ a1 r1) (RelevTy_Fun _ _ _ a2 r2)-                                            = do { r_amso <- leBB r1 r2-                                                 ; a_amso <- mapM (uncurry leBB) (zip a2 a1)-                                                 ; return $ amsoMk (RelevTy_Fun  RQuant_None [] [] (map amsoHi  a_amso) (amsoLo  r_amso))-                                                                   (RelevTy_Fun  RQuant_None [] [] (map amsoLo  a_amso) (amsoHi  r_amso))-                                                                   (RelevCoe_Fun                   (map amsoCoe a_amso) (amsoCoe r_amso))-                                                                   (and $ amsoIsOk r_amso : map amsoIsOk a_amso)-                                                 }-  -- others lead to a constraint between t1 and function result, with a coercion between t1 and whole function t2-  -- Note: this has to be delegated to actual AnaDomain...-  {--  leBB  t1 t2@(RelevTy_Fun _ _ a2 r2)-                                            = do { f_amso <- leBF t1 a2 r2-                                                 ; let t1' = anaMkBotFun (length a2)-                                                 ; return $ AMSOut (RelevTy_Fun  [] [] (map amsoHi  a_amso) (amsoLo  r_amso))-                                                                   (RelevTy_Fun  [] [] (map amsoLo  a_amso) (amsoHi  r_amso))-                                                                   (RelevCoe_Fun       (map amsoCoe a_amso) (amsoCoe r_amso))-                                                 }-  -}-  leBB  _                 _                 = return $ amsoMkFail -- Ok (RelevTy_Err "leBB.lo") (RelevTy_Err "leBB.hi") (RelevCoe_Err "leBB")--  {--  leBB  (RelevTy_Ana a11) (RelevTy_Ana a21) = do { AMSOut l h c <- leBB a11 a21-                                                 ; return $ AMSOut (RelevTy_Ana l) (RelevTy_Ana h) c-                                                 }-  leBB  _                 _                 = return $ AMSOut (RelevTy_Err "leBB.lo") (RelevTy_Err "leBB.hi") (RelevCoe_Err "leBB")-  -}------ | bottom only for AnaEval lattice, otherwise fresh-freshStrict :: UID -> RelevTy-freshStrict u-  = case fresh u of-      RelevTy_Ana _ -> RelevTy_Ana bot---- | top only for AnaEval lattice, otherwise fresh-freshLazy :: UID -> RelevTy-freshLazy u-  = case fresh u of-      RelevTy_Ana _ -> RelevTy_Ana top------ | construct 'worst case' assuming function signature, where we assume function assumes nothing and we cannot assume anything about result, except for the result being bottom (i.e. strict)-anaMkBotFun :: Int -> RelevTy-anaMkBotFun arity = RelevTy_Fun RQuant_None [] [] (replicate arity top) bot------ | decompose RelevCoe composition in top and below-relevCoeUnCompose :: RelevCoe -> (RelevCoe,[RelevCoe])-relevCoeUnCompose (RelevCoe_Comp l r)-  = (l, u r)-  where u (RelevCoe_Comp l r) = l : u r-        u c                   = [c]-relevCoeUnCompose c = (c, [])------ | decompose RelevCoe composition in list of subsequently applied coe's-relevCoeToComposeList :: RelevCoe -> [RelevCoe]-relevCoeToComposeList c-  = u [] c-  where u a (RelevCoe_Comp l r) = let a' = u a r in u a' l-        u a c                   = [c] ++ a----data RVarMpInfo             -- for all types of Var alternatives an alternative here-  = RVMIEval    AnaEval----rvmiMbEval :: RVarMpInfo -> Maybe AnaEval-rvmiMbEval (RVMIEval x) = Just x--- for now, until more alternatives are in it--- rvmiMbEval _            = Nothing----type RVarMp  = VarMpStk' UID RVarMpInfo--emptyRVarMp :: RVarMp-emptyRVarMp = emptyVarMpStk----rvarmpEvalUnit :: UID -> AnaEval -> RVarMp--- poor mens occurcheck...--- rvarmpEvalUnit v (AnaEval_Var v2) | v == v2  = emptyRVarMp-rvarmpEvalUnit v i                           = varmpstkUnit v (RVMIEval i)  -- [mkVarMp (Map.fromList [(v,RVMIEval i)])]------ | renaming-rvarmpKeysSet :: RVarMp -> Set.Set UID-rvarmpKeysSet = varmpstkKeysSet--rvarmpUnions :: [RVarMp] -> RVarMp-rvarmpUnions = varmpstkUnions------ | state maintained during matching-data AnaMatchState-  = AnaMatchState-      { amsBoundS           :: !UIDS        -- vars which are already bound-      , amsOuterVarMp       :: !RVarMp      -- as known from outside matching-      , amsLocalVarMp       :: !RVarMp      -- as gathered during a match (1 invocation of runState)-      , amsGathQual         :: !RelevQualS  -- gathered constraints-      }--type AMS    a = State AnaMatchState a--emptyAnaMatchState :: AnaMatchState-emptyAnaMatchState = AnaMatchState Set.empty emptyRVarMp emptyRVarMp Set.empty--instance Show AnaMatchState where-  show x = "AMS " ++ s (amsOuterVarMp x) ++ s (amsLocalVarMp x)-    where s m = show (assocLMapElt rvmiMbEval $ varmpstkToAssocL m)------ | direct (non state) output of matching-data AMSOut a-  = AMSOut-      { amsoLo      :: a-      , amsoHi      :: a-      , amsoCoe     :: RelevCoe-      , amsoIsOk	:: Bool-      }--emptyAMSOut :: AnaLattice a => AMSOut a-emptyAMSOut = AMSOut bot top RelevCoe_Id True--amsoMk :: a -> a -> RelevCoe -> Bool -> AMSOut a-amsoMk l h c ok = AMSOut l h c ok--amsoMkOk :: a -> a -> RelevCoe -> AMSOut a-amsoMkOk l h c = amsoMk l h c True--amsoMkFail :: AnaLattice a => AMSOut a-amsoMkFail = emptyAMSOut {amsoIsOk = False}--instance Show a => Show (AMSOut a) where-  show x = "AMSOut (" ++ show (amsoLo x) ++ " <= " ++ show (amsoHi x) ++ ")"----amsBind :: (x -> RVarMp) -> x -> AnaMatchState -> AnaMatchState-amsBind b a s = s {amsLocalVarMp = b a |+> amsLocalVarMp s}--amsQual :: RelevQual -> AnaMatchState -> AnaMatchState-amsQual q s = s {amsGathQual = Set.insert q (amsGathQual s)}------ | run leBB-amsLE :: AnaLattice x => RVarMp -> x -> x -> (AMSOut x,AnaMatchState)-amsLE m x1 x2 = runState (leBB x1 x2) (emptyAnaMatchState {amsOuterVarMp = m})---- | run a Maybe returning AMS-amsRunMb :: AnaMatchState -> AMS (Maybe x) -> Maybe (x,AnaMatchState)-amsRunMb s ams-  = case runState ams s of-      (Just x, s) -> Just (x,s)-      _           -> Nothing------ | Lookup in VarMp's of AnaMatchState-amsLookup :: UID -> AnaMatchState -> Maybe RVarMpInfo-amsLookup i s = varmpLookup i (amsOuterVarMp s) <|> varmpLookup i (amsLocalVarMp s)--amsLookupEval :: UID -> AnaMatchState -> Maybe AnaEval-amsLookupEval i s = do { i <- amsLookup i s ; rvmiMbEval i }----instance Serialize RQuant where-  sput = sputEnum8-  sget = sgetEnum8--instance Serialize RelevQual where-  sput (RelevQual_SubEval a b        ) = sputWord8 0 >> sput a >> sput b-  -- sput (RelevQual_Alt     a b c d e f) = sputWord8 1 >> sput a >> sput b >> sput c >> sput d >> sput e >> sput f-  sget-    = do t <- sgetWord8-         case t of-            0 -> liftM2 RelevQual_SubEval         sget sget-            -- 1 -> liftM6 RelevQual_Alt             sget sget sget sget sget sget--instance Serialize RelevTy where-  sput (RelevTy_Ana   a        ) = sputWord8 0 >> sput a-  sput (RelevTy_Fun   a b c d e) = sputWord8 1 >> sput a >> sput b >> sput c >> sput d >> sput e-  sput (RelevTy_None           ) = sputWord8 2-  sput (RelevTy_Err   a        ) = sputWord8 3 >> sput a-  sget-    = do t <- sgetWord8-         case t of-            0 -> liftM  RelevTy_Ana         sget-            1 -> liftM5 RelevTy_Fun         sget sget sget sget sget-            2 -> return RelevTy_None-            3 -> liftM  RelevTy_Err         sget--instance Serialize RelevCoe where-  sput (RelevCoe_Id             ) = sputWord8 0-  sput (RelevCoe_Err     a      ) = sputWord8 1 >> sput a-  sput (RelevCoe_Comp    a b    ) = sputWord8 2 >> sput a >> sput b-  sput (RelevCoe_Fun     a b    ) = sputWord8 3 >> sput a >> sput b-  sput (RelevCoe_Cast    a      ) = sputWord8 4 >> sput a-  sput (RelevCoe_Eval    a b    ) = sputWord8 5 >> sput a >> sput b-  sput (RelevCoe_CastTy  a b    ) = sputWord8 6 >> sput a >> sput b-  sget-    = do t <- sgetWord8-         case t of-            0 -> return RelevCoe_Id-            1 -> liftM  RelevCoe_Err         sget-            2 -> liftM2 RelevCoe_Comp        sget sget-            3 -> liftM2 RelevCoe_Fun         sget sget-            4 -> liftM  RelevCoe_Cast        sget-            5 -> liftM2 RelevCoe_Eval        sget sget-            6 -> liftM2 RelevCoe_CastTy      sget sget--instance Serialize AnaEval where-  sput (AnaEval_Var   a      ) = sputWord8 0 >> sput a-  sput (AnaEval_WHNF         ) = sputWord8 1-  sput (AnaEval_Lazy         ) = sputWord8 2-  sput (AnaEval_Meet  a      ) = sputWord8 3 >> sput a-  sput (AnaEval_Join  a      ) = sputWord8 4 >> sput a-  sget-    = do t <- sgetWord8-         case t of-            0 -> liftM  AnaEval_Var         sget-            1 -> return AnaEval_WHNF-            2 -> return AnaEval_Lazy-            3 -> liftM  AnaEval_Meet        sget-            4 -> liftM  AnaEval_Join        sget---- AnaEval ------------------------------------------------------data AnaEval = AnaEval_Var {av_AnaEval_Var :: !(UID)}-             | AnaEval_WHNF {}-             | AnaEval_Lazy {}-             | AnaEval_Meet {opnds_AnaEval_Meet :: !(AnaEvalL)}-             | AnaEval_Join {opnds_AnaEval_Join :: !(AnaEvalL)}-             deriving ( Data,Eq,Ord,Show,Typeable)--- AnaEvalL -----------------------------------------------------type AnaEvalL = [AnaEval]--- CoeAGItf -----------------------------------------------------data CoeAGItf = CoeAGItf_AGItf {relevCoe_CoeAGItf_AGItf :: !(RelevCoe)}-              deriving ( Data,Eq,Ord,Show,Typeable)--- MbRelevTy ----------------------------------------------------type MbRelevTy = Maybe (RelevTy)--- QualAGItf ----------------------------------------------------data QualAGItf = QualAGItf_AGItf {relevQual_QualAGItf_AGItf :: !(RelevQual)}-               deriving ( Data,Eq,Ord,Show,Typeable)--- RelevCoe -----------------------------------------------------data RelevCoe = RelevCoe_Id {}-              | RelevCoe_Err {str_RelevCoe_Err :: !(String)}-              | RelevCoe_Comp {l_RelevCoe_Comp :: !(RelevCoe),r_RelevCoe_Comp :: !(RelevCoe)}-              | RelevCoe_Fun {args_RelevCoe_Fun :: !(RelevCoeL),res_RelevCoe_Fun :: !(RelevCoe)}-              | RelevCoe_Cast {coe_RelevCoe_Cast :: !(RelevCoe)}-              | RelevCoe_CastTy {l_RelevCoe_CastTy :: !(RelevTy),r_RelevCoe_CastTy :: !(RelevTy)}-              | RelevCoe_Eval {from_RelevCoe_Eval :: !(AnaEval),to_RelevCoe_Eval :: !(AnaEval)}-              deriving ( Data,Eq,Ord,Show,Typeable)--- RelevCoeL ----------------------------------------------------type RelevCoeL = [RelevCoe]--- RelevQual ----------------------------------------------------data RelevQual = RelevQual_SubEval {l_RelevQual_SubEval :: !(AnaEval),r_RelevQual_SubEval :: !(AnaEval)}-               deriving ( Data,Eq,Ord,Show,Typeable)--- RelevQualL ---------------------------------------------------type RelevQualL = [RelevQual]--- RelevTy ------------------------------------------------------data RelevTy = RelevTy_None {}-             | RelevTy_Err {str_RelevTy_Err :: !(String)}-             | RelevTy_Ana {eval_RelevTy_Ana :: !(AnaEval)}-             | RelevTy_Fun {quant_RelevTy_Fun :: !(RQuant),quants_RelevTy_Fun :: !(([UID])),quals_RelevTy_Fun :: !(RelevQualL),args_RelevTy_Fun :: !(RelevTyL),res_RelevTy_Fun :: !(RelevTy)}-             deriving ( Data,Eq,Ord,Show,Typeable)--- RelevTyL -----------------------------------------------------type RelevTyL = [RelevTy]--- TyAGItf ------------------------------------------------------data TyAGItf = TyAGItf_AGItf {relevTy_TyAGItf_AGItf :: !(RelevTy)}-             deriving ( Data,Eq,Ord,Show,Typeable)
− src/UHC/Light/Compiler/AnaDomain/Ftv.hs
@@ -1,568 +0,0 @@----- UUAGC 0.9.52.1 (build/103/lib-ehc/UHC/Light/Compiler/AnaDomain/Ftv.)-module UHC.Light.Compiler.AnaDomain.Ftv(relevTyFtv-, relevQualFtv-, relevCoeFtv) where--import UHC.Light.Compiler.Base.Common-import UHC.Light.Compiler.AnaDomain-import qualified Data.Set as Set--------relevTyFtv :: RelevTy -> UIDS-relevTyFtv ty-  = fvS_Syn_TyAGItf t-  where t = wrap_TyAGItf-              (sem_TyAGItf (TyAGItf_AGItf ty))-              (Inh_TyAGItf )----relevQualFtv :: RelevQual -> UIDS-relevQualFtv qual-  = fvS_Syn_QualAGItf t-  where t = wrap_QualAGItf-              (sem_QualAGItf (QualAGItf_AGItf qual))-              (Inh_QualAGItf )----relevCoeFtv :: RelevCoe -> UIDS-relevCoeFtv coe-  = fvS_Syn_CoeAGItf t-  where t = wrap_CoeAGItf-              (sem_CoeAGItf (CoeAGItf_AGItf coe))-              (Inh_CoeAGItf )---- AnaEval ------------------------------------------------------{--   visit 0:-      synthesized attribute:-         fvS                  : UIDS-   alternatives:-      alternative Var:-         child av             : {UID}-      alternative WHNF:-      alternative Lazy:-      alternative Meet:-         child opnds          : AnaEvalL -      alternative Join:-         child opnds          : AnaEvalL --}--- cata-sem_AnaEval :: AnaEval ->-               T_AnaEval-sem_AnaEval (AnaEval_Var _av) =-    (sem_AnaEval_Var _av)-sem_AnaEval (AnaEval_WHNF) =-    (sem_AnaEval_WHNF)-sem_AnaEval (AnaEval_Lazy) =-    (sem_AnaEval_Lazy)-sem_AnaEval (AnaEval_Meet _opnds) =-    (sem_AnaEval_Meet (sem_AnaEvalL _opnds))-sem_AnaEval (AnaEval_Join _opnds) =-    (sem_AnaEval_Join (sem_AnaEvalL _opnds))--- semantic domain-type T_AnaEval = ( UIDS)-sem_AnaEval_Var :: UID ->-                   T_AnaEval-sem_AnaEval_Var av_ =-    (case (Set.singleton av_) of-     { _lhsOfvS ->-     ( _lhsOfvS) })-sem_AnaEval_WHNF :: T_AnaEval-sem_AnaEval_WHNF =-    (case (Set.empty) of-     { _lhsOfvS ->-     ( _lhsOfvS) })-sem_AnaEval_Lazy :: T_AnaEval-sem_AnaEval_Lazy =-    (case (Set.empty) of-     { _lhsOfvS ->-     ( _lhsOfvS) })-sem_AnaEval_Meet :: T_AnaEvalL ->-                    T_AnaEval-sem_AnaEval_Meet opnds_ =-    (case (opnds_) of-     { ( _opndsIfvS) ->-         (case (_opndsIfvS) of-          { _lhsOfvS ->-          ( _lhsOfvS) }) })-sem_AnaEval_Join :: T_AnaEvalL ->-                    T_AnaEval-sem_AnaEval_Join opnds_ =-    (case (opnds_) of-     { ( _opndsIfvS) ->-         (case (_opndsIfvS) of-          { _lhsOfvS ->-          ( _lhsOfvS) }) })--- AnaEvalL -----------------------------------------------------{--   visit 0:-      synthesized attribute:-         fvS                  : UIDS-   alternatives:-      alternative Cons:-         child hd             : AnaEval -         child tl             : AnaEvalL -      alternative Nil:--}--- cata-sem_AnaEvalL :: AnaEvalL ->-                T_AnaEvalL-sem_AnaEvalL list =-    (Prelude.foldr sem_AnaEvalL_Cons sem_AnaEvalL_Nil (Prelude.map sem_AnaEval list))--- semantic domain-type T_AnaEvalL = ( UIDS)-sem_AnaEvalL_Cons :: T_AnaEval ->-                     T_AnaEvalL ->-                     T_AnaEvalL-sem_AnaEvalL_Cons hd_ tl_ =-    (case (tl_) of-     { ( _tlIfvS) ->-         (case (hd_) of-          { ( _hdIfvS) ->-              (case (_hdIfvS `Set.union` _tlIfvS) of-               { _lhsOfvS ->-               ( _lhsOfvS) }) }) })-sem_AnaEvalL_Nil :: T_AnaEvalL-sem_AnaEvalL_Nil =-    (case (Set.empty) of-     { _lhsOfvS ->-     ( _lhsOfvS) })--- CoeAGItf -----------------------------------------------------{--   visit 0:-      synthesized attribute:-         fvS                  : UIDS-   alternatives:-      alternative AGItf:-         child relevCoe       : RelevCoe --}--- cata-sem_CoeAGItf :: CoeAGItf ->-                T_CoeAGItf-sem_CoeAGItf (CoeAGItf_AGItf _relevCoe) =-    (sem_CoeAGItf_AGItf (sem_RelevCoe _relevCoe))--- semantic domain-type T_CoeAGItf = ( UIDS)-data Inh_CoeAGItf = Inh_CoeAGItf {}-data Syn_CoeAGItf = Syn_CoeAGItf {fvS_Syn_CoeAGItf :: !(UIDS)}-wrap_CoeAGItf :: T_CoeAGItf ->-                 Inh_CoeAGItf ->-                 Syn_CoeAGItf-wrap_CoeAGItf sem (Inh_CoeAGItf) =-    (let ( _lhsOfvS) = sem-     in  (Syn_CoeAGItf _lhsOfvS))-sem_CoeAGItf_AGItf :: T_RelevCoe ->-                      T_CoeAGItf-sem_CoeAGItf_AGItf relevCoe_ =-    (case (relevCoe_) of-     { ( _relevCoeIfvS) ->-         (case (_relevCoeIfvS) of-          { _lhsOfvS ->-          ( _lhsOfvS) }) })--- MbRelevTy ----------------------------------------------------{--   visit 0:-      synthesized attribute:-         fvS                  : UIDS-   alternatives:-      alternative Just:-         child just           : RelevTy -      alternative Nothing:--}--- cata-sem_MbRelevTy :: MbRelevTy ->-                 T_MbRelevTy-sem_MbRelevTy (Prelude.Just x) =-    (sem_MbRelevTy_Just (sem_RelevTy x))-sem_MbRelevTy Prelude.Nothing =-    sem_MbRelevTy_Nothing--- semantic domain-type T_MbRelevTy = ( UIDS)-sem_MbRelevTy_Just :: T_RelevTy ->-                      T_MbRelevTy-sem_MbRelevTy_Just just_ =-    (case (just_) of-     { ( _justIfvS) ->-         (case (_justIfvS) of-          { _lhsOfvS ->-          ( _lhsOfvS) }) })-sem_MbRelevTy_Nothing :: T_MbRelevTy-sem_MbRelevTy_Nothing =-    (case (Set.empty) of-     { _lhsOfvS ->-     ( _lhsOfvS) })--- QualAGItf ----------------------------------------------------{--   visit 0:-      synthesized attribute:-         fvS                  : UIDS-   alternatives:-      alternative AGItf:-         child relevQual      : RelevQual --}--- cata-sem_QualAGItf :: QualAGItf ->-                 T_QualAGItf-sem_QualAGItf (QualAGItf_AGItf _relevQual) =-    (sem_QualAGItf_AGItf (sem_RelevQual _relevQual))--- semantic domain-type T_QualAGItf = ( UIDS)-data Inh_QualAGItf = Inh_QualAGItf {}-data Syn_QualAGItf = Syn_QualAGItf {fvS_Syn_QualAGItf :: !(UIDS)}-wrap_QualAGItf :: T_QualAGItf ->-                  Inh_QualAGItf ->-                  Syn_QualAGItf-wrap_QualAGItf sem (Inh_QualAGItf) =-    (let ( _lhsOfvS) = sem-     in  (Syn_QualAGItf _lhsOfvS))-sem_QualAGItf_AGItf :: T_RelevQual ->-                       T_QualAGItf-sem_QualAGItf_AGItf relevQual_ =-    (case (relevQual_) of-     { ( _relevQualIfvS) ->-         (case (_relevQualIfvS) of-          { _lhsOfvS ->-          ( _lhsOfvS) }) })--- RelevCoe -----------------------------------------------------{--   visit 0:-      synthesized attribute:-         fvS                  : UIDS-   alternatives:-      alternative Id:-      alternative Err:-         child str            : {String}-      alternative Comp:-         child l              : RelevCoe -         child r              : RelevCoe -      alternative Fun:-         child args           : RelevCoeL -         child res            : RelevCoe -      alternative Cast:-         child coe            : RelevCoe -      alternative CastTy:-         child l              : RelevTy -         child r              : RelevTy -      alternative Eval:-         child from           : AnaEval -         child to             : AnaEval --}--- cata-sem_RelevCoe :: RelevCoe ->-                T_RelevCoe-sem_RelevCoe (RelevCoe_Id) =-    (sem_RelevCoe_Id)-sem_RelevCoe (RelevCoe_Err _str) =-    (sem_RelevCoe_Err _str)-sem_RelevCoe (RelevCoe_Comp _l _r) =-    (sem_RelevCoe_Comp (sem_RelevCoe _l) (sem_RelevCoe _r))-sem_RelevCoe (RelevCoe_Fun _args _res) =-    (sem_RelevCoe_Fun (sem_RelevCoeL _args) (sem_RelevCoe _res))-sem_RelevCoe (RelevCoe_Cast _coe) =-    (sem_RelevCoe_Cast (sem_RelevCoe _coe))-sem_RelevCoe (RelevCoe_CastTy _l _r) =-    (sem_RelevCoe_CastTy (sem_RelevTy _l) (sem_RelevTy _r))-sem_RelevCoe (RelevCoe_Eval _from _to) =-    (sem_RelevCoe_Eval (sem_AnaEval _from) (sem_AnaEval _to))--- semantic domain-type T_RelevCoe = ( UIDS)-sem_RelevCoe_Id :: T_RelevCoe-sem_RelevCoe_Id =-    (case (Set.empty) of-     { _lhsOfvS ->-     ( _lhsOfvS) })-sem_RelevCoe_Err :: String ->-                    T_RelevCoe-sem_RelevCoe_Err str_ =-    (case (Set.empty) of-     { _lhsOfvS ->-     ( _lhsOfvS) })-sem_RelevCoe_Comp :: T_RelevCoe ->-                     T_RelevCoe ->-                     T_RelevCoe-sem_RelevCoe_Comp l_ r_ =-    (case (r_) of-     { ( _rIfvS) ->-         (case (l_) of-          { ( _lIfvS) ->-              (case (_lIfvS `Set.union` _rIfvS) of-               { _lhsOfvS ->-               ( _lhsOfvS) }) }) })-sem_RelevCoe_Fun :: T_RelevCoeL ->-                    T_RelevCoe ->-                    T_RelevCoe-sem_RelevCoe_Fun args_ res_ =-    (case (res_) of-     { ( _resIfvS) ->-         (case (args_) of-          { ( _argsIfvS) ->-              (case (_argsIfvS `Set.union` _resIfvS) of-               { _lhsOfvS ->-               ( _lhsOfvS) }) }) })-sem_RelevCoe_Cast :: T_RelevCoe ->-                     T_RelevCoe-sem_RelevCoe_Cast coe_ =-    (case (coe_) of-     { ( _coeIfvS) ->-         (case (_coeIfvS) of-          { _lhsOfvS ->-          ( _lhsOfvS) }) })-sem_RelevCoe_CastTy :: T_RelevTy ->-                       T_RelevTy ->-                       T_RelevCoe-sem_RelevCoe_CastTy l_ r_ =-    (case (r_) of-     { ( _rIfvS) ->-         (case (l_) of-          { ( _lIfvS) ->-              (case (_lIfvS `Set.union` _rIfvS) of-               { _lhsOfvS ->-               ( _lhsOfvS) }) }) })-sem_RelevCoe_Eval :: T_AnaEval ->-                     T_AnaEval ->-                     T_RelevCoe-sem_RelevCoe_Eval from_ to_ =-    (case (to_) of-     { ( _toIfvS) ->-         (case (from_) of-          { ( _fromIfvS) ->-              (case (_fromIfvS `Set.union` _toIfvS) of-               { _lhsOfvS ->-               ( _lhsOfvS) }) }) })--- RelevCoeL ----------------------------------------------------{--   visit 0:-      synthesized attribute:-         fvS                  : UIDS-   alternatives:-      alternative Cons:-         child hd             : RelevCoe -         child tl             : RelevCoeL -      alternative Nil:--}--- cata-sem_RelevCoeL :: RelevCoeL ->-                 T_RelevCoeL-sem_RelevCoeL list =-    (Prelude.foldr sem_RelevCoeL_Cons sem_RelevCoeL_Nil (Prelude.map sem_RelevCoe list))--- semantic domain-type T_RelevCoeL = ( UIDS)-sem_RelevCoeL_Cons :: T_RelevCoe ->-                      T_RelevCoeL ->-                      T_RelevCoeL-sem_RelevCoeL_Cons hd_ tl_ =-    (case (tl_) of-     { ( _tlIfvS) ->-         (case (hd_) of-          { ( _hdIfvS) ->-              (case (_hdIfvS `Set.union` _tlIfvS) of-               { _lhsOfvS ->-               ( _lhsOfvS) }) }) })-sem_RelevCoeL_Nil :: T_RelevCoeL-sem_RelevCoeL_Nil =-    (case (Set.empty) of-     { _lhsOfvS ->-     ( _lhsOfvS) })--- RelevQual ----------------------------------------------------{--   visit 0:-      synthesized attribute:-         fvS                  : UIDS-   alternatives:-      alternative SubEval:-         child l              : AnaEval -         child r              : AnaEval --}--- cata-sem_RelevQual :: RelevQual ->-                 T_RelevQual-sem_RelevQual (RelevQual_SubEval _l _r) =-    (sem_RelevQual_SubEval (sem_AnaEval _l) (sem_AnaEval _r))--- semantic domain-type T_RelevQual = ( UIDS)-sem_RelevQual_SubEval :: T_AnaEval ->-                         T_AnaEval ->-                         T_RelevQual-sem_RelevQual_SubEval l_ r_ =-    (case (r_) of-     { ( _rIfvS) ->-         (case (l_) of-          { ( _lIfvS) ->-              (case (_lIfvS `Set.union` _rIfvS) of-               { _lhsOfvS ->-               ( _lhsOfvS) }) }) })--- RelevQualL ---------------------------------------------------{--   visit 0:-      synthesized attribute:-         fvS                  : UIDS-   alternatives:-      alternative Cons:-         child hd             : RelevQual -         child tl             : RelevQualL -      alternative Nil:--}--- cata-sem_RelevQualL :: RelevQualL ->-                  T_RelevQualL-sem_RelevQualL list =-    (Prelude.foldr sem_RelevQualL_Cons sem_RelevQualL_Nil (Prelude.map sem_RelevQual list))--- semantic domain-type T_RelevQualL = ( UIDS)-sem_RelevQualL_Cons :: T_RelevQual ->-                       T_RelevQualL ->-                       T_RelevQualL-sem_RelevQualL_Cons hd_ tl_ =-    (case (tl_) of-     { ( _tlIfvS) ->-         (case (hd_) of-          { ( _hdIfvS) ->-              (case (_hdIfvS `Set.union` _tlIfvS) of-               { _lhsOfvS ->-               ( _lhsOfvS) }) }) })-sem_RelevQualL_Nil :: T_RelevQualL-sem_RelevQualL_Nil =-    (case (Set.empty) of-     { _lhsOfvS ->-     ( _lhsOfvS) })--- RelevTy ------------------------------------------------------{--   visit 0:-      synthesized attribute:-         fvS                  : UIDS-   alternatives:-      alternative None:-      alternative Err:-         child str            : {String}-      alternative Ana:-         child eval           : AnaEval -      alternative Fun:-         child quant          : {RQuant}-         child quants         : {[UID]}-         child quals          : RelevQualL -         child args           : RelevTyL -         child res            : RelevTy --}--- cata-sem_RelevTy :: RelevTy ->-               T_RelevTy-sem_RelevTy (RelevTy_None) =-    (sem_RelevTy_None)-sem_RelevTy (RelevTy_Err _str) =-    (sem_RelevTy_Err _str)-sem_RelevTy (RelevTy_Ana _eval) =-    (sem_RelevTy_Ana (sem_AnaEval _eval))-sem_RelevTy (RelevTy_Fun _quant _quants _quals _args _res) =-    (sem_RelevTy_Fun _quant _quants (sem_RelevQualL _quals) (sem_RelevTyL _args) (sem_RelevTy _res))--- semantic domain-type T_RelevTy = ( UIDS)-sem_RelevTy_None :: T_RelevTy-sem_RelevTy_None =-    (case (Set.empty) of-     { _lhsOfvS ->-     ( _lhsOfvS) })-sem_RelevTy_Err :: String ->-                   T_RelevTy-sem_RelevTy_Err str_ =-    (case (Set.empty) of-     { _lhsOfvS ->-     ( _lhsOfvS) })-sem_RelevTy_Ana :: T_AnaEval ->-                   T_RelevTy-sem_RelevTy_Ana eval_ =-    (case (eval_) of-     { ( _evalIfvS) ->-         (case (_evalIfvS) of-          { _lhsOfvS ->-          ( _lhsOfvS) }) })-sem_RelevTy_Fun :: RQuant ->-                   ([UID]) ->-                   T_RelevQualL ->-                   T_RelevTyL ->-                   T_RelevTy ->-                   T_RelevTy-sem_RelevTy_Fun quant_ quants_ quals_ args_ res_ =-    (case (res_) of-     { ( _resIfvS) ->-         (case (args_) of-          { ( _argsIfvS) ->-              (case (quals_) of-               { ( _qualsIfvS) ->-                   (case (_qualsIfvS `Set.union` _argsIfvS `Set.union` _resIfvS) of-                    { _lhsOfvS ->-                    ( _lhsOfvS) }) }) }) })--- RelevTyL -----------------------------------------------------{--   visit 0:-      synthesized attribute:-         fvS                  : UIDS-   alternatives:-      alternative Cons:-         child hd             : RelevTy -         child tl             : RelevTyL -      alternative Nil:--}--- cata-sem_RelevTyL :: RelevTyL ->-                T_RelevTyL-sem_RelevTyL list =-    (Prelude.foldr sem_RelevTyL_Cons sem_RelevTyL_Nil (Prelude.map sem_RelevTy list))--- semantic domain-type T_RelevTyL = ( UIDS)-sem_RelevTyL_Cons :: T_RelevTy ->-                     T_RelevTyL ->-                     T_RelevTyL-sem_RelevTyL_Cons hd_ tl_ =-    (case (tl_) of-     { ( _tlIfvS) ->-         (case (hd_) of-          { ( _hdIfvS) ->-              (case (_hdIfvS `Set.union` _tlIfvS) of-               { _lhsOfvS ->-               ( _lhsOfvS) }) }) })-sem_RelevTyL_Nil :: T_RelevTyL-sem_RelevTyL_Nil =-    (case (Set.empty) of-     { _lhsOfvS ->-     ( _lhsOfvS) })--- TyAGItf ------------------------------------------------------{--   visit 0:-      synthesized attribute:-         fvS                  : UIDS-   alternatives:-      alternative AGItf:-         child relevTy        : RelevTy --}--- cata-sem_TyAGItf :: TyAGItf ->-               T_TyAGItf-sem_TyAGItf (TyAGItf_AGItf _relevTy) =-    (sem_TyAGItf_AGItf (sem_RelevTy _relevTy))--- semantic domain-type T_TyAGItf = ( UIDS)-data Inh_TyAGItf = Inh_TyAGItf {}-data Syn_TyAGItf = Syn_TyAGItf {fvS_Syn_TyAGItf :: !(UIDS)}-wrap_TyAGItf :: T_TyAGItf ->-                Inh_TyAGItf ->-                Syn_TyAGItf-wrap_TyAGItf sem (Inh_TyAGItf) =-    (let ( _lhsOfvS) = sem-     in  (Syn_TyAGItf _lhsOfvS))-sem_TyAGItf_AGItf :: T_RelevTy ->-                     T_TyAGItf-sem_TyAGItf_AGItf relevTy_ =-    (case (relevTy_) of-     { ( _relevTyIfvS) ->-         (case (_relevTyIfvS) of-          { _lhsOfvS ->-          ( _lhsOfvS) }) })
− src/UHC/Light/Compiler/AnaDomain/Pretty.hs
@@ -1,782 +0,0 @@----- UUAGC 0.9.52.1 (build/103/lib-ehc/UHC/Light/Compiler/AnaDomain/Pret)-module UHC.Light.Compiler.AnaDomain.Pretty(ppRelevTy-, ppRelevQual-, ppAnaEval-, ppRelevCoe-, VarPPMp) where--import UHC.Util.Pretty-import UHC.Light.Compiler.AnaDomain-import UHC.Light.Compiler.Base.Common-import qualified Data.Map as Map-import qualified Data.Set as Set-import Data.Char----------ppRelevTy :: VarPPMp -> RelevTy -> (PP_Doc,VarPPMp)-ppRelevTy vm x-  =  let  t = wrap_RelevTy (sem_RelevTy x)-                           (Inh_RelevTy-                             { varMp_Inh_RelevTy = vm-                             })-     in   (pp_Syn_RelevTy t, quantVarMp_Syn_RelevTy t)--instance PP RelevTy where-  pp x = fst $ ppRelevTy Map.empty x----ppRelevQual :: RelevQual -> PP_Doc-ppRelevQual x-  =  let  t = wrap_RelevQual (sem_RelevQual x)-                             (Inh_RelevQual-                               { varMp_Inh_RelevQual = Map.empty-                               })-     in   (pp_Syn_RelevQual t)--instance PP RelevQual where-  pp x = ppRelevQual x----ppAnaEval :: AnaEval -> PP_Doc-ppAnaEval x-  =  let  t = wrap_AnaEval (sem_AnaEval x)-                             (Inh_AnaEval-                               { varMp_Inh_AnaEval = Map.empty-                               })-     in   (pp_Syn_AnaEval t)--instance PP AnaEval where-  pp x = ppAnaEval x----ppRelevCoe :: VarPPMp -> RelevCoe -> PP_Doc-ppRelevCoe vm x-  =  let  t = wrap_RelevCoe (sem_RelevCoe x)-                             (Inh_RelevCoe-                               { varMp_Inh_RelevCoe = vm-                               })-     in   (pp_Syn_RelevCoe t)--instance PP RelevCoe where-  pp x = ppRelevCoe Map.empty x----instance Show RVarMpInfo where-  show _ = "RVarMpInfo"--instance PP RVarMpInfo where-  pp (RVMIEval a) = pp a----instance PP AnaMatchState where-  pp x = ppParens (amsOuterVarMp x) >#< amsLocalVarMp x >#< "~>" >#< ppCommas (Set.toList $ amsGathQual x)--instance PP a => PP (AMSOut a) where-  pp x = amsoLo x >#< "<=" >#< amsoHi x >#< "~" >#< amsoCoe x----type VarPPMp = Map.Map UID PP_Doc---- AnaEval ------------------------------------------------------{--   visit 0:-      inherited attribute:-         varMp                : VarPPMp-      synthesized attribute:-         pp                   : PP_Doc-   alternatives:-      alternative Var:-         child av             : {UID}-      alternative WHNF:-      alternative Lazy:-      alternative Meet:-         child opnds          : AnaEvalL -      alternative Join:-         child opnds          : AnaEvalL --}--- cata-sem_AnaEval :: AnaEval ->-               T_AnaEval-sem_AnaEval (AnaEval_Var _av) =-    (sem_AnaEval_Var _av)-sem_AnaEval (AnaEval_WHNF) =-    (sem_AnaEval_WHNF)-sem_AnaEval (AnaEval_Lazy) =-    (sem_AnaEval_Lazy)-sem_AnaEval (AnaEval_Meet _opnds) =-    (sem_AnaEval_Meet (sem_AnaEvalL _opnds))-sem_AnaEval (AnaEval_Join _opnds) =-    (sem_AnaEval_Join (sem_AnaEvalL _opnds))--- semantic domain-type T_AnaEval = VarPPMp ->-                 ( PP_Doc)-data Inh_AnaEval = Inh_AnaEval {varMp_Inh_AnaEval :: !(VarPPMp)}-data Syn_AnaEval = Syn_AnaEval {pp_Syn_AnaEval :: !(PP_Doc)}-wrap_AnaEval :: T_AnaEval ->-                Inh_AnaEval ->-                Syn_AnaEval-wrap_AnaEval sem (Inh_AnaEval _lhsIvarMp) =-    (let ( _lhsOpp) = sem _lhsIvarMp-     in  (Syn_AnaEval _lhsOpp))-sem_AnaEval_Var :: UID ->-                   T_AnaEval-sem_AnaEval_Var av_ =-    (\ _lhsIvarMp ->-         (case (Map.findWithDefault (pp av_) av_ _lhsIvarMp) of-          { _lhsOpp ->-          ( _lhsOpp) }))-sem_AnaEval_WHNF :: T_AnaEval-sem_AnaEval_WHNF =-    (\ _lhsIvarMp ->-         (case (pp "S") of-          { _lhsOpp ->-          ( _lhsOpp) }))-sem_AnaEval_Lazy :: T_AnaEval-sem_AnaEval_Lazy =-    (\ _lhsIvarMp ->-         (case (pp "L") of-          { _lhsOpp ->-          ( _lhsOpp) }))-sem_AnaEval_Meet :: T_AnaEvalL ->-                    T_AnaEval-sem_AnaEval_Meet opnds_ =-    (\ _lhsIvarMp ->-         (case (_lhsIvarMp) of-          { _opndsOvarMp ->-          (case (opnds_ _opndsOvarMp) of-           { ( _opndsIpp,_opndsIppL) ->-               (case (ppListSep "" "" " /\\ " _opndsIppL) of-                { _lhsOpp ->-                ( _lhsOpp) }) }) }))-sem_AnaEval_Join :: T_AnaEvalL ->-                    T_AnaEval-sem_AnaEval_Join opnds_ =-    (\ _lhsIvarMp ->-         (case (_lhsIvarMp) of-          { _opndsOvarMp ->-          (case (opnds_ _opndsOvarMp) of-           { ( _opndsIpp,_opndsIppL) ->-               (case (ppListSep "" "" " \\/ " _opndsIppL) of-                { _lhsOpp ->-                ( _lhsOpp) }) }) }))--- AnaEvalL -----------------------------------------------------{--   visit 0:-      inherited attribute:-         varMp                : VarPPMp-      synthesized attributes:-         pp                   : PP_Doc-         ppL                  : [PP_Doc]-   alternatives:-      alternative Cons:-         child hd             : AnaEval -         child tl             : AnaEvalL -      alternative Nil:--}--- cata-sem_AnaEvalL :: AnaEvalL ->-                T_AnaEvalL-sem_AnaEvalL list =-    (Prelude.foldr sem_AnaEvalL_Cons sem_AnaEvalL_Nil (Prelude.map sem_AnaEval list))--- semantic domain-type T_AnaEvalL = VarPPMp ->-                  ( PP_Doc,([PP_Doc]))-sem_AnaEvalL_Cons :: T_AnaEval ->-                     T_AnaEvalL ->-                     T_AnaEvalL-sem_AnaEvalL_Cons hd_ tl_ =-    (\ _lhsIvarMp ->-         (case (_lhsIvarMp) of-          { _tlOvarMp ->-          (case (_lhsIvarMp) of-           { _hdOvarMp ->-           (case (tl_ _tlOvarMp) of-            { ( _tlIpp,_tlIppL) ->-                (case (hd_ _hdOvarMp) of-                 { ( _hdIpp) ->-                     (case (_hdIpp >-< _tlIpp) of-                      { _lhsOpp ->-                      (case (_hdIpp : _tlIppL) of-                       { _lhsOppL ->-                       ( _lhsOpp,_lhsOppL) }) }) }) }) }) }))-sem_AnaEvalL_Nil :: T_AnaEvalL-sem_AnaEvalL_Nil =-    (\ _lhsIvarMp ->-         (case (empty) of-          { _lhsOpp ->-          (case ([]) of-           { _lhsOppL ->-           ( _lhsOpp,_lhsOppL) }) }))--- CoeAGItf -----------------------------------------------------{--   alternatives:-      alternative AGItf:-         child relevCoe       : RelevCoe --}--- cata-sem_CoeAGItf :: CoeAGItf ->-                T_CoeAGItf-sem_CoeAGItf (CoeAGItf_AGItf _relevCoe) =-    (sem_CoeAGItf_AGItf (sem_RelevCoe _relevCoe))--- semantic domain-type T_CoeAGItf = ( )-sem_CoeAGItf_AGItf :: T_RelevCoe ->-                      T_CoeAGItf-sem_CoeAGItf_AGItf relevCoe_ =-    ( )--- MbRelevTy ----------------------------------------------------{--   visit 0:-      inherited attribute:-         varMp                : VarPPMp-      synthesized attribute:-         pp                   : PP_Doc-   alternatives:-      alternative Just:-         child just           : RelevTy -      alternative Nothing:--}--- cata-sem_MbRelevTy :: MbRelevTy ->-                 T_MbRelevTy-sem_MbRelevTy (Prelude.Just x) =-    (sem_MbRelevTy_Just (sem_RelevTy x))-sem_MbRelevTy Prelude.Nothing =-    sem_MbRelevTy_Nothing--- semantic domain-type T_MbRelevTy = VarPPMp ->-                   ( PP_Doc)-sem_MbRelevTy_Just :: T_RelevTy ->-                      T_MbRelevTy-sem_MbRelevTy_Just just_ =-    (\ _lhsIvarMp ->-         (case (_lhsIvarMp) of-          { _justOvarMp ->-          (case (just_ _justOvarMp) of-           { ( _justIpp,_justIquantVarMp) ->-               (case (_justIpp) of-                { _lhsOpp ->-                ( _lhsOpp) }) }) }))-sem_MbRelevTy_Nothing :: T_MbRelevTy-sem_MbRelevTy_Nothing =-    (\ _lhsIvarMp ->-         (case (empty) of-          { _lhsOpp ->-          ( _lhsOpp) }))--- QualAGItf ----------------------------------------------------{--   alternatives:-      alternative AGItf:-         child relevQual      : RelevQual --}--- cata-sem_QualAGItf :: QualAGItf ->-                 T_QualAGItf-sem_QualAGItf (QualAGItf_AGItf _relevQual) =-    (sem_QualAGItf_AGItf (sem_RelevQual _relevQual))--- semantic domain-type T_QualAGItf = ( )-sem_QualAGItf_AGItf :: T_RelevQual ->-                       T_QualAGItf-sem_QualAGItf_AGItf relevQual_ =-    ( )--- RelevCoe -----------------------------------------------------{--   visit 0:-      inherited attribute:-         varMp                : VarPPMp-      synthesized attribute:-         pp                   : PP_Doc-   alternatives:-      alternative Id:-      alternative Err:-         child str            : {String}-      alternative Comp:-         child l              : RelevCoe -         child r              : RelevCoe -      alternative Fun:-         child args           : RelevCoeL -         child res            : RelevCoe -      alternative Cast:-         child coe            : RelevCoe -      alternative CastTy:-         child l              : RelevTy -         child r              : RelevTy -      alternative Eval:-         child from           : AnaEval -         child to             : AnaEval --}--- cata-sem_RelevCoe :: RelevCoe ->-                T_RelevCoe-sem_RelevCoe (RelevCoe_Id) =-    (sem_RelevCoe_Id)-sem_RelevCoe (RelevCoe_Err _str) =-    (sem_RelevCoe_Err _str)-sem_RelevCoe (RelevCoe_Comp _l _r) =-    (sem_RelevCoe_Comp (sem_RelevCoe _l) (sem_RelevCoe _r))-sem_RelevCoe (RelevCoe_Fun _args _res) =-    (sem_RelevCoe_Fun (sem_RelevCoeL _args) (sem_RelevCoe _res))-sem_RelevCoe (RelevCoe_Cast _coe) =-    (sem_RelevCoe_Cast (sem_RelevCoe _coe))-sem_RelevCoe (RelevCoe_CastTy _l _r) =-    (sem_RelevCoe_CastTy (sem_RelevTy _l) (sem_RelevTy _r))-sem_RelevCoe (RelevCoe_Eval _from _to) =-    (sem_RelevCoe_Eval (sem_AnaEval _from) (sem_AnaEval _to))--- semantic domain-type T_RelevCoe = VarPPMp ->-                  ( PP_Doc)-data Inh_RelevCoe = Inh_RelevCoe {varMp_Inh_RelevCoe :: !(VarPPMp)}-data Syn_RelevCoe = Syn_RelevCoe {pp_Syn_RelevCoe :: !(PP_Doc)}-wrap_RelevCoe :: T_RelevCoe ->-                 Inh_RelevCoe ->-                 Syn_RelevCoe-wrap_RelevCoe sem (Inh_RelevCoe _lhsIvarMp) =-    (let ( _lhsOpp) = sem _lhsIvarMp-     in  (Syn_RelevCoe _lhsOpp))-sem_RelevCoe_Id :: T_RelevCoe-sem_RelevCoe_Id =-    (\ _lhsIvarMp ->-         (case (pp "#_c") of-          { _lhsOpp ->-          ( _lhsOpp) }))-sem_RelevCoe_Err :: String ->-                    T_RelevCoe-sem_RelevCoe_Err str_ =-    (\ _lhsIvarMp ->-         (case ("#_c:" >#< str_) of-          { _lhsOpp ->-          ( _lhsOpp) }))-sem_RelevCoe_Comp :: T_RelevCoe ->-                     T_RelevCoe ->-                     T_RelevCoe-sem_RelevCoe_Comp l_ r_ =-    (\ _lhsIvarMp ->-         (case (_lhsIvarMp) of-          { _rOvarMp ->-          (case (_lhsIvarMp) of-           { _lOvarMp ->-           (case (r_ _rOvarMp) of-            { ( _rIpp) ->-                (case (l_ _lOvarMp) of-                 { ( _lIpp) ->-                     (case (_lIpp >#< "._c" >#< _rIpp) of-                      { _lhsOpp ->-                      ( _lhsOpp) }) }) }) }) }))-sem_RelevCoe_Fun :: T_RelevCoeL ->-                    T_RelevCoe ->-                    T_RelevCoe-sem_RelevCoe_Fun args_ res_ =-    (\ _lhsIvarMp ->-         (case (_lhsIvarMp) of-          { _resOvarMp ->-          (case (_lhsIvarMp) of-           { _argsOvarMp ->-           (case (res_ _resOvarMp) of-            { ( _resIpp) ->-                (case (args_ _argsOvarMp) of-                 { ( _argsIpp,_argsIppL) ->-                     (case (ppParensCommas' _argsIppL >#< "-c>" >#< _resIpp) of-                      { _lhsOpp ->-                      ( _lhsOpp) }) }) }) }) }))-sem_RelevCoe_Cast :: T_RelevCoe ->-                     T_RelevCoe-sem_RelevCoe_Cast coe_ =-    (\ _lhsIvarMp ->-         (case (_lhsIvarMp) of-          { _coeOvarMp ->-          (case (coe_ _coeOvarMp) of-           { ( _coeIpp) ->-               (case ("(#!" >#< _coeIpp >|< ")") of-                { _lhsOpp ->-                ( _lhsOpp) }) }) }))-sem_RelevCoe_CastTy :: T_RelevTy ->-                       T_RelevTy ->-                       T_RelevCoe-sem_RelevCoe_CastTy l_ r_ =-    (\ _lhsIvarMp ->-         (case (_lhsIvarMp) of-          { _rOvarMp ->-          (case (_lhsIvarMp) of-           { _lOvarMp ->-           (case (r_ _rOvarMp) of-            { ( _rIpp,_rIquantVarMp) ->-                (case (l_ _lOvarMp) of-                 { ( _lIpp,_lIquantVarMp) ->-                     (case (ppParens $ _lIpp >#< "`castTy`" >#< _rIpp) of-                      { _lhsOpp ->-                      ( _lhsOpp) }) }) }) }) }))-sem_RelevCoe_Eval :: T_AnaEval ->-                     T_AnaEval ->-                     T_RelevCoe-sem_RelevCoe_Eval from_ to_ =-    (\ _lhsIvarMp ->-         (case (_lhsIvarMp) of-          { _toOvarMp ->-          (case (_lhsIvarMp) of-           { _fromOvarMp ->-           (case (to_ _toOvarMp) of-            { ( _toIpp) ->-                (case (from_ _fromOvarMp) of-                 { ( _fromIpp) ->-                     (case (ppParens $ _fromIpp >#< "~e>" >#< _toIpp) of-                      { _lhsOpp ->-                      ( _lhsOpp) }) }) }) }) }))--- RelevCoeL ----------------------------------------------------{--   visit 0:-      inherited attribute:-         varMp                : VarPPMp-      synthesized attributes:-         pp                   : PP_Doc-         ppL                  : [PP_Doc]-   alternatives:-      alternative Cons:-         child hd             : RelevCoe -         child tl             : RelevCoeL -      alternative Nil:--}--- cata-sem_RelevCoeL :: RelevCoeL ->-                 T_RelevCoeL-sem_RelevCoeL list =-    (Prelude.foldr sem_RelevCoeL_Cons sem_RelevCoeL_Nil (Prelude.map sem_RelevCoe list))--- semantic domain-type T_RelevCoeL = VarPPMp ->-                   ( PP_Doc,([PP_Doc]))-sem_RelevCoeL_Cons :: T_RelevCoe ->-                      T_RelevCoeL ->-                      T_RelevCoeL-sem_RelevCoeL_Cons hd_ tl_ =-    (\ _lhsIvarMp ->-         (case (_lhsIvarMp) of-          { _tlOvarMp ->-          (case (_lhsIvarMp) of-           { _hdOvarMp ->-           (case (tl_ _tlOvarMp) of-            { ( _tlIpp,_tlIppL) ->-                (case (hd_ _hdOvarMp) of-                 { ( _hdIpp) ->-                     (case (_hdIpp >-< _tlIpp) of-                      { _lhsOpp ->-                      (case (_hdIpp : _tlIppL) of-                       { _lhsOppL ->-                       ( _lhsOpp,_lhsOppL) }) }) }) }) }) }))-sem_RelevCoeL_Nil :: T_RelevCoeL-sem_RelevCoeL_Nil =-    (\ _lhsIvarMp ->-         (case (empty) of-          { _lhsOpp ->-          (case ([]) of-           { _lhsOppL ->-           ( _lhsOpp,_lhsOppL) }) }))--- RelevQual ----------------------------------------------------{--   visit 0:-      inherited attribute:-         varMp                : VarPPMp-      synthesized attribute:-         pp                   : PP_Doc-   alternatives:-      alternative SubEval:-         child l              : AnaEval -         child r              : AnaEval --}--- cata-sem_RelevQual :: RelevQual ->-                 T_RelevQual-sem_RelevQual (RelevQual_SubEval _l _r) =-    (sem_RelevQual_SubEval (sem_AnaEval _l) (sem_AnaEval _r))--- semantic domain-type T_RelevQual = VarPPMp ->-                   ( PP_Doc)-data Inh_RelevQual = Inh_RelevQual {varMp_Inh_RelevQual :: !(VarPPMp)}-data Syn_RelevQual = Syn_RelevQual {pp_Syn_RelevQual :: !(PP_Doc)}-wrap_RelevQual :: T_RelevQual ->-                  Inh_RelevQual ->-                  Syn_RelevQual-wrap_RelevQual sem (Inh_RelevQual _lhsIvarMp) =-    (let ( _lhsOpp) = sem _lhsIvarMp-     in  (Syn_RelevQual _lhsOpp))-sem_RelevQual_SubEval :: T_AnaEval ->-                         T_AnaEval ->-                         T_RelevQual-sem_RelevQual_SubEval l_ r_ =-    (\ _lhsIvarMp ->-         (case (_lhsIvarMp) of-          { _rOvarMp ->-          (case (_lhsIvarMp) of-           { _lOvarMp ->-           (case (r_ _rOvarMp) of-            { ( _rIpp) ->-                (case (l_ _lOvarMp) of-                 { ( _lIpp) ->-                     (case (_lIpp >#< "<e=" >#< _rIpp) of-                      { _lhsOpp ->-                      ( _lhsOpp) }) }) }) }) }))--- RelevQualL ---------------------------------------------------{--   visit 0:-      inherited attribute:-         varMp                : VarPPMp-      synthesized attributes:-         pp                   : PP_Doc-         ppL                  : [PP_Doc]-   alternatives:-      alternative Cons:-         child hd             : RelevQual -         child tl             : RelevQualL -      alternative Nil:--}--- cata-sem_RelevQualL :: RelevQualL ->-                  T_RelevQualL-sem_RelevQualL list =-    (Prelude.foldr sem_RelevQualL_Cons sem_RelevQualL_Nil (Prelude.map sem_RelevQual list))--- semantic domain-type T_RelevQualL = VarPPMp ->-                    ( PP_Doc,([PP_Doc]))-sem_RelevQualL_Cons :: T_RelevQual ->-                       T_RelevQualL ->-                       T_RelevQualL-sem_RelevQualL_Cons hd_ tl_ =-    (\ _lhsIvarMp ->-         (case (_lhsIvarMp) of-          { _tlOvarMp ->-          (case (_lhsIvarMp) of-           { _hdOvarMp ->-           (case (tl_ _tlOvarMp) of-            { ( _tlIpp,_tlIppL) ->-                (case (hd_ _hdOvarMp) of-                 { ( _hdIpp) ->-                     (case (_hdIpp >-< _tlIpp) of-                      { _lhsOpp ->-                      (case (_hdIpp : _tlIppL) of-                       { _lhsOppL ->-                       ( _lhsOpp,_lhsOppL) }) }) }) }) }) }))-sem_RelevQualL_Nil :: T_RelevQualL-sem_RelevQualL_Nil =-    (\ _lhsIvarMp ->-         (case (empty) of-          { _lhsOpp ->-          (case ([]) of-           { _lhsOppL ->-           ( _lhsOpp,_lhsOppL) }) }))--- RelevTy ------------------------------------------------------{--   visit 0:-      inherited attribute:-         varMp                : VarPPMp-      synthesized attributes:-         pp                   : PP_Doc-         quantVarMp           : VarPPMp-   alternatives:-      alternative None:-         visit 0:-            local quantVarMp  : _-      alternative Err:-         child str            : {String}-         visit 0:-            local quantVarMp  : _-      alternative Ana:-         child eval           : AnaEval -         visit 0:-            local quantVarMp  : _-      alternative Fun:-         child quant          : {RQuant}-         child quants         : {[UID]}-         child quals          : RelevQualL -         child args           : RelevTyL -         child res            : RelevTy -         visit 0:-            local _tup1       : _-            local varMp       : _-            local quantNmL    : _-            local quantVarMp  : _--}--- cata-sem_RelevTy :: RelevTy ->-               T_RelevTy-sem_RelevTy (RelevTy_None) =-    (sem_RelevTy_None)-sem_RelevTy (RelevTy_Err _str) =-    (sem_RelevTy_Err _str)-sem_RelevTy (RelevTy_Ana _eval) =-    (sem_RelevTy_Ana (sem_AnaEval _eval))-sem_RelevTy (RelevTy_Fun _quant _quants _quals _args _res) =-    (sem_RelevTy_Fun _quant _quants (sem_RelevQualL _quals) (sem_RelevTyL _args) (sem_RelevTy _res))--- semantic domain-type T_RelevTy = VarPPMp ->-                 ( PP_Doc,VarPPMp)-data Inh_RelevTy = Inh_RelevTy {varMp_Inh_RelevTy :: !(VarPPMp)}-data Syn_RelevTy = Syn_RelevTy {pp_Syn_RelevTy :: !(PP_Doc),quantVarMp_Syn_RelevTy :: !(VarPPMp)}-wrap_RelevTy :: T_RelevTy ->-                Inh_RelevTy ->-                Syn_RelevTy-wrap_RelevTy sem (Inh_RelevTy _lhsIvarMp) =-    (let ( _lhsOpp,_lhsOquantVarMp) = sem _lhsIvarMp-     in  (Syn_RelevTy _lhsOpp _lhsOquantVarMp))-sem_RelevTy_None :: T_RelevTy-sem_RelevTy_None =-    (\ _lhsIvarMp ->-         (case (pp "#") of-          { _lhsOpp ->-          (case (Map.empty) of-           { _quantVarMp ->-           (case (_quantVarMp) of-            { _lhsOquantVarMp ->-            ( _lhsOpp,_lhsOquantVarMp) }) }) }))-sem_RelevTy_Err :: String ->-                   T_RelevTy-sem_RelevTy_Err str_ =-    (\ _lhsIvarMp ->-         (case ("#:" >#< str_) of-          { _lhsOpp ->-          (case (Map.empty) of-           { _quantVarMp ->-           (case (_quantVarMp) of-            { _lhsOquantVarMp ->-            ( _lhsOpp,_lhsOquantVarMp) }) }) }))-sem_RelevTy_Ana :: T_AnaEval ->-                   T_RelevTy-sem_RelevTy_Ana eval_ =-    (\ _lhsIvarMp ->-         (case (_lhsIvarMp) of-          { _evalOvarMp ->-          (case (eval_ _evalOvarMp) of-           { ( _evalIpp) ->-               (case (_evalIpp) of-                { _lhsOpp ->-                (case (Map.empty) of-                 { _quantVarMp ->-                 (case (_quantVarMp) of-                  { _lhsOquantVarMp ->-                  ( _lhsOpp,_lhsOquantVarMp) }) }) }) }) }))-sem_RelevTy_Fun :: RQuant ->-                   ([UID]) ->-                   T_RelevQualL ->-                   T_RelevTyL ->-                   T_RelevTy ->-                   T_RelevTy-sem_RelevTy_Fun quant_ quants_ quals_ args_ res_ =-    (\ _lhsIvarMp ->-         (case (genNmMap pp quants_ _lhsIvarMp) of-          { __tup1 ->-          (case (__tup1) of-           { (_varMp,_) ->-           (case (_varMp) of-            { _resOvarMp ->-            (case (_varMp) of-             { _argsOvarMp ->-             (case (_varMp) of-              { _qualsOvarMp ->-              (case (__tup1) of-               { (_,_quantNmL) ->-               (case (res_ _resOvarMp) of-                { ( _resIpp,_resIquantVarMp) ->-                    (case (args_ _argsOvarMp) of-                     { ( _argsIpp,_argsIppL) ->-                         (case (quals_ _qualsOvarMp) of-                          { ( _qualsIpp,_qualsIppL) ->-                              (case ((if null _quantNmL then empty else "forall" >|< ppParens (show quant_) >#< ppSpaces _quantNmL >#< ". ")-                                     >|< (if null _qualsIppL then empty else ppParensCommas' _qualsIppL >#< "=> ")-                                     >|< ppParensCommas _argsIppL >#< "->" >#< ppParens _resIpp) of-                               { _lhsOpp ->-                               (case (_varMp) of-                                { _quantVarMp ->-                                (case (_quantVarMp) of-                                 { _lhsOquantVarMp ->-                                 ( _lhsOpp,_lhsOquantVarMp) }) }) }) }) }) }) }) }) }) }) }) }))--- RelevTyL -----------------------------------------------------{--   visit 0:-      inherited attribute:-         varMp                : VarPPMp-      synthesized attributes:-         pp                   : PP_Doc-         ppL                  : [PP_Doc]-   alternatives:-      alternative Cons:-         child hd             : RelevTy -         child tl             : RelevTyL -      alternative Nil:--}--- cata-sem_RelevTyL :: RelevTyL ->-                T_RelevTyL-sem_RelevTyL list =-    (Prelude.foldr sem_RelevTyL_Cons sem_RelevTyL_Nil (Prelude.map sem_RelevTy list))--- semantic domain-type T_RelevTyL = VarPPMp ->-                  ( PP_Doc,([PP_Doc]))-sem_RelevTyL_Cons :: T_RelevTy ->-                     T_RelevTyL ->-                     T_RelevTyL-sem_RelevTyL_Cons hd_ tl_ =-    (\ _lhsIvarMp ->-         (case (_lhsIvarMp) of-          { _tlOvarMp ->-          (case (_lhsIvarMp) of-           { _hdOvarMp ->-           (case (tl_ _tlOvarMp) of-            { ( _tlIpp,_tlIppL) ->-                (case (hd_ _hdOvarMp) of-                 { ( _hdIpp,_hdIquantVarMp) ->-                     (case (_hdIpp >-< _tlIpp) of-                      { _lhsOpp ->-                      (case (_hdIpp : _tlIppL) of-                       { _lhsOppL ->-                       ( _lhsOpp,_lhsOppL) }) }) }) }) }) }))-sem_RelevTyL_Nil :: T_RelevTyL-sem_RelevTyL_Nil =-    (\ _lhsIvarMp ->-         (case (empty) of-          { _lhsOpp ->-          (case ([]) of-           { _lhsOppL ->-           ( _lhsOpp,_lhsOppL) }) }))--- TyAGItf ------------------------------------------------------{--   visit 0:-      synthesized attribute:-         quantVarMp           : VarPPMp-   alternatives:-      alternative AGItf:-         child relevTy        : RelevTy -         visit 0:-            local varMp       : _--}--- cata-sem_TyAGItf :: TyAGItf ->-               T_TyAGItf-sem_TyAGItf (TyAGItf_AGItf _relevTy) =-    (sem_TyAGItf_AGItf (sem_RelevTy _relevTy))--- semantic domain-type T_TyAGItf = ( VarPPMp)-sem_TyAGItf_AGItf :: T_RelevTy ->-                     T_TyAGItf-sem_TyAGItf_AGItf relevTy_ =-    (case (Map.empty) of-     { _varMp ->-     (case (_varMp) of-      { _relevTyOvarMp ->-      (case (relevTy_ _relevTyOvarMp) of-       { ( _relevTyIpp,_relevTyIquantVarMp) ->-           (case (_relevTyIquantVarMp) of-            { _lhsOquantVarMp ->-            ( _lhsOquantVarMp) }) }) }) })
− src/UHC/Light/Compiler/AnaDomain/Trf/Instantiate.hs
@@ -1,989 +0,0 @@----- UUAGC 0.9.52.1 (build/103/lib-ehc/UHC/Light/Compiler/AnaDomain/Trf/)-module UHC.Light.Compiler.AnaDomain.Trf.Instantiate(relevtyInst) where--import UHC.Light.Compiler.Base.Common-import UHC.Light.Compiler.AnaDomain-import UHC.Light.Compiler.VarMp-import UHC.Light.Compiler.Substitutable-import qualified Data.Map as Map-import qualified Data.Set as Set----------relevtyInst :: UID -> RelevTy -> (RelevTy,RelevQualS)-relevtyInst uniq ty-  = (ty', extraQualS `Set.union` qualS_Syn_TyAGItf t)-  where t = wrap_TyAGItf-              (sem_TyAGItf (TyAGItf_AGItf ty))-              (Inh_TyAGItf-                 { gUniq_Inh_TyAGItf        = uniq-                 })-        ty' = repl_Syn_TyAGItf t-        extraQualS-          = case ty of-              RelevTy_Fun RQuant_Rec _ _ a r-                -> amsGathQual ams-                where (amso,ams) = amsLE emptyRVarMp (RelevTy_Fun RQuant_None [] [] a r) ty'-              _ -> Set.empty---- AnaEval ------------------------------------------------------{--   visit 0:-      inherited attribute:-         freshMp              : Map.Map UID UID-      chained attribute:-         gUniq                : UID-      synthesized attributes:-         qualS                : RelevQualS-         repl                 : AnaEval -   alternatives:-      alternative Var:-         child av             : {UID}-      alternative WHNF:-         visit 0:-            local repl        : _-      alternative Lazy:-         visit 0:-            local repl        : _-      alternative Meet:-         child opnds          : AnaEvalL -         visit 0:-            local repl        : _-      alternative Join:-         child opnds          : AnaEvalL -         visit 0:-            local repl        : _--}--- cata-sem_AnaEval :: AnaEval ->-               T_AnaEval-sem_AnaEval (AnaEval_Var _av) =-    (sem_AnaEval_Var _av)-sem_AnaEval (AnaEval_WHNF) =-    (sem_AnaEval_WHNF)-sem_AnaEval (AnaEval_Lazy) =-    (sem_AnaEval_Lazy)-sem_AnaEval (AnaEval_Meet _opnds) =-    (sem_AnaEval_Meet (sem_AnaEvalL _opnds))-sem_AnaEval (AnaEval_Join _opnds) =-    (sem_AnaEval_Join (sem_AnaEvalL _opnds))--- semantic domain-type T_AnaEval = (Map.Map UID UID) ->-                 UID ->-                 ( UID,RelevQualS,AnaEval)-sem_AnaEval_Var :: UID ->-                   T_AnaEval-sem_AnaEval_Var av_ =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _lhsOgUniq ->-          (case (Set.empty) of-           { _lhsOqualS ->-           (case (AnaEval_Var $ Map.findWithDefault av_ av_ _lhsIfreshMp) of-            { _lhsOrepl ->-            ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }))-sem_AnaEval_WHNF :: T_AnaEval-sem_AnaEval_WHNF =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _lhsOgUniq ->-          (case (Set.empty) of-           { _lhsOqualS ->-           (case (AnaEval_WHNF) of-            { _repl ->-            (case (_repl) of-             { _lhsOrepl ->-             ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }))-sem_AnaEval_Lazy :: T_AnaEval-sem_AnaEval_Lazy =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _lhsOgUniq ->-          (case (Set.empty) of-           { _lhsOqualS ->-           (case (AnaEval_Lazy) of-            { _repl ->-            (case (_repl) of-             { _lhsOrepl ->-             ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }))-sem_AnaEval_Meet :: T_AnaEvalL ->-                    T_AnaEval-sem_AnaEval_Meet opnds_ =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _opndsOgUniq ->-          (case (_lhsIfreshMp) of-           { _opndsOfreshMp ->-           (case (opnds_ _opndsOfreshMp _opndsOgUniq) of-            { ( _opndsIgUniq,_opndsIqualS,_opndsIrepl) ->-                (case (_opndsIgUniq) of-                 { _lhsOgUniq ->-                 (case (_opndsIqualS) of-                  { _lhsOqualS ->-                  (case (AnaEval_Meet _opndsIrepl) of-                   { _repl ->-                   (case (_repl) of-                    { _lhsOrepl ->-                    ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }) }) }) }))-sem_AnaEval_Join :: T_AnaEvalL ->-                    T_AnaEval-sem_AnaEval_Join opnds_ =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _opndsOgUniq ->-          (case (_lhsIfreshMp) of-           { _opndsOfreshMp ->-           (case (opnds_ _opndsOfreshMp _opndsOgUniq) of-            { ( _opndsIgUniq,_opndsIqualS,_opndsIrepl) ->-                (case (_opndsIgUniq) of-                 { _lhsOgUniq ->-                 (case (_opndsIqualS) of-                  { _lhsOqualS ->-                  (case (AnaEval_Join _opndsIrepl) of-                   { _repl ->-                   (case (_repl) of-                    { _lhsOrepl ->-                    ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }) }) }) }))--- AnaEvalL -----------------------------------------------------{--   visit 0:-      inherited attribute:-         freshMp              : Map.Map UID UID-      chained attribute:-         gUniq                : UID-      synthesized attributes:-         qualS                : RelevQualS-         repl                 : AnaEvalL -   alternatives:-      alternative Cons:-         child hd             : AnaEval -         child tl             : AnaEvalL -         visit 0:-            local repl        : _-      alternative Nil:-         visit 0:-            local repl        : _--}--- cata-sem_AnaEvalL :: AnaEvalL ->-                T_AnaEvalL-sem_AnaEvalL list =-    (Prelude.foldr sem_AnaEvalL_Cons sem_AnaEvalL_Nil (Prelude.map sem_AnaEval list))--- semantic domain-type T_AnaEvalL = (Map.Map UID UID) ->-                  UID ->-                  ( UID,RelevQualS,AnaEvalL)-sem_AnaEvalL_Cons :: T_AnaEval ->-                     T_AnaEvalL ->-                     T_AnaEvalL-sem_AnaEvalL_Cons hd_ tl_ =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _hdOgUniq ->-          (case (_lhsIfreshMp) of-           { _hdOfreshMp ->-           (case (hd_ _hdOfreshMp _hdOgUniq) of-            { ( _hdIgUniq,_hdIqualS,_hdIrepl) ->-                (case (_hdIgUniq) of-                 { _tlOgUniq ->-                 (case (_lhsIfreshMp) of-                  { _tlOfreshMp ->-                  (case (tl_ _tlOfreshMp _tlOgUniq) of-                   { ( _tlIgUniq,_tlIqualS,_tlIrepl) ->-                       (case (_tlIgUniq) of-                        { _lhsOgUniq ->-                        (case (_hdIqualS `Set.union` _tlIqualS) of-                         { _lhsOqualS ->-                         (case ((:) _hdIrepl _tlIrepl) of-                          { _repl ->-                          (case (_repl) of-                           { _lhsOrepl ->-                           ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }) }) }) }) }) }) }))-sem_AnaEvalL_Nil :: T_AnaEvalL-sem_AnaEvalL_Nil =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _lhsOgUniq ->-          (case (Set.empty) of-           { _lhsOqualS ->-           (case ([]) of-            { _repl ->-            (case (_repl) of-             { _lhsOrepl ->-             ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }))--- CoeAGItf -----------------------------------------------------{--   alternatives:-      alternative AGItf:-         child relevCoe       : RelevCoe --}--- cata-sem_CoeAGItf :: CoeAGItf ->-                T_CoeAGItf-sem_CoeAGItf (CoeAGItf_AGItf _relevCoe) =-    (sem_CoeAGItf_AGItf (sem_RelevCoe _relevCoe))--- semantic domain-type T_CoeAGItf = ( )-sem_CoeAGItf_AGItf :: T_RelevCoe ->-                      T_CoeAGItf-sem_CoeAGItf_AGItf relevCoe_ =-    ( )--- MbRelevTy ----------------------------------------------------{--   visit 0:-      inherited attribute:-         freshMp              : Map.Map UID UID-      chained attribute:-         gUniq                : UID-      synthesized attributes:-         qualS                : RelevQualS-         repl                 : MbRelevTy -   alternatives:-      alternative Just:-         child just           : RelevTy -         visit 0:-            local repl        : _-      alternative Nothing:-         visit 0:-            local repl        : _--}--- cata-sem_MbRelevTy :: MbRelevTy ->-                 T_MbRelevTy-sem_MbRelevTy (Prelude.Just x) =-    (sem_MbRelevTy_Just (sem_RelevTy x))-sem_MbRelevTy Prelude.Nothing =-    sem_MbRelevTy_Nothing--- semantic domain-type T_MbRelevTy = (Map.Map UID UID) ->-                   UID ->-                   ( UID,RelevQualS,MbRelevTy)-sem_MbRelevTy_Just :: T_RelevTy ->-                      T_MbRelevTy-sem_MbRelevTy_Just just_ =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _justOgUniq ->-          (case (_lhsIfreshMp) of-           { _justOfreshMp ->-           (case (just_ _justOfreshMp _justOgUniq) of-            { ( _justIgUniq,_justIqualS,_justIrepl) ->-                (case (_justIgUniq) of-                 { _lhsOgUniq ->-                 (case (_justIqualS) of-                  { _lhsOqualS ->-                  (case (Just _justIrepl) of-                   { _repl ->-                   (case (_repl) of-                    { _lhsOrepl ->-                    ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }) }) }) }))-sem_MbRelevTy_Nothing :: T_MbRelevTy-sem_MbRelevTy_Nothing =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _lhsOgUniq ->-          (case (Set.empty) of-           { _lhsOqualS ->-           (case (Nothing) of-            { _repl ->-            (case (_repl) of-             { _lhsOrepl ->-             ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }))--- QualAGItf ----------------------------------------------------{--   alternatives:-      alternative AGItf:-         child relevQual      : RelevQual --}--- cata-sem_QualAGItf :: QualAGItf ->-                 T_QualAGItf-sem_QualAGItf (QualAGItf_AGItf _relevQual) =-    (sem_QualAGItf_AGItf (sem_RelevQual _relevQual))--- semantic domain-type T_QualAGItf = ( )-sem_QualAGItf_AGItf :: T_RelevQual ->-                       T_QualAGItf-sem_QualAGItf_AGItf relevQual_ =-    ( )--- RelevCoe -----------------------------------------------------{--   visit 0:-      inherited attribute:-         freshMp              : Map.Map UID UID-      chained attribute:-         gUniq                : UID-      synthesized attributes:-         qualS                : RelevQualS-         repl                 : RelevCoe -   alternatives:-      alternative Id:-         visit 0:-            local repl        : _-      alternative Err:-         child str            : {String}-         visit 0:-            local repl        : _-      alternative Comp:-         child l              : RelevCoe -         child r              : RelevCoe -         visit 0:-            local repl        : _-      alternative Fun:-         child args           : RelevCoeL -         child res            : RelevCoe -         visit 0:-            local repl        : _-      alternative Cast:-         child coe            : RelevCoe -         visit 0:-            local repl        : _-      alternative CastTy:-         child l              : RelevTy -         child r              : RelevTy -         visit 0:-            local repl        : _-      alternative Eval:-         child from           : AnaEval -         child to             : AnaEval -         visit 0:-            local repl        : _--}--- cata-sem_RelevCoe :: RelevCoe ->-                T_RelevCoe-sem_RelevCoe (RelevCoe_Id) =-    (sem_RelevCoe_Id)-sem_RelevCoe (RelevCoe_Err _str) =-    (sem_RelevCoe_Err _str)-sem_RelevCoe (RelevCoe_Comp _l _r) =-    (sem_RelevCoe_Comp (sem_RelevCoe _l) (sem_RelevCoe _r))-sem_RelevCoe (RelevCoe_Fun _args _res) =-    (sem_RelevCoe_Fun (sem_RelevCoeL _args) (sem_RelevCoe _res))-sem_RelevCoe (RelevCoe_Cast _coe) =-    (sem_RelevCoe_Cast (sem_RelevCoe _coe))-sem_RelevCoe (RelevCoe_CastTy _l _r) =-    (sem_RelevCoe_CastTy (sem_RelevTy _l) (sem_RelevTy _r))-sem_RelevCoe (RelevCoe_Eval _from _to) =-    (sem_RelevCoe_Eval (sem_AnaEval _from) (sem_AnaEval _to))--- semantic domain-type T_RelevCoe = (Map.Map UID UID) ->-                  UID ->-                  ( UID,RelevQualS,RelevCoe)-sem_RelevCoe_Id :: T_RelevCoe-sem_RelevCoe_Id =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _lhsOgUniq ->-          (case (Set.empty) of-           { _lhsOqualS ->-           (case (RelevCoe_Id) of-            { _repl ->-            (case (_repl) of-             { _lhsOrepl ->-             ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }))-sem_RelevCoe_Err :: String ->-                    T_RelevCoe-sem_RelevCoe_Err str_ =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _lhsOgUniq ->-          (case (Set.empty) of-           { _lhsOqualS ->-           (case (RelevCoe_Err str_) of-            { _repl ->-            (case (_repl) of-             { _lhsOrepl ->-             ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }))-sem_RelevCoe_Comp :: T_RelevCoe ->-                     T_RelevCoe ->-                     T_RelevCoe-sem_RelevCoe_Comp l_ r_ =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _lOgUniq ->-          (case (_lhsIfreshMp) of-           { _lOfreshMp ->-           (case (l_ _lOfreshMp _lOgUniq) of-            { ( _lIgUniq,_lIqualS,_lIrepl) ->-                (case (_lIgUniq) of-                 { _rOgUniq ->-                 (case (_lhsIfreshMp) of-                  { _rOfreshMp ->-                  (case (r_ _rOfreshMp _rOgUniq) of-                   { ( _rIgUniq,_rIqualS,_rIrepl) ->-                       (case (_rIgUniq) of-                        { _lhsOgUniq ->-                        (case (_lIqualS `Set.union` _rIqualS) of-                         { _lhsOqualS ->-                         (case (RelevCoe_Comp _lIrepl _rIrepl) of-                          { _repl ->-                          (case (_repl) of-                           { _lhsOrepl ->-                           ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }) }) }) }) }) }) }))-sem_RelevCoe_Fun :: T_RelevCoeL ->-                    T_RelevCoe ->-                    T_RelevCoe-sem_RelevCoe_Fun args_ res_ =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _argsOgUniq ->-          (case (_lhsIfreshMp) of-           { _argsOfreshMp ->-           (case (args_ _argsOfreshMp _argsOgUniq) of-            { ( _argsIgUniq,_argsIqualS,_argsIrepl) ->-                (case (_argsIgUniq) of-                 { _resOgUniq ->-                 (case (_lhsIfreshMp) of-                  { _resOfreshMp ->-                  (case (res_ _resOfreshMp _resOgUniq) of-                   { ( _resIgUniq,_resIqualS,_resIrepl) ->-                       (case (_resIgUniq) of-                        { _lhsOgUniq ->-                        (case (_argsIqualS `Set.union` _resIqualS) of-                         { _lhsOqualS ->-                         (case (RelevCoe_Fun _argsIrepl _resIrepl) of-                          { _repl ->-                          (case (_repl) of-                           { _lhsOrepl ->-                           ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }) }) }) }) }) }) }))-sem_RelevCoe_Cast :: T_RelevCoe ->-                     T_RelevCoe-sem_RelevCoe_Cast coe_ =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _coeOgUniq ->-          (case (_lhsIfreshMp) of-           { _coeOfreshMp ->-           (case (coe_ _coeOfreshMp _coeOgUniq) of-            { ( _coeIgUniq,_coeIqualS,_coeIrepl) ->-                (case (_coeIgUniq) of-                 { _lhsOgUniq ->-                 (case (_coeIqualS) of-                  { _lhsOqualS ->-                  (case (RelevCoe_Cast _coeIrepl) of-                   { _repl ->-                   (case (_repl) of-                    { _lhsOrepl ->-                    ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }) }) }) }))-sem_RelevCoe_CastTy :: T_RelevTy ->-                       T_RelevTy ->-                       T_RelevCoe-sem_RelevCoe_CastTy l_ r_ =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _lOgUniq ->-          (case (_lhsIfreshMp) of-           { _lOfreshMp ->-           (case (l_ _lOfreshMp _lOgUniq) of-            { ( _lIgUniq,_lIqualS,_lIrepl) ->-                (case (_lIgUniq) of-                 { _rOgUniq ->-                 (case (_lhsIfreshMp) of-                  { _rOfreshMp ->-                  (case (r_ _rOfreshMp _rOgUniq) of-                   { ( _rIgUniq,_rIqualS,_rIrepl) ->-                       (case (_rIgUniq) of-                        { _lhsOgUniq ->-                        (case (_lIqualS `Set.union` _rIqualS) of-                         { _lhsOqualS ->-                         (case (RelevCoe_CastTy _lIrepl _rIrepl) of-                          { _repl ->-                          (case (_repl) of-                           { _lhsOrepl ->-                           ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }) }) }) }) }) }) }))-sem_RelevCoe_Eval :: T_AnaEval ->-                     T_AnaEval ->-                     T_RelevCoe-sem_RelevCoe_Eval from_ to_ =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _fromOgUniq ->-          (case (_lhsIfreshMp) of-           { _fromOfreshMp ->-           (case (from_ _fromOfreshMp _fromOgUniq) of-            { ( _fromIgUniq,_fromIqualS,_fromIrepl) ->-                (case (_fromIgUniq) of-                 { _toOgUniq ->-                 (case (_lhsIfreshMp) of-                  { _toOfreshMp ->-                  (case (to_ _toOfreshMp _toOgUniq) of-                   { ( _toIgUniq,_toIqualS,_toIrepl) ->-                       (case (_toIgUniq) of-                        { _lhsOgUniq ->-                        (case (_fromIqualS `Set.union` _toIqualS) of-                         { _lhsOqualS ->-                         (case (RelevCoe_Eval _fromIrepl _toIrepl) of-                          { _repl ->-                          (case (_repl) of-                           { _lhsOrepl ->-                           ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }) }) }) }) }) }) }))--- RelevCoeL ----------------------------------------------------{--   visit 0:-      inherited attribute:-         freshMp              : Map.Map UID UID-      chained attribute:-         gUniq                : UID-      synthesized attributes:-         qualS                : RelevQualS-         repl                 : RelevCoeL -   alternatives:-      alternative Cons:-         child hd             : RelevCoe -         child tl             : RelevCoeL -         visit 0:-            local repl        : _-      alternative Nil:-         visit 0:-            local repl        : _--}--- cata-sem_RelevCoeL :: RelevCoeL ->-                 T_RelevCoeL-sem_RelevCoeL list =-    (Prelude.foldr sem_RelevCoeL_Cons sem_RelevCoeL_Nil (Prelude.map sem_RelevCoe list))--- semantic domain-type T_RelevCoeL = (Map.Map UID UID) ->-                   UID ->-                   ( UID,RelevQualS,RelevCoeL)-sem_RelevCoeL_Cons :: T_RelevCoe ->-                      T_RelevCoeL ->-                      T_RelevCoeL-sem_RelevCoeL_Cons hd_ tl_ =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _hdOgUniq ->-          (case (_lhsIfreshMp) of-           { _hdOfreshMp ->-           (case (hd_ _hdOfreshMp _hdOgUniq) of-            { ( _hdIgUniq,_hdIqualS,_hdIrepl) ->-                (case (_hdIgUniq) of-                 { _tlOgUniq ->-                 (case (_lhsIfreshMp) of-                  { _tlOfreshMp ->-                  (case (tl_ _tlOfreshMp _tlOgUniq) of-                   { ( _tlIgUniq,_tlIqualS,_tlIrepl) ->-                       (case (_tlIgUniq) of-                        { _lhsOgUniq ->-                        (case (_hdIqualS `Set.union` _tlIqualS) of-                         { _lhsOqualS ->-                         (case ((:) _hdIrepl _tlIrepl) of-                          { _repl ->-                          (case (_repl) of-                           { _lhsOrepl ->-                           ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }) }) }) }) }) }) }))-sem_RelevCoeL_Nil :: T_RelevCoeL-sem_RelevCoeL_Nil =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _lhsOgUniq ->-          (case (Set.empty) of-           { _lhsOqualS ->-           (case ([]) of-            { _repl ->-            (case (_repl) of-             { _lhsOrepl ->-             ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }))--- RelevQual ----------------------------------------------------{--   visit 0:-      inherited attribute:-         freshMp              : Map.Map UID UID-      chained attribute:-         gUniq                : UID-      synthesized attributes:-         qualS                : RelevQualS-         repl                 : RelevQual -   alternatives:-      alternative SubEval:-         child l              : AnaEval -         child r              : AnaEval -         visit 0:-            local repl        : _--}--- cata-sem_RelevQual :: RelevQual ->-                 T_RelevQual-sem_RelevQual (RelevQual_SubEval _l _r) =-    (sem_RelevQual_SubEval (sem_AnaEval _l) (sem_AnaEval _r))--- semantic domain-type T_RelevQual = (Map.Map UID UID) ->-                   UID ->-                   ( UID,RelevQualS,RelevQual)-sem_RelevQual_SubEval :: T_AnaEval ->-                         T_AnaEval ->-                         T_RelevQual-sem_RelevQual_SubEval l_ r_ =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _lOgUniq ->-          (case (_lhsIfreshMp) of-           { _lOfreshMp ->-           (case (l_ _lOfreshMp _lOgUniq) of-            { ( _lIgUniq,_lIqualS,_lIrepl) ->-                (case (_lIgUniq) of-                 { _rOgUniq ->-                 (case (_lhsIfreshMp) of-                  { _rOfreshMp ->-                  (case (r_ _rOfreshMp _rOgUniq) of-                   { ( _rIgUniq,_rIqualS,_rIrepl) ->-                       (case (_rIgUniq) of-                        { _lhsOgUniq ->-                        (case (_lIqualS `Set.union` _rIqualS) of-                         { _lhsOqualS ->-                         (case (RelevQual_SubEval _lIrepl _rIrepl) of-                          { _repl ->-                          (case (_repl) of-                           { _lhsOrepl ->-                           ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }) }) }) }) }) }) }))--- RelevQualL ---------------------------------------------------{--   visit 0:-      inherited attribute:-         freshMp              : Map.Map UID UID-      chained attribute:-         gUniq                : UID-      synthesized attributes:-         qualS                : RelevQualS-         repl                 : RelevQualL -   alternatives:-      alternative Cons:-         child hd             : RelevQual -         child tl             : RelevQualL -         visit 0:-            local repl        : _-      alternative Nil:-         visit 0:-            local repl        : _--}--- cata-sem_RelevQualL :: RelevQualL ->-                  T_RelevQualL-sem_RelevQualL list =-    (Prelude.foldr sem_RelevQualL_Cons sem_RelevQualL_Nil (Prelude.map sem_RelevQual list))--- semantic domain-type T_RelevQualL = (Map.Map UID UID) ->-                    UID ->-                    ( UID,RelevQualS,RelevQualL)-sem_RelevQualL_Cons :: T_RelevQual ->-                       T_RelevQualL ->-                       T_RelevQualL-sem_RelevQualL_Cons hd_ tl_ =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _hdOgUniq ->-          (case (_lhsIfreshMp) of-           { _hdOfreshMp ->-           (case (hd_ _hdOfreshMp _hdOgUniq) of-            { ( _hdIgUniq,_hdIqualS,_hdIrepl) ->-                (case (_hdIgUniq) of-                 { _tlOgUniq ->-                 (case (_lhsIfreshMp) of-                  { _tlOfreshMp ->-                  (case (tl_ _tlOfreshMp _tlOgUniq) of-                   { ( _tlIgUniq,_tlIqualS,_tlIrepl) ->-                       (case (_tlIgUniq) of-                        { _lhsOgUniq ->-                        (case (_hdIqualS `Set.union` _tlIqualS) of-                         { _lhsOqualS ->-                         (case ((:) _hdIrepl _tlIrepl) of-                          { _repl ->-                          (case (_repl) of-                           { _lhsOrepl ->-                           ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }) }) }) }) }) }) }))-sem_RelevQualL_Nil :: T_RelevQualL-sem_RelevQualL_Nil =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _lhsOgUniq ->-          (case (Set.empty) of-           { _lhsOqualS ->-           (case ([]) of-            { _repl ->-            (case (_repl) of-             { _lhsOrepl ->-             ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }))--- RelevTy ------------------------------------------------------{--   visit 0:-      inherited attribute:-         freshMp              : Map.Map UID UID-      chained attribute:-         gUniq                : UID-      synthesized attributes:-         qualS                : RelevQualS-         repl                 : RelevTy -   alternatives:-      alternative None:-         visit 0:-            local repl        : _-      alternative Err:-         child str            : {String}-         visit 0:-            local repl        : _-      alternative Ana:-         child eval           : AnaEval -         visit 0:-            local repl        : _-      alternative Fun:-         child quant          : {RQuant}-         child quants         : {[UID]}-         child quals          : RelevQualL -         child args           : RelevTyL -         child res            : RelevTy -         visit 0:-            local _tup1       : _-            local lUniq       : {UID}-            local freshTvL    : _-            local freshMp     : _--}--- cata-sem_RelevTy :: RelevTy ->-               T_RelevTy-sem_RelevTy (RelevTy_None) =-    (sem_RelevTy_None)-sem_RelevTy (RelevTy_Err _str) =-    (sem_RelevTy_Err _str)-sem_RelevTy (RelevTy_Ana _eval) =-    (sem_RelevTy_Ana (sem_AnaEval _eval))-sem_RelevTy (RelevTy_Fun _quant _quants _quals _args _res) =-    (sem_RelevTy_Fun _quant _quants (sem_RelevQualL _quals) (sem_RelevTyL _args) (sem_RelevTy _res))--- semantic domain-type T_RelevTy = (Map.Map UID UID) ->-                 UID ->-                 ( UID,RelevQualS,RelevTy)-sem_RelevTy_None :: T_RelevTy-sem_RelevTy_None =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _lhsOgUniq ->-          (case (Set.empty) of-           { _lhsOqualS ->-           (case (RelevTy_None) of-            { _repl ->-            (case (_repl) of-             { _lhsOrepl ->-             ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }))-sem_RelevTy_Err :: String ->-                   T_RelevTy-sem_RelevTy_Err str_ =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _lhsOgUniq ->-          (case (Set.empty) of-           { _lhsOqualS ->-           (case (RelevTy_Err str_) of-            { _repl ->-            (case (_repl) of-             { _lhsOrepl ->-             ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }))-sem_RelevTy_Ana :: T_AnaEval ->-                   T_RelevTy-sem_RelevTy_Ana eval_ =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _evalOgUniq ->-          (case (_lhsIfreshMp) of-           { _evalOfreshMp ->-           (case (eval_ _evalOfreshMp _evalOgUniq) of-            { ( _evalIgUniq,_evalIqualS,_evalIrepl) ->-                (case (_evalIgUniq) of-                 { _lhsOgUniq ->-                 (case (_evalIqualS) of-                  { _lhsOqualS ->-                  (case (RelevTy_Ana _evalIrepl) of-                   { _repl ->-                   (case (_repl) of-                    { _lhsOrepl ->-                    ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }) }) }) }))-sem_RelevTy_Fun :: RQuant ->-                   ([UID]) ->-                   T_RelevQualL ->-                   T_RelevTyL ->-                   T_RelevTy ->-                   T_RelevTy-sem_RelevTy_Fun quant_ quants_ quals_ args_ res_ =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of-          { __tup1 ->-          (case (__tup1) of-           { (_qualsOgUniq,_) ->-           (case (__tup1) of-            { (_,_lUniq) ->-            (case (mkNewLevUIDL (length quants_) _lUniq) of-             { _freshTvL ->-             (case (Map.union (Map.fromList $ zip quants_ _freshTvL) _lhsIfreshMp) of-              { _freshMp ->-              (case (_freshMp) of-               { _qualsOfreshMp ->-               (case (quals_ _qualsOfreshMp _qualsOgUniq) of-                { ( _qualsIgUniq,_qualsIqualS,_qualsIrepl) ->-                    (case (_qualsIgUniq) of-                     { _argsOgUniq ->-                     (case (_freshMp) of-                      { _argsOfreshMp ->-                      (case (args_ _argsOfreshMp _argsOgUniq) of-                       { ( _argsIgUniq,_argsIqualS,_argsIrepl) ->-                           (case (_argsIgUniq) of-                            { _resOgUniq ->-                            (case (_freshMp) of-                             { _resOfreshMp ->-                             (case (res_ _resOfreshMp _resOgUniq) of-                              { ( _resIgUniq,_resIqualS,_resIrepl) ->-                                  (case (_resIgUniq) of-                                   { _lhsOgUniq ->-                                   (case (Set.unions [ Set.fromList _qualsIrepl, _argsIqualS, _resIqualS ]) of-                                    { _lhsOqualS ->-                                    (case (RelevTy_Fun RQuant_None [] [] _argsIrepl _resIrepl) of-                                     { _lhsOrepl ->-                                     ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))--- RelevTyL -----------------------------------------------------{--   visit 0:-      inherited attribute:-         freshMp              : Map.Map UID UID-      chained attribute:-         gUniq                : UID-      synthesized attributes:-         qualS                : RelevQualS-         repl                 : RelevTyL -   alternatives:-      alternative Cons:-         child hd             : RelevTy -         child tl             : RelevTyL -         visit 0:-            local repl        : _-      alternative Nil:-         visit 0:-            local repl        : _--}--- cata-sem_RelevTyL :: RelevTyL ->-                T_RelevTyL-sem_RelevTyL list =-    (Prelude.foldr sem_RelevTyL_Cons sem_RelevTyL_Nil (Prelude.map sem_RelevTy list))--- semantic domain-type T_RelevTyL = (Map.Map UID UID) ->-                  UID ->-                  ( UID,RelevQualS,RelevTyL)-sem_RelevTyL_Cons :: T_RelevTy ->-                     T_RelevTyL ->-                     T_RelevTyL-sem_RelevTyL_Cons hd_ tl_ =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _hdOgUniq ->-          (case (_lhsIfreshMp) of-           { _hdOfreshMp ->-           (case (hd_ _hdOfreshMp _hdOgUniq) of-            { ( _hdIgUniq,_hdIqualS,_hdIrepl) ->-                (case (_hdIgUniq) of-                 { _tlOgUniq ->-                 (case (_lhsIfreshMp) of-                  { _tlOfreshMp ->-                  (case (tl_ _tlOfreshMp _tlOgUniq) of-                   { ( _tlIgUniq,_tlIqualS,_tlIrepl) ->-                       (case (_tlIgUniq) of-                        { _lhsOgUniq ->-                        (case (_hdIqualS `Set.union` _tlIqualS) of-                         { _lhsOqualS ->-                         (case ((:) _hdIrepl _tlIrepl) of-                          { _repl ->-                          (case (_repl) of-                           { _lhsOrepl ->-                           ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }) }) }) }) }) }) }))-sem_RelevTyL_Nil :: T_RelevTyL-sem_RelevTyL_Nil =-    (\ _lhsIfreshMp-       _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _lhsOgUniq ->-          (case (Set.empty) of-           { _lhsOqualS ->-           (case ([]) of-            { _repl ->-            (case (_repl) of-             { _lhsOrepl ->-             ( _lhsOgUniq,_lhsOqualS,_lhsOrepl) }) }) }) }))--- TyAGItf ------------------------------------------------------{--   visit 0:-      inherited attribute:-         gUniq                : UID-      synthesized attributes:-         qualS                : RelevQualS-         repl                 : RelevTy -   alternatives:-      alternative AGItf:-         child relevTy        : RelevTy -         visit 0:-            local freshMp     : _--}--- cata-sem_TyAGItf :: TyAGItf ->-               T_TyAGItf-sem_TyAGItf (TyAGItf_AGItf _relevTy) =-    (sem_TyAGItf_AGItf (sem_RelevTy _relevTy))--- semantic domain-type T_TyAGItf = UID ->-                 ( RelevQualS,RelevTy)-data Inh_TyAGItf = Inh_TyAGItf {gUniq_Inh_TyAGItf :: !(UID)}-data Syn_TyAGItf = Syn_TyAGItf {qualS_Syn_TyAGItf :: !(RelevQualS),repl_Syn_TyAGItf :: !(RelevTy)}-wrap_TyAGItf :: T_TyAGItf ->-                Inh_TyAGItf ->-                Syn_TyAGItf-wrap_TyAGItf sem (Inh_TyAGItf _lhsIgUniq) =-    (let ( _lhsOqualS,_lhsOrepl) = sem _lhsIgUniq-     in  (Syn_TyAGItf _lhsOqualS _lhsOrepl))-sem_TyAGItf_AGItf :: T_RelevTy ->-                     T_TyAGItf-sem_TyAGItf_AGItf relevTy_ =-    (\ _lhsIgUniq ->-         (case (_lhsIgUniq) of-          { _relevTyOgUniq ->-          (case (Map.empty) of-           { _freshMp ->-           (case (_freshMp) of-            { _relevTyOfreshMp ->-            (case (relevTy_ _relevTyOfreshMp _relevTyOgUniq) of-             { ( _relevTyIgUniq,_relevTyIqualS,_relevTyIrepl) ->-                 (case (_relevTyIqualS) of-                  { _lhsOqualS ->-                  (case (_relevTyIrepl) of-                   { _lhsOrepl ->-                   ( _lhsOqualS,_lhsOrepl) }) }) }) }) }) }))
− src/UHC/Light/Compiler/AnaDomain/Trf/Subst.hs
@@ -1,824 +0,0 @@----- UUAGC 0.9.52.1 (build/103/lib-ehc/UHC/Light/Compiler/AnaDomain/Trf/)-module UHC.Light.Compiler.AnaDomain.Trf.Subst(relevtyAppVarLookup-, relevqualAppVarLookup-, relevcoeAppVarLookup) where--import UHC.Light.Compiler.Base.Common-import UHC.Light.Compiler.AnaDomain-import UHC.Light.Compiler.VarMp-import UHC.Util.Utils--------relevtyAppVarLookup :: VarLookup m UID RVarMpInfo => m -> RelevTy -> RelevTy-relevtyAppVarLookup varmp ty-  = repl_Syn_TyAGItf t-  where t = wrap_TyAGItf-              (sem_TyAGItf (TyAGItf_AGItf ty))-              (Inh_TyAGItf {rvarLookup_Inh_TyAGItf = varlookupFix varmp})----relevqualAppVarLookup :: VarLookup m UID RVarMpInfo => m -> RelevQual -> RelevQual-relevqualAppVarLookup varmp qual-  = repl_Syn_QualAGItf t-  where t = wrap_QualAGItf-              (sem_QualAGItf (QualAGItf_AGItf qual))-              (Inh_QualAGItf {rvarLookup_Inh_QualAGItf = varlookupFix varmp})----relevcoeAppVarLookup :: VarLookup m UID RVarMpInfo => m -> RelevCoe -> RelevCoe-relevcoeAppVarLookup varmp coe-  = repl_Syn_CoeAGItf t-  where t = wrap_CoeAGItf-              (sem_CoeAGItf (CoeAGItf_AGItf coe))-              (Inh_CoeAGItf {rvarLookup_Inh_CoeAGItf = varlookupFix varmp})---- AnaEval ------------------------------------------------------{--   visit 0:-      inherited attribute:-         rvarLookup           : VarLookupFix UID RVarMpInfo-      synthesized attribute:-         repl                 : AnaEval -   alternatives:-      alternative Var:-         child av             : {UID}-         visit 0:-            local repl        : _-            local _tup1       : _-            local isRepl      : _-            local replv       : _-            inst  repl'       : AnaEval -      alternative WHNF:-         visit 0:-            local repl        : _-      alternative Lazy:-         visit 0:-            local repl        : _-      alternative Meet:-         child opnds          : AnaEvalL -         visit 0:-            local repl        : _-      alternative Join:-         child opnds          : AnaEvalL -         visit 0:-            local repl        : _--}--- cata-sem_AnaEval :: AnaEval ->-               T_AnaEval-sem_AnaEval (AnaEval_Var _av) =-    (sem_AnaEval_Var _av)-sem_AnaEval (AnaEval_WHNF) =-    (sem_AnaEval_WHNF)-sem_AnaEval (AnaEval_Lazy) =-    (sem_AnaEval_Lazy)-sem_AnaEval (AnaEval_Meet _opnds) =-    (sem_AnaEval_Meet (sem_AnaEvalL _opnds))-sem_AnaEval (AnaEval_Join _opnds) =-    (sem_AnaEval_Join (sem_AnaEvalL _opnds))--- semantic domain-type T_AnaEval = (VarLookupFix UID RVarMpInfo) ->-                 ( AnaEval)-sem_AnaEval_Var :: UID ->-                   T_AnaEval-sem_AnaEval_Var av_ =-    (\ _lhsIrvarLookup ->-         (case (AnaEval_Var av_) of-          { _repl ->-          (case (maybe (_repl,False) (\t -> (t,True)) $ rvmiMbEval $? _lhsIrvarLookup av_) of-           { __tup1 ->-           (case (__tup1) of-            { (_,_isRepl) ->-            (case (__tup1) of-             { (_replv,_) ->-             (case (if _isRepl then _replv else AnaEval_WHNF) of-              { repl'_val_ ->-              (case ((sem_AnaEval repl'_val_)) of-               { repl'_inst_ ->-               (case (_lhsIrvarLookup) of-                { _repl'OrvarLookup ->-                (case (repl'_inst_ _repl'OrvarLookup) of-                 { ( _repl'Irepl) ->-                     (case (if _isRepl-                            then _repl'Irepl-                            else _repl) of-                      { _lhsOrepl ->-                      ( _lhsOrepl) }) }) }) }) }) }) }) }) }))-sem_AnaEval_WHNF :: T_AnaEval-sem_AnaEval_WHNF =-    (\ _lhsIrvarLookup ->-         (case (AnaEval_WHNF) of-          { _repl ->-          (case (_repl) of-           { _lhsOrepl ->-           ( _lhsOrepl) }) }))-sem_AnaEval_Lazy :: T_AnaEval-sem_AnaEval_Lazy =-    (\ _lhsIrvarLookup ->-         (case (AnaEval_Lazy) of-          { _repl ->-          (case (_repl) of-           { _lhsOrepl ->-           ( _lhsOrepl) }) }))-sem_AnaEval_Meet :: T_AnaEvalL ->-                    T_AnaEval-sem_AnaEval_Meet opnds_ =-    (\ _lhsIrvarLookup ->-         (case (_lhsIrvarLookup) of-          { _opndsOrvarLookup ->-          (case (opnds_ _opndsOrvarLookup) of-           { ( _opndsIrepl) ->-               (case (AnaEval_Meet _opndsIrepl) of-                { _repl ->-                (case (_repl) of-                 { _lhsOrepl ->-                 ( _lhsOrepl) }) }) }) }))-sem_AnaEval_Join :: T_AnaEvalL ->-                    T_AnaEval-sem_AnaEval_Join opnds_ =-    (\ _lhsIrvarLookup ->-         (case (_lhsIrvarLookup) of-          { _opndsOrvarLookup ->-          (case (opnds_ _opndsOrvarLookup) of-           { ( _opndsIrepl) ->-               (case (AnaEval_Join _opndsIrepl) of-                { _repl ->-                (case (_repl) of-                 { _lhsOrepl ->-                 ( _lhsOrepl) }) }) }) }))--- AnaEvalL -----------------------------------------------------{--   visit 0:-      inherited attribute:-         rvarLookup           : VarLookupFix UID RVarMpInfo-      synthesized attribute:-         repl                 : AnaEvalL -   alternatives:-      alternative Cons:-         child hd             : AnaEval -         child tl             : AnaEvalL -         visit 0:-            local repl        : _-      alternative Nil:-         visit 0:-            local repl        : _--}--- cata-sem_AnaEvalL :: AnaEvalL ->-                T_AnaEvalL-sem_AnaEvalL list =-    (Prelude.foldr sem_AnaEvalL_Cons sem_AnaEvalL_Nil (Prelude.map sem_AnaEval list))--- semantic domain-type T_AnaEvalL = (VarLookupFix UID RVarMpInfo) ->-                  ( AnaEvalL)-sem_AnaEvalL_Cons :: T_AnaEval ->-                     T_AnaEvalL ->-                     T_AnaEvalL-sem_AnaEvalL_Cons hd_ tl_ =-    (\ _lhsIrvarLookup ->-         (case (_lhsIrvarLookup) of-          { _tlOrvarLookup ->-          (case (_lhsIrvarLookup) of-           { _hdOrvarLookup ->-           (case (tl_ _tlOrvarLookup) of-            { ( _tlIrepl) ->-                (case (hd_ _hdOrvarLookup) of-                 { ( _hdIrepl) ->-                     (case ((:) _hdIrepl _tlIrepl) of-                      { _repl ->-                      (case (_repl) of-                       { _lhsOrepl ->-                       ( _lhsOrepl) }) }) }) }) }) }))-sem_AnaEvalL_Nil :: T_AnaEvalL-sem_AnaEvalL_Nil =-    (\ _lhsIrvarLookup ->-         (case ([]) of-          { _repl ->-          (case (_repl) of-           { _lhsOrepl ->-           ( _lhsOrepl) }) }))--- CoeAGItf -----------------------------------------------------{--   visit 0:-      inherited attribute:-         rvarLookup           : VarLookupFix UID RVarMpInfo-      synthesized attribute:-         repl                 : RelevCoe -   alternatives:-      alternative AGItf:-         child relevCoe       : RelevCoe --}--- cata-sem_CoeAGItf :: CoeAGItf ->-                T_CoeAGItf-sem_CoeAGItf (CoeAGItf_AGItf _relevCoe) =-    (sem_CoeAGItf_AGItf (sem_RelevCoe _relevCoe))--- semantic domain-type T_CoeAGItf = (VarLookupFix UID RVarMpInfo) ->-                  ( RelevCoe)-data Inh_CoeAGItf = Inh_CoeAGItf {rvarLookup_Inh_CoeAGItf :: !((VarLookupFix UID RVarMpInfo))}-data Syn_CoeAGItf = Syn_CoeAGItf {repl_Syn_CoeAGItf :: !(RelevCoe)}-wrap_CoeAGItf :: T_CoeAGItf ->-                 Inh_CoeAGItf ->-                 Syn_CoeAGItf-wrap_CoeAGItf sem (Inh_CoeAGItf _lhsIrvarLookup) =-    (let ( _lhsOrepl) = sem _lhsIrvarLookup-     in  (Syn_CoeAGItf _lhsOrepl))-sem_CoeAGItf_AGItf :: T_RelevCoe ->-                      T_CoeAGItf-sem_CoeAGItf_AGItf relevCoe_ =-    (\ _lhsIrvarLookup ->-         (case (_lhsIrvarLookup) of-          { _relevCoeOrvarLookup ->-          (case (relevCoe_ _relevCoeOrvarLookup) of-           { ( _relevCoeIrepl) ->-               (case (_relevCoeIrepl) of-                { _lhsOrepl ->-                ( _lhsOrepl) }) }) }))--- MbRelevTy ----------------------------------------------------{--   visit 0:-      inherited attribute:-         rvarLookup           : VarLookupFix UID RVarMpInfo-      synthesized attribute:-         repl                 : MbRelevTy -   alternatives:-      alternative Just:-         child just           : RelevTy -         visit 0:-            local repl        : _-      alternative Nothing:-         visit 0:-            local repl        : _--}--- cata-sem_MbRelevTy :: MbRelevTy ->-                 T_MbRelevTy-sem_MbRelevTy (Prelude.Just x) =-    (sem_MbRelevTy_Just (sem_RelevTy x))-sem_MbRelevTy Prelude.Nothing =-    sem_MbRelevTy_Nothing--- semantic domain-type T_MbRelevTy = (VarLookupFix UID RVarMpInfo) ->-                   ( MbRelevTy)-sem_MbRelevTy_Just :: T_RelevTy ->-                      T_MbRelevTy-sem_MbRelevTy_Just just_ =-    (\ _lhsIrvarLookup ->-         (case (_lhsIrvarLookup) of-          { _justOrvarLookup ->-          (case (just_ _justOrvarLookup) of-           { ( _justIrepl) ->-               (case (Just _justIrepl) of-                { _repl ->-                (case (_repl) of-                 { _lhsOrepl ->-                 ( _lhsOrepl) }) }) }) }))-sem_MbRelevTy_Nothing :: T_MbRelevTy-sem_MbRelevTy_Nothing =-    (\ _lhsIrvarLookup ->-         (case (Nothing) of-          { _repl ->-          (case (_repl) of-           { _lhsOrepl ->-           ( _lhsOrepl) }) }))--- QualAGItf ----------------------------------------------------{--   visit 0:-      inherited attribute:-         rvarLookup           : VarLookupFix UID RVarMpInfo-      synthesized attribute:-         repl                 : RelevQual -   alternatives:-      alternative AGItf:-         child relevQual      : RelevQual --}--- cata-sem_QualAGItf :: QualAGItf ->-                 T_QualAGItf-sem_QualAGItf (QualAGItf_AGItf _relevQual) =-    (sem_QualAGItf_AGItf (sem_RelevQual _relevQual))--- semantic domain-type T_QualAGItf = (VarLookupFix UID RVarMpInfo) ->-                   ( RelevQual)-data Inh_QualAGItf = Inh_QualAGItf {rvarLookup_Inh_QualAGItf :: !((VarLookupFix UID RVarMpInfo))}-data Syn_QualAGItf = Syn_QualAGItf {repl_Syn_QualAGItf :: !(RelevQual)}-wrap_QualAGItf :: T_QualAGItf ->-                  Inh_QualAGItf ->-                  Syn_QualAGItf-wrap_QualAGItf sem (Inh_QualAGItf _lhsIrvarLookup) =-    (let ( _lhsOrepl) = sem _lhsIrvarLookup-     in  (Syn_QualAGItf _lhsOrepl))-sem_QualAGItf_AGItf :: T_RelevQual ->-                       T_QualAGItf-sem_QualAGItf_AGItf relevQual_ =-    (\ _lhsIrvarLookup ->-         (case (_lhsIrvarLookup) of-          { _relevQualOrvarLookup ->-          (case (relevQual_ _relevQualOrvarLookup) of-           { ( _relevQualIrepl) ->-               (case (_relevQualIrepl) of-                { _lhsOrepl ->-                ( _lhsOrepl) }) }) }))--- RelevCoe -----------------------------------------------------{--   visit 0:-      inherited attribute:-         rvarLookup           : VarLookupFix UID RVarMpInfo-      synthesized attribute:-         repl                 : RelevCoe -   alternatives:-      alternative Id:-         visit 0:-            local repl        : _-      alternative Err:-         child str            : {String}-         visit 0:-            local repl        : _-      alternative Comp:-         child l              : RelevCoe -         child r              : RelevCoe -         visit 0:-            local repl        : _-      alternative Fun:-         child args           : RelevCoeL -         child res            : RelevCoe -         visit 0:-            local repl        : _-      alternative Cast:-         child coe            : RelevCoe -         visit 0:-            local repl        : _-      alternative CastTy:-         child l              : RelevTy -         child r              : RelevTy -         visit 0:-            local repl        : _-      alternative Eval:-         child from           : AnaEval -         child to             : AnaEval -         visit 0:-            local repl        : _--}--- cata-sem_RelevCoe :: RelevCoe ->-                T_RelevCoe-sem_RelevCoe (RelevCoe_Id) =-    (sem_RelevCoe_Id)-sem_RelevCoe (RelevCoe_Err _str) =-    (sem_RelevCoe_Err _str)-sem_RelevCoe (RelevCoe_Comp _l _r) =-    (sem_RelevCoe_Comp (sem_RelevCoe _l) (sem_RelevCoe _r))-sem_RelevCoe (RelevCoe_Fun _args _res) =-    (sem_RelevCoe_Fun (sem_RelevCoeL _args) (sem_RelevCoe _res))-sem_RelevCoe (RelevCoe_Cast _coe) =-    (sem_RelevCoe_Cast (sem_RelevCoe _coe))-sem_RelevCoe (RelevCoe_CastTy _l _r) =-    (sem_RelevCoe_CastTy (sem_RelevTy _l) (sem_RelevTy _r))-sem_RelevCoe (RelevCoe_Eval _from _to) =-    (sem_RelevCoe_Eval (sem_AnaEval _from) (sem_AnaEval _to))--- semantic domain-type T_RelevCoe = (VarLookupFix UID RVarMpInfo) ->-                  ( RelevCoe)-sem_RelevCoe_Id :: T_RelevCoe-sem_RelevCoe_Id =-    (\ _lhsIrvarLookup ->-         (case (RelevCoe_Id) of-          { _repl ->-          (case (_repl) of-           { _lhsOrepl ->-           ( _lhsOrepl) }) }))-sem_RelevCoe_Err :: String ->-                    T_RelevCoe-sem_RelevCoe_Err str_ =-    (\ _lhsIrvarLookup ->-         (case (RelevCoe_Err str_) of-          { _repl ->-          (case (_repl) of-           { _lhsOrepl ->-           ( _lhsOrepl) }) }))-sem_RelevCoe_Comp :: T_RelevCoe ->-                     T_RelevCoe ->-                     T_RelevCoe-sem_RelevCoe_Comp l_ r_ =-    (\ _lhsIrvarLookup ->-         (case (_lhsIrvarLookup) of-          { _rOrvarLookup ->-          (case (_lhsIrvarLookup) of-           { _lOrvarLookup ->-           (case (r_ _rOrvarLookup) of-            { ( _rIrepl) ->-                (case (l_ _lOrvarLookup) of-                 { ( _lIrepl) ->-                     (case (RelevCoe_Comp _lIrepl _rIrepl) of-                      { _repl ->-                      (case (_repl) of-                       { _lhsOrepl ->-                       ( _lhsOrepl) }) }) }) }) }) }))-sem_RelevCoe_Fun :: T_RelevCoeL ->-                    T_RelevCoe ->-                    T_RelevCoe-sem_RelevCoe_Fun args_ res_ =-    (\ _lhsIrvarLookup ->-         (case (_lhsIrvarLookup) of-          { _resOrvarLookup ->-          (case (_lhsIrvarLookup) of-           { _argsOrvarLookup ->-           (case (res_ _resOrvarLookup) of-            { ( _resIrepl) ->-                (case (args_ _argsOrvarLookup) of-                 { ( _argsIrepl) ->-                     (case (RelevCoe_Fun _argsIrepl _resIrepl) of-                      { _repl ->-                      (case (_repl) of-                       { _lhsOrepl ->-                       ( _lhsOrepl) }) }) }) }) }) }))-sem_RelevCoe_Cast :: T_RelevCoe ->-                     T_RelevCoe-sem_RelevCoe_Cast coe_ =-    (\ _lhsIrvarLookup ->-         (case (_lhsIrvarLookup) of-          { _coeOrvarLookup ->-          (case (coe_ _coeOrvarLookup) of-           { ( _coeIrepl) ->-               (case (RelevCoe_Cast _coeIrepl) of-                { _repl ->-                (case (_repl) of-                 { _lhsOrepl ->-                 ( _lhsOrepl) }) }) }) }))-sem_RelevCoe_CastTy :: T_RelevTy ->-                       T_RelevTy ->-                       T_RelevCoe-sem_RelevCoe_CastTy l_ r_ =-    (\ _lhsIrvarLookup ->-         (case (_lhsIrvarLookup) of-          { _rOrvarLookup ->-          (case (_lhsIrvarLookup) of-           { _lOrvarLookup ->-           (case (r_ _rOrvarLookup) of-            { ( _rIrepl) ->-                (case (l_ _lOrvarLookup) of-                 { ( _lIrepl) ->-                     (case (RelevCoe_CastTy _lIrepl _rIrepl) of-                      { _repl ->-                      (case (_repl) of-                       { _lhsOrepl ->-                       ( _lhsOrepl) }) }) }) }) }) }))-sem_RelevCoe_Eval :: T_AnaEval ->-                     T_AnaEval ->-                     T_RelevCoe-sem_RelevCoe_Eval from_ to_ =-    (\ _lhsIrvarLookup ->-         (case (_lhsIrvarLookup) of-          { _toOrvarLookup ->-          (case (_lhsIrvarLookup) of-           { _fromOrvarLookup ->-           (case (to_ _toOrvarLookup) of-            { ( _toIrepl) ->-                (case (from_ _fromOrvarLookup) of-                 { ( _fromIrepl) ->-                     (case (RelevCoe_Eval _fromIrepl _toIrepl) of-                      { _repl ->-                      (case (_repl) of-                       { _lhsOrepl ->-                       ( _lhsOrepl) }) }) }) }) }) }))--- RelevCoeL ----------------------------------------------------{--   visit 0:-      inherited attribute:-         rvarLookup           : VarLookupFix UID RVarMpInfo-      synthesized attribute:-         repl                 : RelevCoeL -   alternatives:-      alternative Cons:-         child hd             : RelevCoe -         child tl             : RelevCoeL -         visit 0:-            local repl        : _-      alternative Nil:-         visit 0:-            local repl        : _--}--- cata-sem_RelevCoeL :: RelevCoeL ->-                 T_RelevCoeL-sem_RelevCoeL list =-    (Prelude.foldr sem_RelevCoeL_Cons sem_RelevCoeL_Nil (Prelude.map sem_RelevCoe list))--- semantic domain-type T_RelevCoeL = (VarLookupFix UID RVarMpInfo) ->-                   ( RelevCoeL)-sem_RelevCoeL_Cons :: T_RelevCoe ->-                      T_RelevCoeL ->-                      T_RelevCoeL-sem_RelevCoeL_Cons hd_ tl_ =-    (\ _lhsIrvarLookup ->-         (case (_lhsIrvarLookup) of-          { _tlOrvarLookup ->-          (case (_lhsIrvarLookup) of-           { _hdOrvarLookup ->-           (case (tl_ _tlOrvarLookup) of-            { ( _tlIrepl) ->-                (case (hd_ _hdOrvarLookup) of-                 { ( _hdIrepl) ->-                     (case ((:) _hdIrepl _tlIrepl) of-                      { _repl ->-                      (case (_repl) of-                       { _lhsOrepl ->-                       ( _lhsOrepl) }) }) }) }) }) }))-sem_RelevCoeL_Nil :: T_RelevCoeL-sem_RelevCoeL_Nil =-    (\ _lhsIrvarLookup ->-         (case ([]) of-          { _repl ->-          (case (_repl) of-           { _lhsOrepl ->-           ( _lhsOrepl) }) }))--- RelevQual ----------------------------------------------------{--   visit 0:-      inherited attribute:-         rvarLookup           : VarLookupFix UID RVarMpInfo-      synthesized attribute:-         repl                 : RelevQual -   alternatives:-      alternative SubEval:-         child l              : AnaEval -         child r              : AnaEval -         visit 0:-            local repl        : _--}--- cata-sem_RelevQual :: RelevQual ->-                 T_RelevQual-sem_RelevQual (RelevQual_SubEval _l _r) =-    (sem_RelevQual_SubEval (sem_AnaEval _l) (sem_AnaEval _r))--- semantic domain-type T_RelevQual = (VarLookupFix UID RVarMpInfo) ->-                   ( RelevQual)-sem_RelevQual_SubEval :: T_AnaEval ->-                         T_AnaEval ->-                         T_RelevQual-sem_RelevQual_SubEval l_ r_ =-    (\ _lhsIrvarLookup ->-         (case (_lhsIrvarLookup) of-          { _rOrvarLookup ->-          (case (_lhsIrvarLookup) of-           { _lOrvarLookup ->-           (case (r_ _rOrvarLookup) of-            { ( _rIrepl) ->-                (case (l_ _lOrvarLookup) of-                 { ( _lIrepl) ->-                     (case (RelevQual_SubEval _lIrepl _rIrepl) of-                      { _repl ->-                      (case (_repl) of-                       { _lhsOrepl ->-                       ( _lhsOrepl) }) }) }) }) }) }))--- RelevQualL ---------------------------------------------------{--   visit 0:-      inherited attribute:-         rvarLookup           : VarLookupFix UID RVarMpInfo-      synthesized attribute:-         repl                 : RelevQualL -   alternatives:-      alternative Cons:-         child hd             : RelevQual -         child tl             : RelevQualL -         visit 0:-            local repl        : _-      alternative Nil:-         visit 0:-            local repl        : _--}--- cata-sem_RelevQualL :: RelevQualL ->-                  T_RelevQualL-sem_RelevQualL list =-    (Prelude.foldr sem_RelevQualL_Cons sem_RelevQualL_Nil (Prelude.map sem_RelevQual list))--- semantic domain-type T_RelevQualL = (VarLookupFix UID RVarMpInfo) ->-                    ( RelevQualL)-sem_RelevQualL_Cons :: T_RelevQual ->-                       T_RelevQualL ->-                       T_RelevQualL-sem_RelevQualL_Cons hd_ tl_ =-    (\ _lhsIrvarLookup ->-         (case (_lhsIrvarLookup) of-          { _tlOrvarLookup ->-          (case (_lhsIrvarLookup) of-           { _hdOrvarLookup ->-           (case (tl_ _tlOrvarLookup) of-            { ( _tlIrepl) ->-                (case (hd_ _hdOrvarLookup) of-                 { ( _hdIrepl) ->-                     (case ((:) _hdIrepl _tlIrepl) of-                      { _repl ->-                      (case (_repl) of-                       { _lhsOrepl ->-                       ( _lhsOrepl) }) }) }) }) }) }))-sem_RelevQualL_Nil :: T_RelevQualL-sem_RelevQualL_Nil =-    (\ _lhsIrvarLookup ->-         (case ([]) of-          { _repl ->-          (case (_repl) of-           { _lhsOrepl ->-           ( _lhsOrepl) }) }))--- RelevTy ------------------------------------------------------{--   visit 0:-      inherited attribute:-         rvarLookup           : VarLookupFix UID RVarMpInfo-      synthesized attribute:-         repl                 : RelevTy -   alternatives:-      alternative None:-         visit 0:-            local repl        : _-      alternative Err:-         child str            : {String}-         visit 0:-            local repl        : _-      alternative Ana:-         child eval           : AnaEval -         visit 0:-            local repl        : _-      alternative Fun:-         child quant          : {RQuant}-         child quants         : {[UID]}-         child quals          : RelevQualL -         child args           : RelevTyL -         child res            : RelevTy -         visit 0:-            local rvarLookup  : _-            local repl        : _--}--- cata-sem_RelevTy :: RelevTy ->-               T_RelevTy-sem_RelevTy (RelevTy_None) =-    (sem_RelevTy_None)-sem_RelevTy (RelevTy_Err _str) =-    (sem_RelevTy_Err _str)-sem_RelevTy (RelevTy_Ana _eval) =-    (sem_RelevTy_Ana (sem_AnaEval _eval))-sem_RelevTy (RelevTy_Fun _quant _quants _quals _args _res) =-    (sem_RelevTy_Fun _quant _quants (sem_RelevQualL _quals) (sem_RelevTyL _args) (sem_RelevTy _res))--- semantic domain-type T_RelevTy = (VarLookupFix UID RVarMpInfo) ->-                 ( RelevTy)-sem_RelevTy_None :: T_RelevTy-sem_RelevTy_None =-    (\ _lhsIrvarLookup ->-         (case (RelevTy_None) of-          { _repl ->-          (case (_repl) of-           { _lhsOrepl ->-           ( _lhsOrepl) }) }))-sem_RelevTy_Err :: String ->-                   T_RelevTy-sem_RelevTy_Err str_ =-    (\ _lhsIrvarLookup ->-         (case (RelevTy_Err str_) of-          { _repl ->-          (case (_repl) of-           { _lhsOrepl ->-           ( _lhsOrepl) }) }))-sem_RelevTy_Ana :: T_AnaEval ->-                   T_RelevTy-sem_RelevTy_Ana eval_ =-    (\ _lhsIrvarLookup ->-         (case (_lhsIrvarLookup) of-          { _evalOrvarLookup ->-          (case (eval_ _evalOrvarLookup) of-           { ( _evalIrepl) ->-               (case (RelevTy_Ana _evalIrepl) of-                { _repl ->-                (case (_repl) of-                 { _lhsOrepl ->-                 ( _lhsOrepl) }) }) }) }))-sem_RelevTy_Fun :: RQuant ->-                   ([UID]) ->-                   T_RelevQualL ->-                   T_RelevTyL ->-                   T_RelevTy ->-                   T_RelevTy-sem_RelevTy_Fun quant_ quants_ quals_ args_ res_ =-    (\ _lhsIrvarLookup ->-         (case (varlookupFixDel quants_ _lhsIrvarLookup) of-          { _rvarLookup ->-          (case (_rvarLookup) of-           { _resOrvarLookup ->-           (case (_rvarLookup) of-            { _argsOrvarLookup ->-            (case (_rvarLookup) of-             { _qualsOrvarLookup ->-             (case (res_ _resOrvarLookup) of-              { ( _resIrepl) ->-                  (case (args_ _argsOrvarLookup) of-                   { ( _argsIrepl) ->-                       (case (quals_ _qualsOrvarLookup) of-                        { ( _qualsIrepl) ->-                            (case (RelevTy_Fun quant_ quants_ _qualsIrepl _argsIrepl _resIrepl) of-                             { _repl ->-                             (case (_repl) of-                              { _lhsOrepl ->-                              ( _lhsOrepl) }) }) }) }) }) }) }) }) }))--- RelevTyL -----------------------------------------------------{--   visit 0:-      inherited attribute:-         rvarLookup           : VarLookupFix UID RVarMpInfo-      synthesized attribute:-         repl                 : RelevTyL -   alternatives:-      alternative Cons:-         child hd             : RelevTy -         child tl             : RelevTyL -         visit 0:-            local repl        : _-      alternative Nil:-         visit 0:-            local repl        : _--}--- cata-sem_RelevTyL :: RelevTyL ->-                T_RelevTyL-sem_RelevTyL list =-    (Prelude.foldr sem_RelevTyL_Cons sem_RelevTyL_Nil (Prelude.map sem_RelevTy list))--- semantic domain-type T_RelevTyL = (VarLookupFix UID RVarMpInfo) ->-                  ( RelevTyL)-sem_RelevTyL_Cons :: T_RelevTy ->-                     T_RelevTyL ->-                     T_RelevTyL-sem_RelevTyL_Cons hd_ tl_ =-    (\ _lhsIrvarLookup ->-         (case (_lhsIrvarLookup) of-          { _tlOrvarLookup ->-          (case (_lhsIrvarLookup) of-           { _hdOrvarLookup ->-           (case (tl_ _tlOrvarLookup) of-            { ( _tlIrepl) ->-                (case (hd_ _hdOrvarLookup) of-                 { ( _hdIrepl) ->-                     (case ((:) _hdIrepl _tlIrepl) of-                      { _repl ->-                      (case (_repl) of-                       { _lhsOrepl ->-                       ( _lhsOrepl) }) }) }) }) }) }))-sem_RelevTyL_Nil :: T_RelevTyL-sem_RelevTyL_Nil =-    (\ _lhsIrvarLookup ->-         (case ([]) of-          { _repl ->-          (case (_repl) of-           { _lhsOrepl ->-           ( _lhsOrepl) }) }))--- TyAGItf ------------------------------------------------------{--   visit 0:-      inherited attribute:-         rvarLookup           : VarLookupFix UID RVarMpInfo-      synthesized attribute:-         repl                 : RelevTy -   alternatives:-      alternative AGItf:-         child relevTy        : RelevTy --}--- cata-sem_TyAGItf :: TyAGItf ->-               T_TyAGItf-sem_TyAGItf (TyAGItf_AGItf _relevTy) =-    (sem_TyAGItf_AGItf (sem_RelevTy _relevTy))--- semantic domain-type T_TyAGItf = (VarLookupFix UID RVarMpInfo) ->-                 ( RelevTy)-data Inh_TyAGItf = Inh_TyAGItf {rvarLookup_Inh_TyAGItf :: !((VarLookupFix UID RVarMpInfo))}-data Syn_TyAGItf = Syn_TyAGItf {repl_Syn_TyAGItf :: !(RelevTy)}-wrap_TyAGItf :: T_TyAGItf ->-                Inh_TyAGItf ->-                Syn_TyAGItf-wrap_TyAGItf sem (Inh_TyAGItf _lhsIrvarLookup) =-    (let ( _lhsOrepl) = sem _lhsIrvarLookup-     in  (Syn_TyAGItf _lhsOrepl))-sem_TyAGItf_AGItf :: T_RelevTy ->-                     T_TyAGItf-sem_TyAGItf_AGItf relevTy_ =-    (\ _lhsIrvarLookup ->-         (case (_lhsIrvarLookup) of-          { _relevTyOrvarLookup ->-          (case (relevTy_ _relevTyOrvarLookup) of-           { ( _relevTyIrepl) ->-               (case (_relevTyIrepl) of-                { _lhsOrepl ->-                ( _lhsOrepl) }) }) }))
− src/UHC/Light/Compiler/AnaDomain/Utils.hs
@@ -1,364 +0,0 @@-module UHC.Light.Compiler.AnaDomain.Utils-( RelevTyQuantHow (..)-, relevtyQuant-, relevQualRemoveAmbig-, assSolve-, relevTyArgsFromCTag-, relevTyArgs )-where-import UHC.Light.Compiler.Base.HsName.Builtin-import UHC.Light.Compiler.Base.Common-import UHC.Light.Compiler.Opts-import UHC.Light.Compiler.VarMp-import UHC.Light.Compiler.Substitutable-import UHC.Light.Compiler.AnaDomain-import UHC.Light.Compiler.AnaDomain.Trf.Subst-import UHC.Light.Compiler.AnaDomain.Ftv-import UHC.Light.Compiler.Gam.DataGam-import qualified Data.Map as Map-import qualified Data.Set as Set-import Data.Array-import Data.Maybe-import Data.List-import UHC.Util.Utils-import Control.Monad.State-import Control.Applicative----{-# LINE 37 "src/ehc/AnaDomain/Utils.chs" #-}--- | configuring quantification, for debugging-data RelevTyQuantHow-  = RelevTyQuantHow_Solve				-- solve-  | RelevTyQuantHow_RemoveAmbig			-- constraints over vars not in type are removed-  | RelevTyQuantHow_VarDefaultToTop		-- vars left over, and in type, are defaulted to top-  | RelevTyQuantHow_Quant				-- quant-  | RelevTyQuantHow_Rec					-- for recursive use-  deriving Eq--{-# LINE 48 "src/ehc/AnaDomain/Utils.chs" #-}-relevtyQuant-  :: [RelevTyQuantHow]-     -> RVarMp -> RelevQualS -> RelevTy-     -> ( RelevTy-        , RVarMp    	-- extra subst-        , RelevQualS	-- removed quals-        )-relevtyQuant how m qs t-  = case funTy of-      t'@(RelevTy_Fun _ _ _ as r) | RelevTyQuantHow_Rec `elem` how-         -> ( RelevTy_Fun RQuant_Rec (varFree t') [] as r-            , emptyRVarMp-            , Set.empty-            )-      t'@(RelevTy_Fun _ _ _ as r)-         -> ( RelevTy_Fun RQuant_Forall quantOver qs4 as' r'-            , solveVarMp-            , qs3rem-            )-         where ftvT = varFreeSet t'-               (qs2,solveVarMp)-                   | RelevTyQuantHow_Solve `elem` how = assSolve ftvT qsm-                   | otherwise                        = (qsm, emptyRVarMp)-                   where qsm = Set.map (varUpd m) qs-               as' = solveVarMp `varUpd` as-               r'  = solveVarMp `varUpd` r-               ftvT' = varFreeSet as' `Set.union` varFreeSet r'-               (qs3,qs3rem)-                   | RelevTyQuantHow_RemoveAmbig `elem` how = relevQualRemoveAmbig ftvT' qsm-                   | otherwise                              = (qsm, Set.empty)-                   where qsm = Set.map (varUpd solveVarMp) qs2-               qs4 = Set.toList qs3-               ftvTQ = ftvT' `Set.union` varFreeSet qs4-               quantOver-                   | RelevTyQuantHow_Quant `elem` how = Set.toList ftvTQ-                   | otherwise                        = []-      t' -> ( t'-            , emptyRVarMp-            , Set.empty-            )-  where funTy = case m `varUpd` t of-                  t'@(RelevTy_Fun _ _ _ _ _) -> t'-                  t'                         -> RelevTy_Fun RQuant_None [] [] [] t'--{-# LINE 98 "src/ehc/AnaDomain/Utils.chs" #-}--- | Remove unresolvable constraints, and those referring to free vars-relevQualRemoveAmbig :: UIDS -> RelevQualS -> (RelevQualS,RelevQualS)-relevQualRemoveAmbig bound qualS-  = Set.partition ok qualS-  where -- ok (RelevQual_Alt _ _ _ _ _ _) = False-        ok q                           = varFreeSet q `Set.isSubsetOf` bound--{-# LINE 111 "src/ehc/AnaDomain/Utils.chs" #-}-instance VarUpdatable RelevTy RVarMp where-  varUpd = relevtyAppVarLookup--instance VarExtractable RelevTy UID where-  varFreeSet = relevTyFtv--{-# LINE 119 "src/ehc/AnaDomain/Utils.chs" #-}-instance VarUpdatable RelevQual RVarMp where-  varUpd = relevqualAppVarLookup--instance VarExtractable RelevQual UID where-  varFreeSet = relevQualFtv--{-# LINE 127 "src/ehc/AnaDomain/Utils.chs" #-}-instance VarUpdatable RelevCoe RVarMp where-  varUpd = relevcoeAppVarLookup--instance VarExtractable RelevCoe UID where-  varFreeSet = relevCoeFtv--{-# LINE 163 "src/ehc/AnaDomain/Utils.chs" #-}-type WL = Map.Map UID (Set.Set Int)--data ASS-  = ASS-      { assWl       :: !WL-      , assWlRedo   :: !WL-      , assQm       :: !(Map.Map Int RelevQual)-      , assVm       :: !RVarMp-      , assProgress :: !Bool-      , assSolved   :: !(Set.Set Int)-      , assReduced  :: !(Set.Set Int)-      , assWlSize   :: !Int-      , assWlPos    :: !Int-      }--assSolve :: UIDS -> RelevQualS -> (RelevQualS,RVarMp)-assSolve bound qualS-  = -- maybe (qualS, emptyRVarMp)-          (\ass -> ( Set.map (qual $ assQm ass) $ (Set.unions $ Map.elems (assWl ass)) `Set.difference` assSolved ass-                   , assVm ass-          )        )-    --- $ tr "assSolve" (pp (show bound))-    $ solve (ASS wlInit Map.empty initQualM emptyRVarMp False Set.empty Set.empty (Map.size wlInit) 0)-  where -- solver-        solve ass@(ASS {assWl=wl, assQm=qualM, assWlPos=wlPos, assWlSize=wlSize})-          | check_pos {- _vUnbound -} && isJust mbN-            = -- tr ("solve: isJust mbN") (v >#< show is >-< "slv :" >#< show (assSolved ass) >-< "slvN:" >#< show (assSolved $ fromJust mbN) >-< "wl :" >#< show wl >-< "wlRedo:" >#< show (assWlRedo $ fromJust mbN) >-< show (assQm ass) >-< show (assQm $ fromJust mbN)) $-              solve ((fromJust mbN) {assProgress = True, assWlPos = wlPos + 1})-          | check_pos-            = -- tr ("solve: wlSz > 0(" ++ show wlSz ++ ")") (v >#< show is0 >#< show is >-< show wl) $-              solve (ass {assWlPos = wlPos + 1})-          | assProgress ass-            = -- tr ("solve: assProgress ass && Map.size wlRedo > 0") (Map.size wl >#< show wl >-< Map.size wlRedo >#< show wlRedo) $-              let wl' = Map.filter (\s -> not (Set.null s)) wl-              in  solve (ass {assProgress = False, assWlPos=0, assWl = wl', assWlSize = Map.size wl'})-          | otherwise-            = -- tr ("solve: done") ("assVm:" >#< assVm ass) $-              ass-          where (v,is0) = Map.elemAt (assWlPos ass) wl-                is = is0 `Set.difference` assSolved ass-                (isReduced,isToSolve) = splitRedSlv1 qualM is--                -- the real solving work attempts-                mbN  = solveN v is  ass--                -- checks, to be shared in guards-                check_pos = wlPos < wlSize--        -- split into those which cannot be further solved, and the rest-        splitRedSlv1 m = Set.partition (\i -> varFreeSet (qual m i) `Set.isSubsetOf` bound)--        -- solve combination of all quals related to single AnaEval var-        solveN v is ass@(ASS {assWl=wl, assQm=qualM})-          = do (q,s,slv,_) <- solveQN1 (l) v (r)-               let (qualM2,isNw) = qmAddL q qualM-                   slvS          = Set.fromList slv-                   touchedBySubs = (Set.fold (\v is -> is `Set.union` Map.findWithDefault Set.empty v wl) Set.empty $ Set.delete v $ rvarmpKeysSet s) `Set.difference` assSolved ass-                   (qualM3,wl') = updQualWl slvS s wl qualM2 $ Set.toList $ Set.unions [isNw, is, touchedBySubs] `Set.difference` slvS -- filter (\i -> Set.notMember i slvS) $ isNw ++ isL-               updAss wl' qualM3 s slvS ass-          where isL = Set.toList is-                (l, r, o) = split ([],[],[]) [ (qual qualM i, i) | i <- isL ]-                split (l,r,o) ((   RelevQual_SubEval a1 (AnaEval_Var v2), i) : qs) | v2 == v  = split ((i,a1):l,        r,   o) qs-                split (l,r,o) ((   RelevQual_SubEval (AnaEval_Var v1) a2, i) : qs) | v1 == v  = split (       l, (i,a2):r,   o) qs-                split (l,r,o) ((   _                                    , i) : qs)            = split (       l,        r, i:o) qs-                split res     _                                                               = res--        -- access qual via index-        qual   m q     = panicJust "amsSolve.qual" $ Map.lookup q m--        -- update qualM-        updQualWl slvS s wl qm is = (qm', wl')-          where qm' = foldr (\i m -> Map.update (\q -> Just $ s `varUpd` q) i m) qm is-                wl' = wlAddL qm' is wl--        -- update ass when something is solved-        updAss wl qm s slv ass = Just (ass {assWl=wl, assQm=qm, assVm= s |+> assVm ass, assSolved = Set.union slv $ assSolved ass})--        -- worklist: initial + remainder; TBD: variable-less quals need to be checked for being tautology-        wlAdd  m q  wl = foldr (add q) wl (varFree (qual m q))-                       where add q v wl = Map.alter (Just . maybe (Set.singleton q) (Set.insert q)) v wl-        wlAddL m qs wl = foldr (wlAdd m) wl qs--        -- get worklist to solve-        wlInit = wlAddL initQualM (Map.keys initQualM) Map.empty--        -- solve a combi of quals with sharing of middle AnaEval var-        solveQN1 (als) var (ars)-          = -- (\x -> tr "solveQN1.res" (ppCommas als >-< var >|< ppParens varIsBound >-< ppCommas ars >-< "=>" >#< maybe (pp "-") (\(q,s,slv,reason) -> (reason ++ ":") >#< "qual:" >#< q >#< "subs:" >#< s >-< "slv:" >#< show slv) x) x) $-            case (als,ars) of-              {--              -}-              -- transitive, no alternatives-              (ll1, rr1)-                | canDo && isJust mbJn-                -> return-                     ( (if null ll1 || null rr1 then [] else [RelevQual_SubEval jn mt])-                       ++ varConstraint-                     , amsLocalVarMp ams2-                     , (slv $ als ++ ars)-                     , "transitivity 1"-                     )-                | canDo     -- weaker transitivity where meet is distributed over the left sides-                -> return-                     ( [ RelevQual_SubEval a mt | a <- alsq ]-                       ++ varConstraint-                     , amsLocalVarMp ams1-                     , (slv $ als ++ ars)-                     , "transitivity 2"-                     )-                where canDo = varIsFree && not (null ll1) && not (null rr1) && isJust mbMt-                      mbMt@(~(Just (mt,ams1))) = if null rr1 then Just (top,ams0) else r1 ams0 meetl arsq-                      mbJn@(~(Just (jn,ams2))) = if null ll1 then Just (bot,ams1) else r1 ams1 joinl alsq-                      varConstraint-                        = if null rr1 then [] else [RelevQual_SubEval (AnaEval_Var var) mt]-              -- symmetry-              {--              -}-              ((_:_), (_:_))-                | not (null lr)-                -> case lr of-                     ((l,v,r):_)-                       -> return ( [], bind, [l,r]-                                 , "symmetry"-                                 )-                       where bind | varIsFree                  = bindAnaEval var (AnaEval_Var v  )-                                  | not $ v `Set.member` bound = bindAnaEval v   (AnaEval_Var var)-                                  | otherwise                  = emptyRVarMp-                where mbV l = [ (fromJust mbv,i) | (i,a) <- l, let mbv = isVar a, isJust mbv ]-                      l = mbV als-                      r = mbV ars-                      lr = [ (il, v, fromJust mbr) | (v,il) <- l, let mbr = lookup v r, isJust mbr ]-              -- reflexivity-              {--              -}-              ((_:_), _)-                | not (null l)-                -> case l of-                     (i:_)-                       -> return ( [], emptyRVarMp, [i]-                                 , "reflexivity"-                                 )-                where l = [ i | (i,a) <- als, maybe False (==var) (isVar a) ]-              -- a free var which is not left constrained anymore, simplifies to the right side-              ([], (_:_:_))-                | isJust mbMt-                -> return ( [RelevQual_SubEval (AnaEval_Var var) mt], amsLocalVarMp ams1, slv ars-                          , "right meet"-                          )-                where mbMt@(~(Just (mt,ams1))) = r1 ams0 meetl arsq-              {--              ([], (_:_))-                | varIsFree-                -> do (mt,ams1) <- r1 ams0 meetl arsq-                      return ( [], bindAnaEval var mt |+> amsLocalVarMp ams1, slv ars-                             , "right meet"-                             )-              -}-              {--              -- a free var not right constrained anymore, is just forgotten, which is pessimistic because we cannot infer 'more info', i.e. down in the lattice-              ((_:_), [])-                | varIsFree-                -> return ( [], emptyRVarMp, slv als, "left forget" )-              -}-              {--                -> do (jn,ams1) <- r1 ams0 joinl alsq-                      return ( [], bindAnaEval var jn |+> amsLocalVarMp ams1, slv als-                             , "left join"-                             )-              -}-              -- overlaps with transitivity, fired only when we can conclude var <= bot anyway-              {--              -}-              ([], (_:_))-                | not (null b)-                -> return ( [], bindAnaEval var a2, [i]-                          , "right bot"-                          )-                where (b,_) = partition (\(_,a) -> isBot a) ars-                      ~(i,a2) = head b-              ((_:_), [])-                | not (null b)-                -> return ( [], bindAnaEval var a2, [i]-                          , "left top"-                          )-                where (b,_) = partition (\(_,a) -> isTop a) als-                      ~(i,a2) = head b-              -- top at right is non-information, throw it away-              (_, (_:_))-                | not (null t)-                -> return ( [], emptyRVarMp, slv t-                          , "right top"-                          )-                where (t,_) = partition (\(_,a) -> isTop a) ars-              -- bot at left is non-information, throw it away-              ((_:_), _)-                | not (null b)-                -> return ( [], emptyRVarMp, slv b-                          , "left bot"-                          )-                where (b,_) = partition (\(_,a) -> isBot a) als-              _ -> Nothing-          where alsq  = map snd als-                arsq  = map snd ars-                slv a = map fst a-                ams0 = emptyAnaMatchState {amsBoundS = bound}-                r0 s act one l   = r1 s act (one:l)-                r1 s act (hd:tl) = foldM (\(x,s') y -> amsRunMb s' $ act x y) (hd,s) tl-                varIsBound = var `Set.member` bound-                varIsFree  = not varIsBound--        -- initial qual map-        qmAddL qs m = (m `Map.union` m', Map.keysSet m')-                    where m' = Map.fromList $ zip [Map.size m ..] qs-        initQualM = -- (\v -> tr "initQualM" (pp $ show v) v) $-                    fst $ qmAddL (Set.toList qualS) Map.empty--        -- bind, with simple occur check-        bindAnaEval v1 a2@(AnaEval_Var v2) | v1 == v2 = emptyRVarMp-        bindAnaEval v1 a2                             = rvarmpEvalUnit v1 a2--{-# LINE 389 "src/ehc/AnaDomain/Utils.chs" #-}--- | relev ty for tuple/constructor. isJust mbResTy <=> not isInPat-relevTyArgsFromCTag :: Bool -> CTag -> Maybe RelevTy -> Int -> DataGam -> UID -> Maybe ([RelevTy],RelevQualS)-relevTyArgsFromCTag isInPat ct mbResTy arity dataGam u-  = case ct of-      CTagRec-        -> Just (map fresh $ mkNewLevUIDL arity u, Set.empty)-      _ -> case dataGamTagLookup ct dataGam of-             Just (_,dti)-               -> Just (as, Set.fromList qa)-               where (as, qa) = relevTyArgs frC constrain u (map ((==Strictness_Strict) . dcfaiStrictness) $ dtiConFldAnnL dti) res-                     (res, frC, constrain)-                              = case mbResTy of-                                  Just t-                                    -> (t  , fr, \(RelevTy_Ana x) (RelevTy_Ana y) -> [RelevQual_SubEval x y])-                                    where fr _ = fresh-                                  _ -> (top, fr, \_               _               -> []                     )-                                    where fr e | e         = freshStrict-                                               | otherwise = freshLazy-             _ -> Nothing---{-# LINE 413 "src/ehc/AnaDomain/Utils.chs" #-}-relevTyArgs :: (Bool -> UID -> RelevTy) -> (RelevTy -> RelevTy -> [RelevQual]) -> UID -> [Bool] -> RelevTy -> ([RelevTy],[RelevQual])-relevTyArgs fresh constrain u relevForRes res-  = (as, concat qa)-  where (as,qa) = unzip $ zipWith mk relevForRes $ mkNewLevUIDL (length relevForRes) u-                where mk e u | e         = (t,constrain t res)-                             | otherwise = (t,[]             )-                        where t = fresh e u-
src/UHC/Light/Compiler/Base/CfgPP.hs view
@@ -117,5 +117,6 @@ ppCTagsMp :: CfgPP' x => x -> CTagsMp -> PP_Doc ppCTagsMp x   = mkl (mkl (ppCTag' x))-  where mkl pe = ppCurlysSemisBlock . map (\(n,e) -> cfgppHsName x n >-< indent 1 ("=" >#< pe e))+  where mkl :: (x -> PP_Doc) -> AssocL HsName x -> PP_Doc+        mkl pe = ppCurlysSemisBlock . map (\(n,e) -> cfgppHsName x n >-< indent 1 ("=" >#< pe e)) 
src/UHC/Light/Compiler/Base/Common.hs view
@@ -40,9 +40,9 @@ , module UHC.Light.Compiler.CodeGen.Tag , module UHC.Light.Compiler.Base.Strictness , ppHsnNonAlpha, ppHsnEscaped, hsnEscapeeChars, ppHsnEscapeWith, hsnOkChars, hsnNotOkStrs+, VarPPMp , ppSemi , ppPair-, showPP , ppFM , putCompileMsg , writePP, writeToFile@@ -61,7 +61,6 @@ , MaybeOk (..), isJustOk, isNotOk, maybeOk, fromJustOk, fromNotOk , KnownPrim (..) , allKnownPrimMp-, module UHC.Light.Compiler.Base.RLList , PredOccId (..) , mkPrId, poiHNm , mkPrIdCHR@@ -71,7 +70,6 @@ , InstVariant (..) , VarUIDHsName (..), vunmNm , vunmMbVar-, combineToDistinguishedElts , fixityAppPrio , InstDerivingFrom (..) , SrcConst (..)@@ -110,7 +108,6 @@ import qualified Data.Map as Map import UHC.Light.Compiler.Base.Strictness import qualified Control.Monad.State as ST-import UHC.Light.Compiler.Base.RLList import UHC.Util.Binary import UHC.Util.Serialize import Data.Version@@ -124,7 +121,6 @@   - {-# LINE 104 "src/ehc/Base/Common.chs" #-} deriving instance Generic Version @@ -199,6 +195,9 @@ emptyPredOccId = mkPrId uidStart  {-# LINE 195 "src/ehc/Base/Common.chs" #-}+type VarPPMp = Map.Map UID PP_Doc++{-# LINE 203 "src/ehc/Base/Common.chs" #-} ppAppTop :: PP arg => (HsName,arg) -> [arg] -> PP_Doc -> PP_Doc ppAppTop (conNm,con) argL dflt   =  if       (  hsnIsArrow conNm@@ -212,12 +211,12 @@      else if  hsnIsRow   conNm  then  ppListSep (hsnORow >|< con) hsnCRow "," argL                                 else  dflt -{-# LINE 216 "src/ehc/Base/Common.chs" #-}+{-# LINE 224 "src/ehc/Base/Common.chs" #-} ppAppTop' :: PP arg => (HsName,arg) -> [arg] -> [Bool] -> PP_Doc -> PP_Doc ppAppTop' cc@(conNm,_) [_,a] [True,_] _ | hsnIsArrow conNm || hsnIsPrArrow conNm    = pp a ppAppTop' cc argL _ dflt                                                            = ppAppTop cc argL dflt -{-# LINE 222 "src/ehc/Base/Common.chs" #-}+{-# LINE 230 "src/ehc/Base/Common.chs" #-} ppCon :: HsName -> PP_Doc ppCon nm =  if    hsnIsProd nm             then  ppParens (text (replicate (hsnProdArity nm - 1) ','))@@ -226,17 +225,17 @@ ppCmt :: PP_Doc -> PP_Doc ppCmt p = "{-" >#< p >#< "-}" -{-# LINE 232 "src/ehc/Base/Common.chs" #-}+{-# LINE 240 "src/ehc/Base/Common.chs" #-} ppSemi :: PP x => x -> PP_Doc ppSemi = (>|< ";") -{-# LINE 237 "src/ehc/Base/Common.chs" #-}+{-# LINE 245 "src/ehc/Base/Common.chs" #-}  ppSpaced :: PP a => [a] -> PP_Doc ppSpaced = ppListSep "" "" " "  -{-# LINE 244 "src/ehc/Base/Common.chs" #-}+{-# LINE 252 "src/ehc/Base/Common.chs" #-} ppFld :: String -> Maybe HsName -> HsName -> PP_Doc -> PP_Doc -> PP_Doc ppFld sep positionalNm nm nmPP f   = case positionalNm of@@ -249,7 +248,7 @@ mkPPAppFun :: HsName -> PP_Doc -> PP_Doc mkPPAppFun = mkPPAppFun' "|" -{-# LINE 258 "src/ehc/Base/Common.chs" #-}+{-# LINE 266 "src/ehc/Base/Common.chs" #-} mkExtAppPP' :: String -> (HsName,PP_Doc,[PP_Doc]) -> (HsName,PP_Doc,[PP_Doc],PP_Doc) -> (PP_Doc,[PP_Doc]) mkExtAppPP' sep (funNm,funNmPP,funPPL) (argNm,argNmPP,argPPL,argPP)   =  if hsnIsRec funNm || hsnIsSum funNm@@ -259,23 +258,19 @@ mkExtAppPP :: (HsName,PP_Doc,[PP_Doc]) -> (HsName,PP_Doc,[PP_Doc],PP_Doc) -> (PP_Doc,[PP_Doc]) mkExtAppPP = mkExtAppPP' "|" -{-# LINE 274 "src/ehc/Base/Common.chs" #-}+{-# LINE 282 "src/ehc/Base/Common.chs" #-} ppPair :: (PP a, PP b) => (a,b) -> PP_Doc ppPair (x,y) = ppParens (pp x >|< "," >|< pp y) -{-# LINE 279 "src/ehc/Base/Common.chs" #-}-showPP :: PP a => a -> String-showPP x = disp (pp x) 100 ""--{-# LINE 284 "src/ehc/Base/Common.chs" #-}+{-# LINE 292 "src/ehc/Base/Common.chs" #-} ppFM :: (PP k,PP v) => Map.Map k v -> PP_Doc ppFM = ppAssocL . Map.toList -{-# LINE 289 "src/ehc/Base/Common.chs" #-}+{-# LINE 297 "src/ehc/Base/Common.chs" #-} ppListV :: PP a => [a] -> PP_Doc ppListV = vlist . map pp -{-# LINE 298 "src/ehc/Base/Common.chs" #-}+{-# LINE 306 "src/ehc/Base/Common.chs" #-} putCompileMsg :: Verbosity -> Verbosity -> String -> Maybe String -> HsName -> FPath -> IO () putCompileMsg v optsVerbosity msg mbMsg2 modNm fNm   = if optsVerbosity >= v@@ -284,7 +279,7 @@             }     else return () -{-# LINE 308 "src/ehc/Base/Common.chs" #-}+{-# LINE 316 "src/ehc/Base/Common.chs" #-} writePP ::  (a -> PP_Doc) -> a -> FPath -> IO () writePP f text fp = writeToFile (show.f $ text) fp @@ -299,7 +294,7 @@ writeToFile = writeToFile' False  -{-# LINE 333 "src/ehc/Base/Common.chs" #-}+{-# LINE 341 "src/ehc/Base/Common.chs" #-} data ParNeed =  ParNotNeeded | ParNeededLow | ParNeeded | ParNeededHigh | ParOverrideNeeded                 deriving (Eq,Ord) @@ -316,13 +311,13 @@               | otherwise           =  (ParNeeded,repeat ParNeededHigh)      in   pr -{-# LINE 355 "src/ehc/Base/Common.chs" #-}+{-# LINE 363 "src/ehc/Base/Common.chs" #-} ppParNeed :: PP p => ParNeed -> ParNeed -> p -> PP_Doc ppParNeed locNeed globNeed p   = par (pp p)   where par = if globNeed > locNeed then ppParens else id -{-# LINE 381 "src/ehc/Base/Common.chs" #-}+{-# LINE 389 "src/ehc/Base/Common.chs" #-} -- | Expressions in a CBound position optionally may be labelled data CLbl   = CLbl_None@@ -339,36 +334,36 @@ clbl _ f _ (CLbl_Nm  n) = f n clbl _ _ f (CLbl_Tag t) = f t -{-# LINE 399 "src/ehc/Base/Common.chs" #-}+{-# LINE 407 "src/ehc/Base/Common.chs" #-} instance PP CLbl where   pp = clbl empty pp pp -{-# LINE 408 "src/ehc/Base/Common.chs" #-}+{-# LINE 416 "src/ehc/Base/Common.chs" #-} data Unbox   = Unbox_FirstField   | Unbox_Tag         !Int   | Unbox_None -{-# LINE 419 "src/ehc/Base/Common.chs" #-}+{-# LINE 427 "src/ehc/Base/Common.chs" #-} unions :: Eq a => [[a]] -> [a] unions = foldr union [] -{-# LINE 424 "src/ehc/Base/Common.chs" #-}+{-# LINE 432 "src/ehc/Base/Common.chs" #-} listCombineUniq :: Eq a => [[a]] -> [a] listCombineUniq = nub . concat -{-# LINE 444 "src/ehc/Base/Common.chs" #-}+{-# LINE 452 "src/ehc/Base/Common.chs" #-} replicateBy :: [a] -> b -> [b] replicateBy l e = replicate (length l) e -{-# LINE 453 "src/ehc/Base/Common.chs" #-}+{-# LINE 461 "src/ehc/Base/Common.chs" #-} strPadLeft :: Char -> Int -> String -> String strPadLeft c n s = replicate (n - length s) c ++ s  strBlankPad :: Int -> String -> String strBlankPad n s = s ++ replicate (n - length s) ' ' -{-# LINE 473 "src/ehc/Base/Common.chs" #-}+{-# LINE 481 "src/ehc/Base/Common.chs" #-} data Verbosity   = VerboseQuiet		-- nothing at all   | VerboseMinimal@@ -377,12 +372,12 @@   | VerboseDebug   deriving (Eq,Ord,Enum) -{-# LINE 487 "src/ehc/Base/Common.chs" #-}+{-# LINE 495 "src/ehc/Base/Common.chs" #-} data CHRScoped   = CHRScopedInstOnly | CHRScopedMutualSuper | CHRScopedAll   deriving (Eq,Ord) -{-# LINE 497 "src/ehc/Base/Common.chs" #-}+{-# LINE 505 "src/ehc/Base/Common.chs" #-} data CompilePoint   = CompilePoint_Imports   | CompilePoint_Parse@@ -392,7 +387,7 @@   | CompilePoint_All   deriving (Eq,Ord,Show) -{-# LINE 514 "src/ehc/Base/Common.chs" #-}+{-# LINE 522 "src/ehc/Base/Common.chs" #-} data Fixity   = Fixity_Infix | Fixity_Infixr | Fixity_Infixl   deriving (Eq,Ord,Show,Enum)@@ -402,15 +397,15 @@   pp Fixity_Infixl = pp "infixl"   pp Fixity_Infixr = pp "infixr" -{-# LINE 525 "src/ehc/Base/Common.chs" #-}+{-# LINE 533 "src/ehc/Base/Common.chs" #-} fixityMaxPrio :: Int fixityMaxPrio = 9 -{-# LINE 530 "src/ehc/Base/Common.chs" #-}+{-# LINE 538 "src/ehc/Base/Common.chs" #-} fixityAppPrio :: Int fixityAppPrio = fixityMaxPrio + 1 -{-# LINE 539 "src/ehc/Base/Common.chs" #-}+{-# LINE 547 "src/ehc/Base/Common.chs" #-} data InstVariant   = InstNormal | InstDefault   | InstDeriving InstDerivingFrom@@ -419,7 +414,7 @@ instance PP InstVariant where   pp = pp . show -{-# LINE 551 "src/ehc/Base/Common.chs" #-}+{-# LINE 559 "src/ehc/Base/Common.chs" #-} -- | Either a deriving combined from a datatype directly or a standalone data InstDerivingFrom   = InstDerivingFrom_Datatype@@ -429,7 +424,7 @@ instance PP InstDerivingFrom where   pp = pp . show -{-# LINE 566 "src/ehc/Base/Common.chs" #-}+{-# LINE 574 "src/ehc/Base/Common.chs" #-} type NmLev = Int  nmLevAbsent, nmLevBuiltin, nmLevOutside, nmLevModule :: NmLev@@ -439,7 +434,7 @@ nmLevModule  =  0  -{-# LINE 587 "src/ehc/Base/Common.chs" #-}+{-# LINE 595 "src/ehc/Base/Common.chs" #-} -- Assumption: tokTpIsInt (genTokTp t) == True tokMkInt :: Token -> Int tokMkInt t@@ -451,28 +446,28 @@ tokMkStr :: Token -> String tokMkStr = tokenVal -{-# LINE 605 "src/ehc/Base/Common.chs" #-}+{-# LINE 613 "src/ehc/Base/Common.chs" #-} tokMkQName :: Token -> HsName tokMkQName t   = case genTokTp t of       Just tp | tokTpIsInt tp -> mkHNmPos $ tokMkInt t       _                       -> mkHNm $ map hsnFromString $ tokenVals t -{-# LINE 615 "src/ehc/Base/Common.chs" #-}+{-# LINE 623 "src/ehc/Base/Common.chs" #-} tokMkQNames :: [Token] -> [HsName] tokMkQNames = map tokMkQName  instance HSNM Token where   mkHNm = tokMkQName -{-# LINE 627 "src/ehc/Base/Common.chs" #-}+{-# LINE 635 "src/ehc/Base/Common.chs" #-} hsnLclSupplyWith :: HsName -> [HsName] hsnLclSupplyWith n = map (\i -> hsnSuffix n $ "_" ++ show i) [1..]  hsnLclSupply :: [HsName] hsnLclSupply = hsnLclSupplyWith (hsnFromString "") -{-# LINE 639 "src/ehc/Base/Common.chs" #-}+{-# LINE 647 "src/ehc/Base/Common.chs" #-} splitByRadix :: (Integral b) => Int -> Int -> b -> (Int,[Int]) splitByRadix len radix num   = ( fromIntegral $ signum num@@ -488,19 +483,19 @@                  (abs num)         difflen = len - length repr -{-# LINE 656 "src/ehc/Base/Common.chs" #-}+{-# LINE 664 "src/ehc/Base/Common.chs" #-} strHex :: (Show a, Integral a) => Int -> a -> String strHex prec x   = replicate (prec - length h) '0' ++ h   where h = showHex x [] -{-# LINE 667 "src/ehc/Base/Common.chs" #-}+{-# LINE 675 "src/ehc/Base/Common.chs" #-} data Backend   = BackendGrinByteCode   | BackendSilly   deriving (Eq, Ord) -{-# LINE 678 "src/ehc/Base/Common.chs" #-}+{-# LINE 686 "src/ehc/Base/Common.chs" #-} data VarUIDHsName   = VarUIDHs_Name       { vunmId :: !UID, vunmNm' :: !HsName }   | VarUIDHs_UID        { vunmId :: !UID }@@ -512,12 +507,12 @@ vunmNm (VarUIDHs_UID  i  ) = mkHNm i vunmNm _                   = panic "Common.assnmNm" -{-# LINE 691 "src/ehc/Base/Common.chs" #-}+{-# LINE 699 "src/ehc/Base/Common.chs" #-} vunmMbVar :: VarUIDHsName -> Maybe UID vunmMbVar (VarUIDHs_Var v) = Just v vunmMbVar _                = Nothing -{-# LINE 697 "src/ehc/Base/Common.chs" #-}+{-# LINE 705 "src/ehc/Base/Common.chs" #-} instance Show VarUIDHsName where   show (VarUIDHs_Name _ n) = show n   show (VarUIDHs_UID  i  ) = show i@@ -526,7 +521,7 @@ instance PP VarUIDHsName where   pp a = pp $ show a -{-# LINE 711 "src/ehc/Base/Common.chs" #-}+{-# LINE 719 "src/ehc/Base/Common.chs" #-} withLkupLiftCyc2 :: (t -> Maybe UID) -> (t -> UIDS) -> (UID -> Maybe t) -> x -> (UIDS -> t -> x) -> (t -> x) -> UIDS -> UID -> x withLkupLiftCyc2 get noVisit lookup dflt yes no vsVisited v   = case lookup v of@@ -534,7 +529,7 @@         -> yes (Set.insert v $ Set.union (noVisit t) vsVisited) t       _ -> dflt -{-# LINE 720 "src/ehc/Base/Common.chs" #-}+{-# LINE 728 "src/ehc/Base/Common.chs" #-} withLkupLiftCyc1 :: (t -> Maybe UID) -> (t -> UIDS) -> (UID -> Maybe t) -> (UIDS -> t -> x) -> (t -> x) -> UIDS -> t -> x withLkupLiftCyc1 get noVisit lookup yes no vsVisited t   = maybe dflt (withLkupLiftCyc2 get noVisit lookup dflt yes no vsVisited) $ get t@@ -548,7 +543,7 @@ withLkupLift get   = withLkupChkVisitLift get (const Set.empty) -{-# LINE 735 "src/ehc/Base/Common.chs" #-}+{-# LINE 743 "src/ehc/Base/Common.chs" #-} lookupLiftCyc1 :: (x -> Maybe UID) -> (UID -> Maybe x) -> x' -> (x->x') -> x -> x' lookupLiftCyc1 get lookup dflt found x   = lk Set.empty dflt found x@@ -558,32 +553,17 @@ lookupLiftCyc2 get lookup dflt found x   = maybe dflt (\x -> lookupLiftCyc1 get lookup (found x) found x) $ lookup x -{-# LINE 746 "src/ehc/Base/Common.chs" #-}+{-# LINE 754 "src/ehc/Base/Common.chs" #-} lookupLiftCycMb1 :: (x -> Maybe UID) -> (UID -> Maybe x) -> x -> Maybe x lookupLiftCycMb1 get lookup x = lookupLiftCyc1 get lookup Nothing Just x  lookupLiftCycMb2 :: (x -> Maybe UID) -> (UID -> Maybe x) -> UID -> Maybe x lookupLiftCycMb2 get lookup x = lookupLiftCyc2 get lookup Nothing Just x -{-# LINE 758 "src/ehc/Base/Common.chs" #-}-data Presence = Present | Absent deriving (Eq,Ord,Show)- {-# LINE 766 "src/ehc/Base/Common.chs" #-}--- | Combine [[x1..xn],..,[y1..ym]] to [[x1..y1],[x2..y1],..,[xn..ym]].---   Each element [xi..yi] is distinct based on the the key k in xi==(k,_)-combineToDistinguishedElts :: Eq k => [AssocL k v] -> [AssocL k v]-combineToDistinguishedElts []     = []-combineToDistinguishedElts [[]]   = []-combineToDistinguishedElts [x]    = map (:[]) x-combineToDistinguishedElts (l:ls)-  = combine l $ combineToDistinguishedElts ls-  where combine l ls-          = concatMap (\e@(k,_)-                         -> mapMaybe (\ll -> maybe (Just (e:ll)) (const Nothing) $ lookup k ll)-                                     ls-                      ) l+data Presence = Present | Absent deriving (Eq,Ord,Show) -{-# LINE 789 "src/ehc/Base/Common.chs" #-}+{-# LINE 798 "src/ehc/Base/Common.chs" #-} data AlwaysEq a = AlwaysEq { unAlwaysEq :: a }  instance Eq (AlwaysEq a) where@@ -602,12 +582,12 @@   hashWithSalt salt _ = hashWithSalt salt (12345 :: Int) -- arbitarry, but constant  -{-# LINE 813 "src/ehc/Base/Common.chs" #-}+{-# LINE 822 "src/ehc/Base/Common.chs" #-} type PkgName = String  emptyPkgName = "" -{-# LINE 823 "src/ehc/Base/Common.chs" #-}+{-# LINE 832 "src/ehc/Base/Common.chs" #-} -- | How to do linking/packaging data LinkingStyle   = LinkingStyle_None			-- ^ no linking (e.g. indicated by --compile-only flag)@@ -616,46 +596,46 @@   deriving (Eq,Ord,Enum,Bounded)  -{-# LINE 863 "src/ehc/Base/Common.chs" #-}+{-# LINE 872 "src/ehc/Base/Common.chs" #-} metaLevTy, metaLevKi, metaLevSo :: MetaLev metaLevTy  = metaLevVal + 1 metaLevKi  = metaLevTy  + 1 metaLevSo  = metaLevKi  + 1 -{-# LINE 874 "src/ehc/Base/Common.chs" #-}+{-# LINE 883 "src/ehc/Base/Common.chs" #-} -- | Use as variable id type VarId    = UID type VarIdS   = Set.Set UID -{-# LINE 884 "src/ehc/Base/Common.chs" #-}+{-# LINE 893 "src/ehc/Base/Common.chs" #-} uidHNm :: UID -> HsName uidHNm = mkHNm -- hsnFromString . show -{-# LINE 889 "src/ehc/Base/Common.chs" #-}+{-# LINE 898 "src/ehc/Base/Common.chs" #-} uidQualHNm :: HsName -> UID -> HsName uidQualHNm modnm uid =                         hsnPrefixQual modnm $                         uidHNm uid  -{-# LINE 907 "src/ehc/Base/Common.chs" #-}+{-# LINE 916 "src/ehc/Base/Common.chs" #-} data SrcConst   = SrcConst_Int    Integer   | SrcConst_Char   Char   | SrcConst_Ratio  Integer Integer   deriving (Eq,Show,Ord) -{-# LINE 919 "src/ehc/Base/Common.chs" #-}+{-# LINE 928 "src/ehc/Base/Common.chs" #-} fmap2Tuple :: Functor f => snd -> f x -> f (x,snd) fmap2Tuple snd = fmap (\x -> (x,snd)) -{-# LINE 928 "src/ehc/Base/Common.chs" #-}+{-# LINE 937 "src/ehc/Base/Common.chs" #-} -- | Shorthand for if if' :: Bool -> a -> a -> a if' c t e = if c then t else e {-# INLINE if' #-} -{-# LINE 939 "src/ehc/Base/Common.chs" #-}+{-# LINE 948 "src/ehc/Base/Common.chs" #-} -- | Variation of `when` where Boolean condition is computed in a monad whenM :: Monad m => m Bool -> m () -> m () whenM c m = do@@ -683,7 +663,7 @@ {-# INLINE ifM' #-}  -{-# LINE 968 "src/ehc/Base/Common.chs" #-}+{-# LINE 977 "src/ehc/Base/Common.chs" #-} -- | Variation of `maybe` where the maybe is computed in a monad. See also `maybeM'` maybeM :: Monad m => m (Maybe a) -> m b -> (a -> m b) -> m b maybeM mmaybe mnothing mjust = mmaybe >>= maybe mnothing mjust@@ -724,7 +704,7 @@ unlessJustM :: Monad m => m (Maybe a) -> m () -> m () unlessJustM mmaybe = maybeM' mmaybe (\_ -> return ()) -{-# LINE 1014 "src/ehc/Base/Common.chs" #-}+{-# LINE 1023 "src/ehc/Base/Common.chs" #-} genNmMap :: Ord x => (String->s) -> [x] -> Map.Map x s -> (Map.Map x s, [s]) genNmMap mk xs m   = (m',reverse ns)@@ -739,7 +719,7 @@         ch x | x < 26    = [chr $ ord 'a' + x]              | otherwise = let (q,r) = x `quotRem` 26 in ch q ++ ch r -{-# LINE 1034 "src/ehc/Base/Common.chs" #-}+{-# LINE 1043 "src/ehc/Base/Common.chs" #-} data MaybeOk a   = JustOk  a   | NotOk   String@@ -761,7 +741,7 @@ maybeOk _ j (JustOk x) = j x maybeOk n _ (NotOk  x) = n x -{-# LINE 1061 "src/ehc/Base/Common.chs" #-}+{-# LINE 1070 "src/ehc/Base/Common.chs" #-} -- | Abstract graph visit, over arbitrary structures graphVisit   :: (Ord node)@@ -781,7 +761,7 @@                                      unvisited3          = unionUnvisited (newUnvisited `Set.difference` visited') unvisited2                                  in  v ((visited',unvisited3),thr') -{-# LINE 1086 "src/ehc/Base/Common.chs" #-}+{-# LINE 1095 "src/ehc/Base/Common.chs" #-} data KnownPrim   =     -- platform Int@@ -820,17 +800,17 @@   | KnownPrim_Mul64   deriving (Show,Eq,Enum,Bounded) -{-# LINE 1132 "src/ehc/Base/Common.chs" #-}+{-# LINE 1141 "src/ehc/Base/Common.chs" #-} instance PP KnownPrim where   pp = pp . show -{-# LINE 1137 "src/ehc/Base/Common.chs" #-}+{-# LINE 1146 "src/ehc/Base/Common.chs" #-} allKnownPrimMp :: Map.Map String KnownPrim allKnownPrimMp   = Map.fromList [ (drop prefixLen $ show t, t) | t <- [ minBound .. maxBound ] ]   where prefixLen = length "KnownPrim_" -{-# LINE 1152 "src/ehc/Base/Common.chs" #-}+{-# LINE 1161 "src/ehc/Base/Common.chs" #-} str2stMpWithOmitShow :: (Enum opt, Bounded opt, Eq opt) => (opt -> String) -> [opt] -> Map.Map String opt str2stMpWithOmitShow shw omits = Map.fromList [ (shw o, o) | o <- [minBound .. maxBound] \\ omits ] @@ -846,35 +826,28 @@ showStr2stMp :: Map.Map String opt -> String showStr2stMp = concat . intersperse " " . Map.keys -{-# LINE 1173 "src/ehc/Base/Common.chs" #-}-deriving instance Data KnownPrim+{-# LINE 1182 "src/ehc/Base/Common.chs" #-} deriving instance Typeable KnownPrim -{-# LINE 1178 "src/ehc/Base/Common.chs" #-}+{-# LINE 1186 "src/ehc/Base/Common.chs" #-} deriving instance Typeable VarUIDHsName-deriving instance Data VarUIDHsName  deriving instance Typeable TagDataInfo-deriving instance Data TagDataInfo  deriving instance Typeable Fixity-deriving instance Data Fixity  #if __GLASGOW_HASKELL__ >= 708 deriving instance Typeable  AlwaysEq #else deriving instance Typeable1 AlwaysEq #endif-deriving instance Data x => Data (AlwaysEq x)  deriving instance Typeable PredOccId-deriving instance Data PredOccId  deriving instance Typeable CLbl-deriving instance Data CLbl  -{-# LINE 1207 "src/ehc/Base/Common.chs" #-}+{-# LINE 1209 "src/ehc/Base/Common.chs" #-} instance Binary KnownPrim where   put = putEnum8   get = getEnum8
src/UHC/Light/Compiler/Base/Debug.hs view
@@ -5,8 +5,10 @@ import UHC.Util.Pretty  {-# LINE 18 "src/ehc/Base/Debug.chs" #-}+{- showPP :: PP a => a -> String showPP p = disp (pp p) 1000 ""+-}  trm :: String -> (a -> PP_Doc) -> a -> a trm msg pp x = trace msg (trace (showPP (msg >|< ":" >|< pp x)) x)
src/UHC/Light/Compiler/Base/Fld.hs view
@@ -108,9 +108,8 @@ #else deriving instance Typeable1 Fld' #endif-deriving instance Data x => Data (Fld' x) -{-# LINE 143 "src/ehc/Base/Fld.chs" #-}+{-# LINE 142 "src/ehc/Base/Fld.chs" #-} instance Serialize x => Serialize (Fld' x) where   sput (Fld a b) = sput a >> sput b   sget = liftM2 Fld sget sget
src/UHC/Light/Compiler/Base/HsName.hs view
@@ -631,26 +631,20 @@  {-# LINE 857 "src/ehc/Base/HsName.chs" #-} deriving instance Typeable HsName-deriving instance Data HsName  deriving instance Typeable IdOccKind-deriving instance Data IdOccKind  deriving instance Typeable IdOcc-deriving instance Data IdOcc -{-# LINE 868 "src/ehc/Base/HsName.chs" #-}+{-# LINE 865 "src/ehc/Base/HsName.chs" #-} deriving instance Typeable HsNameUniqifier-deriving instance Data HsNameUniqifier  deriving instance Typeable HsNameUnique-deriving instance Data HsNameUnique -{-# LINE 876 "src/ehc/Base/HsName.chs" #-}+{-# LINE 871 "src/ehc/Base/HsName.chs" #-} deriving instance Typeable OrigName-deriving instance Data OrigName -{-# LINE 885 "src/ehc/Base/HsName.chs" #-}+{-# LINE 879 "src/ehc/Base/HsName.chs" #-} instance Binary HsNameUniqifier where   put = putEnum8   get = getEnum8@@ -717,7 +711,7 @@   sputNested = sputPlain   sgetNested = sgetPlain -{-# LINE 957 "src/ehc/Base/HsName.chs" #-}+{-# LINE 951 "src/ehc/Base/HsName.chs" #-} data IdOccKind   = IdOcc_Val   | IdOcc_Pat@@ -732,7 +726,7 @@   | IdOcc_Fusion   deriving (Eq,Ord,Enum) -{-# LINE 983 "src/ehc/Base/HsName.chs" #-}+{-# LINE 977 "src/ehc/Base/HsName.chs" #-} -- intended for parsing instance Show IdOccKind where   show IdOcc_Val      = "Value"@@ -747,21 +741,21 @@   show IdOcc_Data     = "Data"   show IdOcc_Fusion   = "Fusion" -{-# LINE 1009 "src/ehc/Base/HsName.chs" #-}+{-# LINE 1003 "src/ehc/Base/HsName.chs" #-} -- intended for parsing instance PP IdOccKind where   pp = text . show -{-# LINE 1015 "src/ehc/Base/HsName.chs" #-}+{-# LINE 1009 "src/ehc/Base/HsName.chs" #-} data IdOcc   = IdOcc { ioccNm :: !HsName, ioccKind :: !IdOccKind }   deriving (Show,Eq,Ord)  -{-# LINE 1026 "src/ehc/Base/HsName.chs" #-}+{-# LINE 1020 "src/ehc/Base/HsName.chs" #-} type HsNameS = Set.Set HsName -{-# LINE 1034 "src/ehc/Base/HsName.chs" #-}+{-# LINE 1028 "src/ehc/Base/HsName.chs" #-} -- ensure a name valid for backends which are more restrictive in their allowed identifier character set hsnSafeJavaLike :: HsName -> HsName hsnSafeJavaLike@@ -772,17 +766,17 @@         first s@(c:_) | isDigit c = '_' : s         first s                   =       s -{-# LINE 1061 "src/ehc/Base/HsName.chs" #-}+{-# LINE 1055 "src/ehc/Base/HsName.chs" #-} type FvS = HsNameS type FvSMp = Map.Map HsName FvS -{-# LINE 1070 "src/ehc/Base/HsName.chs" #-}+{-# LINE 1064 "src/ehc/Base/HsName.chs" #-} type HsNameMp = Map.Map HsName HsName  hsnRepl :: HsNameMp -> HsName -> HsName hsnRepl m n = Map.findWithDefault n n m -{-# LINE 1081 "src/ehc/Base/HsName.chs" #-}+{-# LINE 1075 "src/ehc/Base/HsName.chs" #-} data RPatNm   = RPatNmOrig {rpatNmNm :: !HsName}   | RPatNmUniq {rpatNmNm :: !HsName}@@ -798,16 +792,16 @@   pp (RPatNmOrig n) = n >|< "(O)"   pp (RPatNmUniq n) = n >|< "(U)" -{-# LINE 1098 "src/ehc/Base/HsName.chs" #-}+{-# LINE 1092 "src/ehc/Base/HsName.chs" #-} rpatNmIsOrig :: RPatNm -> Bool rpatNmIsOrig (RPatNmOrig _) = True rpatNmIsOrig _              = False -{-# LINE 1108 "src/ehc/Base/HsName.chs" #-}+{-# LINE 1102 "src/ehc/Base/HsName.chs" #-} hsnUnknown ::  HsName hsnUnknown =   hsnFromString "??" -{-# LINE 1117 "src/ehc/Base/HsName.chs" #-}+{-# LINE 1111 "src/ehc/Base/HsName.chs" #-}  data Track   = TrackNone@@ -818,7 +812,7 @@   deriving (Eq, Ord, Show)  -{-# LINE 1129 "src/ehc/Base/HsName.chs" #-}+{-# LINE 1123 "src/ehc/Base/HsName.chs" #-}  instance Serialize Track where   sput (TrackNone             ) = sputWord8 0@@ -836,7 +830,6 @@            3 -> liftM2 TrackSelect   sget sget            4 -> liftM2 TrackVarApply sget sget -deriving instance Data Track deriving instance Typeable Track  
src/UHC/Light/Compiler/Base/Pragma.hs view
@@ -42,7 +42,7 @@   | Pragma_ExcludeIfTarget       { pragmaExcludeTargets   		:: [Target]       }-  deriving (Eq,Ord,Show,Typeable,Data)+  deriving (Eq,Ord,Show,Typeable)   {-# LINE 63 "src/ehc/Base/Pragma.chs" #-}
− src/UHC/Light/Compiler/Base/RLList.hs
@@ -1,113 +0,0 @@-{-# LANGUAGE CPP #-}--module UHC.Light.Compiler.Base.RLList-( RLList (..)-, rllConcat, rllSingleton, rllEmpty, rllToList, rllFromList-, rllLength, rllNull-, rllIsPrefixOf-, rllInits, rllInit, rllInitLast-, rllHeadTail )-where-import Data.Maybe-import Data.List-import Control.Monad-import UHC.Util.Utils-import UHC.Util.Binary-import UHC.Util.Serialize----{-# LINE 34 "src/ehc/Base/RLList.chs" #-}-newtype RLList a-  = RLList [(a,Int)]-  deriving (Eq)--instance Ord a => Ord (RLList a) where-  (RLList [])           `compare` (RLList [])           = EQ-  (RLList [])           `compare` (RLList _ )           = LT-  (RLList _ )           `compare` (RLList [])           = GT-  (RLList ((x1,c1):l1)) `compare` (RLList ((x2,c2):l2)) | x1 == x2 = if c1 == c2-                                                                     then RLList l1 `compare` RLList l2-                                                                     else c1 `compare` c2-                                                        | x1 <  x2 = LT-                                                        | x1 >  x2 = GT--{-# LINE 50 "src/ehc/Base/RLList.chs" #-}-rllConcat :: Eq a => RLList a -> RLList a -> RLList a-rllConcat (RLList []) rll2  = rll2-rllConcat rll1 (RLList [])  = rll1-rllConcat (RLList l1) (RLList l2@(h2@(x2,c2):t2))-                            | x1 == x2  = RLList (h1 ++ [(x1,c1+c2)] ++ t2)-                            | otherwise = RLList (l1 ++ l2)-                            where (h1,t1@(x1,c1)) = fromJust (initlast l1)--rllEmpty :: RLList a-rllEmpty = RLList []--rllSingleton :: a -> RLList a-rllSingleton x = RLList [(x,1)]--rllToList :: RLList a -> [a]-rllToList (RLList l) = concatMap (\(x,c) -> replicate c x) l--rllFromList :: Eq a => [a] -> RLList a-rllFromList l = RLList [ (x,length g) | g@(x:_) <- group l ]--{-# LINE 72 "src/ehc/Base/RLList.chs" #-}-rllLength :: RLList a -> Int-rllLength (RLList l) = sum $ map snd l--rllNull :: RLList a -> Bool-rllNull (RLList []) = True-rllNull (RLList _ ) = False--{-# LINE 81 "src/ehc/Base/RLList.chs" #-}-rllIsPrefixOf :: Eq a => RLList a -> RLList a -> Bool-rllIsPrefixOf (RLList []) _ = True-rllIsPrefixOf _ (RLList []) = False-rllIsPrefixOf (RLList ((x1,c1):l1)) (RLList ((x2,c2):l2))-                            | x1 == x2  = if c1 < c2-                                          then True-                                          else if c1 > c2-                                          then False-                                          else rllIsPrefixOf (RLList l1) (RLList l2)-                            | otherwise = False--{-# LINE 94 "src/ehc/Base/RLList.chs" #-}-rllInitLast :: Eq a => RLList a -> Maybe (RLList a,a)-rllInitLast (RLList l ) = il [] l-                        where il acc [(x,1)]    = Just (RLList (reverse acc),x)-                              il acc [(x,c)]    = Just (RLList (reverse ((x,c-1):acc)),x)-                              il acc (a:as)     = il (a:acc) as-                              il _   _          = Nothing--rllInit :: Eq a => RLList a -> RLList a-rllInit = fst . fromJust . rllInitLast--rllInits :: Eq a => RLList a -> [RLList a]-rllInits = map rllFromList . inits . rllToList--{-# LINE 109 "src/ehc/Base/RLList.chs" #-}-rllHeadTail :: RLList a -> Maybe (a,RLList a)-rllHeadTail (RLList [])        = Nothing-rllHeadTail (RLList ((x,1):t)) = Just (x,RLList t)-rllHeadTail (RLList ((x,c):t)) = Just (x,RLList ((x,c-1):t))--{-# LINE 116 "src/ehc/Base/RLList.chs" #-}-instance Show a => Show (RLList a) where-  show = show . rllToList--{-# LINE 125 "src/ehc/Base/RLList.chs" #-}-#if __GLASGOW_HASKELL__ >= 708-deriving instance Typeable  RLList-#else-deriving instance Typeable1 RLList-#endif-deriving instance Data x => Data (RLList x)---{-# LINE 139 "src/ehc/Base/RLList.chs" #-}-instance Binary a => Binary (RLList a) where-  put (RLList a) = put a-  get = liftM RLList get-
src/UHC/Light/Compiler/Base/Range.hs view
@@ -118,13 +118,11 @@  {-# LINE 171 "src/ehc/Base/Range.chs" #-} deriving instance Typeable Range-deriving instance Data Range  deriving instance Typeable Pos-deriving instance Data Pos  -{-# LINE 184 "src/ehc/Base/Range.chs" #-}+{-# LINE 182 "src/ehc/Base/Range.chs" #-} instance Binary Range where   put (Range_Unknown    ) = putWord8 0   put (Range_Builtin    ) = putWord8 1
src/UHC/Light/Compiler/Base/Strictness.hs view
@@ -22,9 +22,8 @@  {-# LINE 38 "src/ehc/Base/Strictness.chs" #-} deriving instance Typeable Strictness-deriving instance Data Strictness -{-# LINE 47 "src/ehc/Base/Strictness.chs" #-}+{-# LINE 46 "src/ehc/Base/Strictness.chs" #-} instance Binary Strictness where   put (Strictness_Strict           )   = putWord8 0   put (Strictness_NonStrict        )   = putWord8 1
src/UHC/Light/Compiler/Base/Target.hs view
@@ -289,15 +289,12 @@  {-# LINE 549 "src/ehc/Base/Target.chs" #-} deriving instance Typeable Target-deriving instance Data Target  deriving instance Typeable FFIWay-deriving instance Data FFIWay  deriving instance Typeable TargetFlavor-deriving instance Data TargetFlavor -{-# LINE 564 "src/ehc/Base/Target.chs" #-}+{-# LINE 561 "src/ehc/Base/Target.chs" #-} instance Binary Target where   put = putEnum8   get = getEnum8
src/UHC/Light/Compiler/Base/Trace.hs view
@@ -62,7 +62,10 @@ trppEmpty :: TrPP trppEmpty = Sq.empty -{-# LINE 85 "src/ehc/Base/Trace.chs" #-}+instance PP TrPP where+  pp = vlist . Fld.toList++{-# LINE 88 "src/ehc/Base/Trace.chs" #-} -- | Tracing PPs trPP :: (TraceOn -> Bool) -> TraceOn -> [PP_Doc] -> TrPP trPP onTr ton ms = if onTr ton then pr ms else trppEmpty@@ -77,12 +80,6 @@ -- | Tracing PPs, producing output on IO trOnPP :: (Monad m, MonadIO m) => (TraceOn -> Bool) -> TraceOn -> [PP_Doc] -> m () trOnPP onTr ton ms = when (onTr ton) $ trPPOnIO $ trPP onTr ton ms-{--  where pr []      = return ()-        pr [m]     = putPPLn $ show ton >|< ":" >#< m-        pr (m:ms)  = do pr [m]-                        forM_ ms $ \m -> putPPLn $ indent 2 m--} {-# INLINE trOnPP #-}  -- | Tracing Strings, producing output on IO
− src/UHC/Light/Compiler/Base/TreeTrie.hs
@@ -1,406 +0,0 @@-{-# LANGUAGE CPP #-}--module UHC.Light.Compiler.Base.TreeTrie-( TreeTrie1Key (..), TreeTrieMp1Key (..), TreeTrieMpKey, TreeTrieKey-, ppTreeTrieKey-, ttkSingleton, ttkAdd', ttkAdd, ttkChildren, ttkFixate-, ttkParentChildren-, TreeTrieKeyable (..)-, TreeTrieLookup (..)-, TreeTrie, emptyTreeTrie, empty-, toListByKey, toList-, fromListByKeyWith, fromList-, lookupPartialByKey, lookupPartialByKey', lookupByKey, lookup-, lookupResultToList-, isEmpty, null-, elems-, singleton, singletonKeyable-, unionWith, union, unionsWith, unions-, insertByKeyWith, insertByKey-, deleteByKey, delete-, deleteListByKey )-where-import qualified Data.Set as Set-import qualified Data.Map as Map-import Data.Maybe-import Prelude hiding (lookup,null)-import qualified UHC.Util.FastSeq as Seq-import qualified Data.List as List-import UHC.Util.Utils-import UHC.Util.Pretty hiding (empty)-import qualified UHC.Util.Pretty as PP-import Data.Typeable (Typeable)-import Data.Generics (Data)-import Control.Monad-import UHC.Util.Serialize------{-# LINE 64 "src/ehc/Base/TreeTrie.chs" #-}--- | Both key and trie can allow partial matching, indicated by TreeTrie1Key-data TreeTrie1Key k-  = TT1K_One    !k-  | TT1K_Any                            -- used to wildcard match a single node in a tree-  deriving (Eq, Ord)---- | A key in a layer of TreeTrieMpKey-data TreeTrieMp1Key k-  = TTM1K       [TreeTrie1Key k]-  | TTM1K_Any                           -- used to wildcard match multiple children, internal only-  deriving (Eq, Ord)---- | The key into a map used internally by the trie-type TreeTrieMpKey k-  = [TreeTrieMp1Key k]---- | The key used externally to index into a trie-type TreeTrieKey k-  = [TreeTrieMpKey k]--{-# LINE 92 "src/ehc/Base/TreeTrie.chs" #-}-#if __GLASGOW_HASKELL__ >= 708-deriving instance Typeable  TreeTrie1Key-deriving instance Typeable  TreeTrieMp1Key-#else-deriving instance Typeable1 TreeTrie1Key-deriving instance Typeable1 TreeTrieMp1Key-#endif-deriving instance Data x => Data (TreeTrie1Key x)-deriving instance Data x => Data (TreeTrieMp1Key x)--{-# LINE 104 "src/ehc/Base/TreeTrie.chs" #-}-instance Show k => Show (TreeTrie1Key k) where-  show  TT1K_Any    = "*"-  show (TT1K_One k) = "1:" ++ show k--instance Show k => Show (TreeTrieMp1Key k) where-  show (TTM1K_Any )  = "**" -- ++ show i-  show (TTM1K k)     = show k--instance PP k => PP (TreeTrie1Key k) where-  pp  TT1K_Any    = pp "*"-  pp (TT1K_One k) = "1:" >|< k--instance PP k => PP (TreeTrieMp1Key k) where-  pp = ppTreeTrieMp1Key--{-# LINE 121 "src/ehc/Base/TreeTrie.chs" #-}-ppTreeTrieMp1Key :: PP k => TreeTrieMp1Key k -> PP_Doc-ppTreeTrieMp1Key (TTM1K l) = ppBracketsCommas l-ppTreeTrieMp1Key (TTM1K_Any ) = pp "**" -- >|< i--ppTreeTrieMpKey :: PP k => TreeTrieMpKey k -> PP_Doc-ppTreeTrieMpKey = ppListSep "<" ">" "," . map ppTreeTrieMp1Key--ppTreeTrieKey :: PP k => TreeTrieKey k -> PP_Doc-ppTreeTrieKey = ppBracketsCommas . map ppTreeTrieMpKey--{-# LINE 137 "src/ehc/Base/TreeTrie.chs" #-}--- | Make singleton, which should at end be stripped from bottom layer of empty TTM1K []-ttkSingleton :: TreeTrie1Key k -> TreeTrieKey k-ttkSingleton k = [TTM1K [k]] : ttkEmpty---- | empty key-ttkEmpty :: TreeTrieKey k-ttkEmpty = [[TTM1K []]]---- | Construct intermediate structure for children for a new Key---   length ks >= 2-ttkChildren :: [TreeTrieKey k] -> [TreeTrieMpKey k]-ttkChildren ks-  =   [TTM1K $ concat [k | TTM1K k <- concat hs]]       -- first level children are put together in singleton list of list with all children-    : merge (split tls)                                 -- and the rest is just concatenated-  where (hs,tls) = split ks-        split = unzip . map hdAndTl-        merge (hs,[]) = [concat hs]-        merge (hs,tls) = concat hs : merge (split $ filter (not . List.null) tls)---- | Add a new layer with single node on top, combining the rest.-ttkAdd' :: TreeTrie1Key k -> [TreeTrieMpKey k] -> TreeTrieKey k-ttkAdd' k ks = [TTM1K [k]] : ks---- | Add a new layer with single node on top, combining the rest.---   length ks >= 2-ttkAdd :: TreeTrie1Key k -> [TreeTrieKey k] -> TreeTrieKey k-ttkAdd k ks = ttkAdd' k (ttkChildren ks)---- | Fixate by removing lowest layer empty children-ttkFixate :: TreeTrieKey k -> TreeTrieKey k-ttkFixate (kk:kks) | all (\(TTM1K k) -> List.null k) kk = []-                   | otherwise                          = kk : ttkFixate kks-ttkFixate _                                             = []--{-# LINE 177 "src/ehc/Base/TreeTrie.chs" #-}--- | Split key into parent and children components, inverse of ttkAdd'-ttkParentChildren :: TreeTrieKey k -> ( TreeTrie1Key k, [TreeTrieMpKey k] )-ttkParentChildren k-  = case k of-      ([TTM1K [h]] : t) -> (h,t)--{-# LINE 189 "src/ehc/Base/TreeTrie.chs" #-}--- | Match 1st arg with wildcards to second, returning the to be propagated key to next layer in tree-matchTreeTrieMpKeyTo :: Eq k => TreeTrieMpKey k -> TreeTrieMpKey k -> Maybe (TreeTrieMpKey k -> TreeTrieMpKey k)-matchTreeTrieMpKeyTo l r-  | all isJust llrr = Just (\k -> concat $ zipWith ($) (concatMap (fromJust) llrr) k)-  | otherwise       = Nothing-  where llrr = zipWith m l r-        m (TTM1K     l) (TTM1K r) | length l == length r && all isJust lr-                                                  = Just (concatMap fromJust lr)-                                  | otherwise     = Nothing-                                  where lr = zipWith m1 l r-        m (TTM1K_Any  ) (TTM1K []) = Just []-        m (TTM1K_Any  ) (TTM1K r ) = Just [const $ replicate (length r) TTM1K_Any]-        m1  TT1K_Any     _                    = Just [const [TTM1K_Any]]-        m1 (TT1K_One l) (TT1K_One r) | l == r = Just [\x -> [x]]-        m1  _            _                    = Nothing--{-# LINE 211 "src/ehc/Base/TreeTrie.chs" #-}--- | Keyable values, i.e. capable of yielding a TreeTrieKey for retrieval from a trie-class TreeTrieKeyable x k where-  toTreeTrieKey :: x -> TreeTrieKey k--{-# LINE 221 "src/ehc/Base/TreeTrie.chs" #-}-data TreeTrieLookup-  = TTL_Exact                           -- lookup with exact match-  | TTL_WildInTrie                      -- lookup with wildcard matching in trie-  | TTL_WildInKey                       -- lookup with wildcard matching in key-  deriving (Eq)--{-# LINE 233 "src/ehc/Base/TreeTrie.chs" #-}--- | Child structure-type TreeTrieChildren k v-  = Map.Map (TreeTrieMpKey k) (TreeTrie k v)---- | The trie structure, branching out on (1) kind, (2) nr of children, (3) actual key-data TreeTrie k v-  = TreeTrie-      { ttrieMbVal       :: Maybe v                                                 -- value-      , ttrieSubs        :: TreeTrieChildren k v                                    -- children-      }- deriving (Typeable, Data)--emptyTreeTrie, empty :: TreeTrie k v-emptyTreeTrie = TreeTrie Nothing Map.empty--empty = emptyTreeTrie--{-# LINE 265 "src/ehc/Base/TreeTrie.chs" #-}-instance (Show k, Show v) => Show (TreeTrie k v) where-  showsPrec _ t = showList $ toListByKey t--instance (PP k, PP v) => PP (TreeTrie k v) where-  pp t = ppBracketsCommasBlock $ map (\(a,b) -> ppTreeTrieKey a >#< ":" >#< b) $ toListByKey t--{-# LINE 279 "src/ehc/Base/TreeTrie.chs" #-}-toFastSeqSubs :: TreeTrieChildren k v -> Seq.FastSeq (TreeTrieKey k,v)-toFastSeqSubs ttries-  = Seq.unions-      [ Seq.map (\(ks,v) -> (k:ks,v)) $ toFastSeq True t-      | (k,t) <- Map.toList ttries-      ]--toFastSeq :: Bool -> TreeTrie k v -> Seq.FastSeq (TreeTrieKey k,v)-toFastSeq inclEmpty ttrie-  =          (case ttrieMbVal ttrie of-                Just v | inclEmpty -> Seq.singleton ([],v)-                _                  -> Seq.empty-             )-    Seq.:++: toFastSeqSubs (ttrieSubs ttrie)--toListByKey, toList :: TreeTrie k v -> [(TreeTrieKey k,v)]-toListByKey = Seq.toList . toFastSeq True--toList = toListByKey--{-# LINE 301 "src/ehc/Base/TreeTrie.chs" #-}-fromListByKeyWith :: Ord k => (v -> v -> v) -> [(TreeTrieKey k,v)] -> TreeTrie k v-fromListByKeyWith cmb = unionsWith cmb . map (uncurry singleton)--fromListByKey :: Ord k => [(TreeTrieKey k,v)] -> TreeTrie k v-fromListByKey = unions . map (uncurry singleton)--fromListWith :: Ord k => (v -> v -> v) -> [(TreeTrieKey k,v)] -> TreeTrie k v-fromListWith cmb = fromListByKeyWith cmb--fromList :: Ord k => [(TreeTrieKey k,v)] -> TreeTrie k v-fromList = fromListByKey--{-# LINE 321 "src/ehc/Base/TreeTrie.chs" #-}-lookupPartialByKey' :: forall k v v' . (PP k,Ord k) => (TreeTrieKey k -> v -> v') -> TreeTrieLookup -> TreeTrieKey k -> TreeTrie k v -> ([v'],Maybe v')-lookupPartialByKey' mkRes ttrieLookup keys ttrie-  = l id mkRes keys ttrie-  where l :: (TreeTrieMpKey k -> TreeTrieMpKey k) -> (TreeTrieKey k -> v -> v') -> TreeTrieKey k -> TreeTrie k v -> ([v'],Maybe v')-        l = case ttrieLookup of-              -- Exact match-              TTL_Exact -> \updTKey mkRes keys ttrie ->-                case keys of-                  [] -> dflt mkRes ttrie-                  (k : ks)-                     -> case Map.lookup k $ ttrieSubs ttrie of-                          Just ttrie'-                            -> ([], m)-                            where (_,m) = l id (res mkRes k) ks ttrie'-                          _ -> ([], Nothing)--              -- Match with possible wildcard in Trie-              TTL_WildInTrie -> \updTKey mkRes keys ttrie ->-                -- tr "TTL_WildInTrie" (ppTreeTrieKey keys >#< (ppTreeTrieMpKey $ updTKey $ replicate (5) (TTM1K []))) $-                case keys of-                  [] -> dflt mkRes ttrie-                  (k : ks)-                     -> (catMaybes mbs ++ concat subs, Nothing)-                     where (subs,mbs)-                             = unzip-                                 [ case ks of-                                     []                                  -> l id (res mkRes k) [] t-                                     (ksk:ksks) | Map.null (ttrieSubs t) -> match (res mkRes k) (fromJust mbm) ks-                                                | otherwise              -> l (fromJust mbm) (res mkRes k) ks t-                                        where match mkRes m (km:kms)-                                                = case matchTreeTrieMpKeyTo kt' km of-                                                    Just m -> match (res mkRes k) m kms-                                                    _      -> ([], Nothing)-                                                where kt' = m $ repeat (TTM1K [])-                                              match mkRes _ []-                                                = l id (res mkRes k) [] t-                                 | (kt,t) <- Map.toList $ ttrieSubs ttrie-                                 , let kt' = updTKey kt-                                       mbm = -- (\v -> tr "XX" (ppTreeTrieMpKey kt >#< (ppTreeTrieMpKey $ updTKey $ replicate (5) (TTM1K [])) >#< ppTreeTrieMpKey kt' >#< ppTreeTrieMpKey k >#< maybe (pp "--") (\f -> ppTreeTrieMpKey $ f $ repeat (TTM1K [])) v) v) $-                                             matchTreeTrieMpKeyTo kt' k-                                 , isJust mbm-                                 ]--              -- Match with possible wildcard in Key-              TTL_WildInKey -> \updTKey mkRes keys ttrie ->-                case keys of-                  [] -> dflt mkRes ttrie-                  (k : ks)-                     -> (catMaybes mbs ++ concat subs, Nothing)-                     where (subs,mbs)-                             = unzip-                                 [ case ks of-                                     (ksk:ksks)                  -> l id (res mkRes kt) (fromJust m ksk : ksks) t-                                     [] | Map.null (ttrieSubs t) -> l id (res mkRes kt) [] t-                                        | otherwise              -> l id (res mkRes kt) [fromJust m $ repeat (TTM1K [])] t-                                 | (kt,t) <- Map.toList $ ttrieSubs ttrie-                                 , let m = -- (\v -> tr "YY" (ppTreeTrieMpKey k >#< ppTreeTrieMpKey kt >#< maybe (pp "--") (\f -> ppTreeTrieMpKey $ f $ repeat (TTM1K [])) v) v) $-                                           matchTreeTrieMpKeyTo k kt-                                 , isJust m-                                 ]--          -- Utils-          where dflt mkRes ttrie = ([],fmap (mkRes []) $ ttrieMbVal ttrie)-                res mkRes k = \ks v -> mkRes (k : ks) v--lookupPartialByKey :: (PP k,Ord k) => TreeTrieLookup -> TreeTrieKey k -> TreeTrie k v -> ([v],Maybe v)-lookupPartialByKey = lookupPartialByKey' (\_ v -> v)--lookupByKey, lookup :: (PP k,Ord k) => TreeTrieKey k -> TreeTrie k v -> Maybe v-lookupByKey keys ttrie = snd $ lookupPartialByKey TTL_WildInTrie keys ttrie--lookup = lookupByKey--{-# LINE 396 "src/ehc/Base/TreeTrie.chs" #-}-lookupResultToList :: ([v],Maybe v) -> [v]-lookupResultToList (vs,mv) = maybeToList mv ++ vs--{-# LINE 405 "src/ehc/Base/TreeTrie.chs" #-}-isEmpty :: TreeTrie k v -> Bool-isEmpty ttrie-  =  isNothing (ttrieMbVal ttrie)-  && Map.null  (ttrieSubs ttrie)--null :: TreeTrie k v -> Bool-null = isEmpty--{-# LINE 415 "src/ehc/Base/TreeTrie.chs" #-}-elems :: TreeTrie k v -> [v]-elems = map snd . toListByKey--{-# LINE 424 "src/ehc/Base/TreeTrie.chs" #-}-singleton :: Ord k => TreeTrieKey k -> v -> TreeTrie k v-singleton keys val-  = s keys-  where s []       = TreeTrie (Just val) Map.empty-        s (k : ks) = TreeTrie Nothing (Map.singleton k $ singleton ks val)--singletonKeyable :: (Ord k,TreeTrieKeyable v k) => v -> TreeTrie k v-singletonKeyable val = singleton (toTreeTrieKey val) val--{-# LINE 439 "src/ehc/Base/TreeTrie.chs" #-}-unionWith :: Ord k => (v -> v -> v) -> TreeTrie k v -> TreeTrie k v -> TreeTrie k v-unionWith cmb t1 t2-  = TreeTrie-      { ttrieMbVal       = mkMb          cmb             (ttrieMbVal t1) (ttrieMbVal t2)-      , ttrieSubs        = Map.unionWith (unionWith cmb) (ttrieSubs  t1) (ttrieSubs  t2)-      }-  where mkMb _   j         Nothing   = j-        mkMb _   Nothing   j         = j-        mkMb cmb (Just x1) (Just x2) = Just $ cmb x1 x2--union :: Ord k => TreeTrie k v -> TreeTrie k v -> TreeTrie k v-union = unionWith const--unionsWith :: Ord k => (v -> v -> v) -> [TreeTrie k v] -> TreeTrie k v-unionsWith cmb [] = emptyTreeTrie-unionsWith cmb ts = foldr1 (unionWith cmb) ts--unions :: Ord k => [TreeTrie k v] -> TreeTrie k v-unions = unionsWith const--{-# LINE 461 "src/ehc/Base/TreeTrie.chs" #-}-insertByKeyWith :: Ord k => (v -> v -> v) -> TreeTrieKey k -> v -> TreeTrie k v -> TreeTrie k v-insertByKeyWith cmb keys val ttrie = unionsWith cmb [singleton keys val,ttrie]--insertByKey :: Ord k => TreeTrieKey k -> v -> TreeTrie k v -> TreeTrie k v-insertByKey = insertByKeyWith const--insert :: Ord k => TreeTrieKey k -> v -> TreeTrie k v -> TreeTrie k v-insert = insertByKey--insertKeyable :: (Ord k,TreeTrieKeyable v k) => v -> TreeTrie k v -> TreeTrie k v-insertKeyable val = insertByKey (toTreeTrieKey val) val--{-# LINE 479 "src/ehc/Base/TreeTrie.chs" #-}-deleteByKey, delete :: Ord k => TreeTrieKey k -> TreeTrie k v -> TreeTrie k v-deleteByKey keys ttrie-  = d keys ttrie-  where d [] t-          = t {ttrieMbVal = Nothing}-        d (k : ks) t-          = case fmap (d ks) $ Map.lookup k $ ttrieSubs t of-              Just c | isEmpty c -> t { ttrieSubs = k `Map.delete` ttrieSubs t }-                     | otherwise -> t { ttrieSubs = Map.insert k c $ ttrieSubs t }-              _                  -> t--delete = deleteByKey--{-# LINE 494 "src/ehc/Base/TreeTrie.chs" #-}-deleteListByKey :: Ord k => [TreeTrieKey k] -> TreeTrie k v -> TreeTrie k v-deleteListByKey keys ttrie = foldl (\t k -> deleteByKey k t) ttrie keys--{-# LINE 503 "src/ehc/Base/TreeTrie.chs" #-}-instance Serialize k => Serialize (TreeTrie1Key k) where-  sput (TT1K_Any            ) = sputWord8 0-  sput (TT1K_One   a        ) = sputWord8 1 >> sput a-  sget-    = do t <- sgetWord8-         case t of-            0 -> return TT1K_Any-            1 -> liftM  TT1K_One         sget--instance Serialize k => Serialize (TreeTrieMp1Key k) where-  sput (TTM1K_Any            ) = sputWord8 0 -- >> sput a-  sput (TTM1K       a        ) = sputWord8 1 >> sput a-  sget-    = do t <- sgetWord8-         case t of-            0 -> return TTM1K_Any     -- sget-            1 -> liftM  TTM1K         sget--instance (Ord k, Serialize k, Serialize v) => Serialize (TreeTrie k v) where-  sput (TreeTrie a b) = sput a >> sput b-  sget = liftM2 TreeTrie sget sget--
src/UHC/Light/Compiler/Base/UID.hs view
@@ -172,9 +172,8 @@  {-# LINE 236 "src/ehc/Base/UID.chs" #-} deriving instance Typeable UID-deriving instance Data UID -{-# LINE 254 "src/ehc/Base/UID.chs" #-}+{-# LINE 253 "src/ehc/Base/UID.chs" #-} instance Binary UID where   put (UID a b) = B.put a >> B.put b   get = liftM2 UID B.get B.get
− src/UHC/Light/Compiler/CHR.hs

file too large to diff

src/UHC/Light/Compiler/CHR/Constraint.hs view

file too large to diff

+ src/UHC/Light/Compiler/CHR/Guard.hs view

file too large to diff

+ src/UHC/Light/Compiler/CHR/Instances.hs view

file too large to diff

src/UHC/Light/Compiler/CHR/Key.hs view

file too large to diff

src/UHC/Light/Compiler/CHR/Solve.hs view

file too large to diff

src/UHC/Light/Compiler/CodeGen/BasicAnnot.hs view

file too large to diff

src/UHC/Light/Compiler/CodeGen/Tag.hs view

file too large to diff

src/UHC/Light/Compiler/Config.hs view

file too large to diff

src/UHC/Light/Compiler/ConfigInstall.hs view

file too large to diff

src/UHC/Light/Compiler/ConfigInternalVersions.hs view

file too large to diff

src/UHC/Light/Compiler/Core.hs view

file too large to diff

src/UHC/Light/Compiler/Core/BindExtract.hs view

file too large to diff

src/UHC/Light/Compiler/Core/Check.hs view

file too large to diff

src/UHC/Light/Compiler/Core/ExtractFFE.hs view

file too large to diff

src/UHC/Light/Compiler/Core/FvS.hs view

file too large to diff

src/UHC/Light/Compiler/Core/ModAsMap.hs view

file too large to diff

src/UHC/Light/Compiler/Core/Pretty.hs view

file too large to diff

src/UHC/Light/Compiler/Core/Subst.hs view

file too large to diff

src/UHC/Light/Compiler/Core/ToCoreRun.hs view

file too large to diff

src/UHC/Light/Compiler/Core/ToGrin.hs view

file too large to diff

src/UHC/Light/Compiler/Core/Trf.hs view

file too large to diff

src/UHC/Light/Compiler/Core/Trf/ANormal.hs view

file too large to diff

− src/UHC/Light/Compiler/Core/Trf/AnaRelevance.hs

file too large to diff

src/UHC/Light/Compiler/Core/Trf/AnnBasedSimplify.hs view

file too large to diff

src/UHC/Light/Compiler/Core/Trf/CAFGlobalAsArg.hs view

file too large to diff

src/UHC/Light/Compiler/Core/Trf/ConstProp.hs view

file too large to diff

src/UHC/Light/Compiler/Core/Trf/ElimNonCodegenConstructs.hs view

file too large to diff

src/UHC/Light/Compiler/Core/Trf/ElimTrivApp.hs view

file too large to diff

src/UHC/Light/Compiler/Core/Trf/EraseExtractTysigCore.hs view

file too large to diff

src/UHC/Light/Compiler/Core/Trf/EtaRed.hs view

file too large to diff

src/UHC/Light/Compiler/Core/Trf/ExplicitStackTrace.hs view

file too large to diff

src/UHC/Light/Compiler/Core/Trf/FixAfterParse.hs view

file too large to diff

src/UHC/Light/Compiler/Core/Trf/FloatToGlobal.hs view

file too large to diff

src/UHC/Light/Compiler/Core/Trf/InlineLetAlias.hs view

file too large to diff

src/UHC/Light/Compiler/Core/Trf/LamGlobalAsArg.hs view

file too large to diff

src/UHC/Light/Compiler/Core/Trf/LetDefBeforeUse.hs view

file too large to diff

src/UHC/Light/Compiler/Core/Trf/LetFlattenStrict.hs view

file too large to diff

src/UHC/Light/Compiler/Core/Trf/LetUnrec.hs view

file too large to diff

− src/UHC/Light/Compiler/Core/Trf/OptimizeStrictness.hs

file too large to diff

src/UHC/Light/Compiler/Core/Trf/RenUniq.hs view

file too large to diff

src/UHC/Light/Compiler/Core/UsedModNms.hs view

file too large to diff

src/UHC/Light/Compiler/CoreRun/Pretty.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_AGItf.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_CaseAlt.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_CaseAlts.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_DataConstr.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_DataConstrs.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_DataField.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_DataFieldExpr.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_DataFieldPatExpr.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_DataFields.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_Decl.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_Decls.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_Expr.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_ExprAnn.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_FuncDep.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_FuncDeps.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_KiExpr.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_KiExprAnn.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_MbTyExpr.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_PatExpr.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_PatExprAnn.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_PrExpr.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_PrExprs.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_RecExpr.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_RecPatExpr.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_RowTyExpr.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_TyExpr.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_TyExprAnn.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_TyExprs.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_TyVar.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_TyVars.hs view

file too large to diff

src/UHC/Light/Compiler/EH/MainAG_common.hs view

file too large to diff

src/UHC/Light/Compiler/EHC/BuildFunction/Run.hs view

file too large to diff

src/UHC/Light/Compiler/EHC/CompilePhase/Run.hs view

file too large to diff

src/UHC/Light/Compiler/EHC/CompilePhase/Translations.hs view

file too large to diff

src/UHC/Light/Compiler/EHC/InitialSetup.hs view

file too large to diff

src/UHC/Light/Compiler/Foreign.hs view

file too large to diff

src/UHC/Light/Compiler/Foreign/Boxing.hs view

file too large to diff

src/UHC/Light/Compiler/Gam.hs view

file too large to diff

src/UHC/Light/Compiler/Gam/ClGam.hs view

file too large to diff

src/UHC/Light/Compiler/Gam/ClassDefaultGam.hs view

file too large to diff

src/UHC/Light/Compiler/Gam/DataGam.hs view

file too large to diff

src/UHC/Light/Compiler/Gam/FixityGam.hs view

file too large to diff

src/UHC/Light/Compiler/Gam/PolGam.hs view

file too large to diff

src/UHC/Light/Compiler/Gam/TyGam.hs view

file too large to diff

src/UHC/Light/Compiler/Gam/TyKiGam.hs view

file too large to diff

src/UHC/Light/Compiler/Gam/ValGam.hs view

file too large to diff

src/UHC/Light/Compiler/HI.hs view

file too large to diff

src/UHC/Light/Compiler/LamInfo.hs view

file too large to diff

src/UHC/Light/Compiler/Module/ImportExport.hs view

file too large to diff

src/UHC/Light/Compiler/Opts.hs view

file too large to diff

src/UHC/Light/Compiler/Opts/Base.hs view

file too large to diff

src/UHC/Light/Compiler/Opts/CommandLine.hs view

file too large to diff

− src/UHC/Light/Compiler/Pred/CHR.hs

file too large to diff

− src/UHC/Light/Compiler/Pred/CommonCHR.hs

file too large to diff

src/UHC/Light/Compiler/Pred/Evidence.hs view

file too large to diff

src/UHC/Light/Compiler/Pred/EvidenceToCore.hs view

file too large to diff

src/UHC/Light/Compiler/Pred/Heuristics.hs view

file too large to diff

src/UHC/Light/Compiler/Pred/RedGraph.hs view

file too large to diff

src/UHC/Light/Compiler/Pred/ToCHR.hs view

file too large to diff

src/UHC/Light/Compiler/SourceCodeSig.hs view

file too large to diff

src/UHC/Light/Compiler/Substitutable.hs view

file too large to diff

src/UHC/Light/Compiler/Ty.hs view

file too large to diff

src/UHC/Light/Compiler/Ty/FitsIn.hs view

file too large to diff

src/UHC/Light/Compiler/Ty/FitsInCommon.hs view

file too large to diff

src/UHC/Light/Compiler/Ty/FitsInCommon2.hs view

file too large to diff

src/UHC/Light/Compiler/Ty/Pretty.hs view

file too large to diff

src/UHC/Light/Compiler/Ty/TreeTrieKey.hs view

file too large to diff

src/UHC/Light/Compiler/Ty/Trf/BetaReduce.hs view

file too large to diff

src/UHC/Light/Compiler/Ty/Trf/Canonic.hs view

file too large to diff

src/UHC/Light/Compiler/Ty/Utils1.hs view

file too large to diff

src/UHC/Light/Compiler/VarMp.hs view

file too large to diff

uhc-light.cabal view

file too large to diff