uhc-light 1.1.8.7 → 1.1.8.10
raw patch · 454 files changed
+5049/−3939 lines, 454 filesdep +transformersdep ~basedep ~uhc-lightdep ~uhc-utilbinary-added
Dependencies added: transformers
Dependency ranges changed: base, uhc-light, uhc-util
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/pkg/array-1.0.0.0/103/cr/plain/Data/Array.hi binary
- 103/lib/pkg/array-1.0.0.0/103/cr/plain/installed-pkg-config +1/−1
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Applicative.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Applicative.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Applicative.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Arrow.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Arrow.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Arrow.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Category.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Category.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Category.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Monad/Fix.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Monad/Fix.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Monad/Fix.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Monad/Instances.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Monad/Instances.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Monad/Instances.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Monad/ST.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Monad/ST.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Monad/ST.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Monad/ST/Lazy.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Monad/ST/Lazy.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Control/Monad/ST/Lazy.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Bool.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Complex.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Complex.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Complex.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Dynamic.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Dynamic.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Dynamic.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Eq.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Foldable.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Foldable.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Foldable.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Function.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Function.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Function.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Ix.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Monoid.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Monoid.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Monoid.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Ord.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Ord.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Ord.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Ratio.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Ratio.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Ratio.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/String.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/String.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/String.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Traversable.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Traversable.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Data/Traversable.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Numeric.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Numeric.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Numeric.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Prelude.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/System/Console/GetOpt.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/System/Console/GetOpt.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/System/Console/GetOpt.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/System/Exit.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/System/Exit.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/System/Exit.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/ParserCombinators/ReadP.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/ParserCombinators/ReadP.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/ParserCombinators/ReadP.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/ParserCombinators/ReadPrec.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/ParserCombinators/ReadPrec.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/ParserCombinators/ReadPrec.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/Read.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/Read/Lex.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/Read/Lex.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/Read/Lex.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/Show.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/Show.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/Show.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/Show/Functions.cr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/Show/Functions.crr binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/Text/Show/Functions.hi binary
- 103/lib/pkg/base-3.0.0.0/103/cr/plain/installed-pkg-config +1/−1
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Control/Monad.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Control/Monad.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Control/Monad.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/Bits.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/Bits.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/Bits.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/Char.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/Char.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/Char.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/Either.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/Either.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/Either.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/IORef.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/IORef.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/IORef.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/List.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/List.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/List.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/Maybe.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/Maybe.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/Maybe.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/Typeable.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/Typeable.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Data/Typeable.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Debug/Trace.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Debug/Trace.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Debug/Trace.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Foreign/Ptr.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Foreign/Ptr.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Foreign/Ptr.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Foreign/StablePtr.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Foreign/StablePtr.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Foreign/StablePtr.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/System/IO.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/System/IO.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/System/IO.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/System/IO/Error.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/System/IO/Error.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/System/IO/Error.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/System/IO/Fix.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/System/IO/Fix.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/System/IO/Fix.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/System/IO/Unsafe.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/System/IO/Unsafe.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/System/IO/Unsafe.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Array.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Array.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Array.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Base.cr too large to diff
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Base.crr too large to diff
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Base.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Bits.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Bits.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Bits.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Bounded.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Bounded.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Bounded.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/BoxArray.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/BoxArray.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/BoxArray.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Char.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Char.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Char.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Enum.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Enum.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Enum.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Eq.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Eq.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Eq.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Float.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Float.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Float.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/GC.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/GC.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/GC.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Generics.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Generics.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Generics.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Generics/Tuple.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Generics/Tuple.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Generics/Tuple.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Handle.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Handle.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Handle.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/IO.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/IO.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/IO.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/IOBase.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/IOBase.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/IOBase.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Ix.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Ix.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Ix.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/LazyST.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/LazyST.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/LazyST.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/MVar.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/MVar.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/MVar.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/MutVar.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/MutVar.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/MutVar.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/OldException.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/OldException.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/OldException.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Ord.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Ord.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Ord.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Prims.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Prims.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Prims.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Ptr.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Ptr.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Ptr.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Read.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Read.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Read.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Real.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Real.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Real.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Run.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Run.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Run.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/ST.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/ST.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/ST.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/STRef.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/STRef.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/STRef.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Show.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Show.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Show.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/StablePtr.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/StablePtr.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/StablePtr.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/StackTrace.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/StackTrace.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/StackTrace.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Types.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Types.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Types.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Weak.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Weak.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/Weak.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/WeakPtr.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/WeakPtr.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/UHC/WeakPtr.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Unsafe/Coerce.cr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Unsafe/Coerce.crr binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/Unsafe/Coerce.hi binary
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/include/CTypes.h +231/−0
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/include/HsBase.h +757/−0
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/include/HsBaseConfig.h +944/−0
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/include/IntLikeInstance.h +242/−0
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/include/MachDeps.h +125/−0
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/include/TupleInstance.h +147/−0
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/include/Typeable.h +149/−0
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/include/dirUtils.h +11/−0
- 103/lib/pkg/uhcbase-1.1.8.10/103/cr/plain/installed-pkg-config +2/−0
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Control/Monad.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Control/Monad.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Control/Monad.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/Bits.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/Bits.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/Bits.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/Char.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/Char.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/Char.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/Either.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/Either.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/Either.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/IORef.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/IORef.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/IORef.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/List.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/List.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/List.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/Maybe.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/Maybe.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/Maybe.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/Typeable.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/Typeable.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Data/Typeable.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Debug/Trace.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Debug/Trace.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Debug/Trace.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Foreign/Ptr.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Foreign/Ptr.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Foreign/Ptr.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Foreign/StablePtr.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Foreign/StablePtr.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Foreign/StablePtr.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/System/IO.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/System/IO.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/System/IO.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/System/IO/Error.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/System/IO/Error.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/System/IO/Error.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/System/IO/Fix.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/System/IO/Fix.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/System/IO/Fix.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/System/IO/Unsafe.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/System/IO/Unsafe.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/System/IO/Unsafe.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Array.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Array.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Array.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Base.cr too large to diff
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Base.crr too large to diff
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Base.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Bits.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Bits.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Bits.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Bounded.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Bounded.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Bounded.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/BoxArray.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/BoxArray.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/BoxArray.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Char.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Char.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Char.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Enum.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Enum.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Enum.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Eq.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Eq.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Eq.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Float.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Float.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Float.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/GC.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/GC.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/GC.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Generics.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Generics.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Generics.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Generics/Tuple.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Generics/Tuple.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Generics/Tuple.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Handle.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Handle.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Handle.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/IO.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/IO.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/IO.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/IOBase.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/IOBase.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/IOBase.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Ix.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Ix.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Ix.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/LazyST.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/LazyST.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/LazyST.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/MVar.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/MVar.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/MVar.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/MutVar.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/MutVar.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/MutVar.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/OldException.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/OldException.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/OldException.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Ord.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Ord.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Ord.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Prims.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Prims.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Prims.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Ptr.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Ptr.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Ptr.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Read.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Read.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Read.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Real.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Real.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Real.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Run.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Run.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Run.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/ST.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/ST.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/ST.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/STRef.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/STRef.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/STRef.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Show.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Show.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Show.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/StablePtr.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/StablePtr.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/StablePtr.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/StackTrace.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/StackTrace.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/StackTrace.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Types.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Types.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Types.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Weak.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Weak.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/Weak.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/WeakPtr.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/WeakPtr.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/UHC/WeakPtr.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Unsafe/Coerce.cr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Unsafe/Coerce.crr binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/Unsafe/Coerce.hi binary
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/include/CTypes.h +0/−231
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/include/HsBase.h +0/−757
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/include/HsBaseConfig.h +0/−944
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/include/IntLikeInstance.h +0/−242
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/include/MachDeps.h +0/−125
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/include/TupleInstance.h +0/−147
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/include/Typeable.h +0/−149
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/include/dirUtils.h +0/−11
- 103/lib/pkg/uhcbase-1.1.8.7/103/cr/plain/installed-pkg-config +0/−2
- changelog.md +18/−0
- src/UHC/Light/Compiler/AbstractCore.hs +97/−97
- src/UHC/Light/Compiler/AnaDomain.hs too large to diff
- src/UHC/Light/Compiler/Base/Common.hs too large to diff
- src/UHC/Light/Compiler/Base/FileSearchLocation.hs too large to diff
- src/UHC/Light/Compiler/Base/HsName.hs too large to diff
- src/UHC/Light/Compiler/Base/ParseUtils.hs too large to diff
- src/UHC/Light/Compiler/Base/Parser.hs too large to diff
- src/UHC/Light/Compiler/Base/Parser2.hs too large to diff
- src/UHC/Light/Compiler/Base/TreeTrie.hs too large to diff
- src/UHC/Light/Compiler/Base/UID.hs too large to diff
- src/UHC/Light/Compiler/CHR/Constraint.hs too large to diff
- src/UHC/Light/Compiler/CHR/Key.hs too large to diff
- src/UHC/Light/Compiler/CHR/Solve.hs too large to diff
- src/UHC/Light/Compiler/Config.hs too large to diff
- src/UHC/Light/Compiler/ConfigInstall.hs too large to diff
- src/UHC/Light/Compiler/ConfigInternalVersions.hs too large to diff
- src/UHC/Light/Compiler/Core.hs too large to diff
- src/UHC/Light/Compiler/Core/Parser.hs too large to diff
- src/UHC/Light/Compiler/CoreRun.hs too large to diff
- src/UHC/Light/Compiler/CoreRun/Parser.hs too large to diff
- src/UHC/Light/Compiler/CoreRun/Run/Val.hs too large to diff
- src/UHC/Light/Compiler/CoreRun/Run/Val/Prim.hs too large to diff
- src/UHC/Light/Compiler/EH.hs too large to diff
- src/UHC/Light/Compiler/EHC/ASTHandler.hs too large to diff
- src/UHC/Light/Compiler/EHC/ASTHandler/Instances.hs too large to diff
- src/UHC/Light/Compiler/EHC/BuildFunction.hs too large to diff
- src/UHC/Light/Compiler/EHC/BuildFunction/Run.hs too large to diff
- src/UHC/Light/Compiler/EHC/Common.hs too large to diff
- src/UHC/Light/Compiler/EHC/CompilePhase/Cleanup.hs too large to diff
- src/UHC/Light/Compiler/EHC/CompilePhase/CompileC.hs too large to diff
- src/UHC/Light/Compiler/EHC/CompilePhase/FlowBetweenPhase.hs too large to diff
- src/UHC/Light/Compiler/EHC/CompilePhase/Module.hs too large to diff
- src/UHC/Light/Compiler/EHC/CompilePhase/Output.hs too large to diff
- src/UHC/Light/Compiler/EHC/CompilePhase/Parsers.hs too large to diff
- src/UHC/Light/Compiler/EHC/CompilePhase/Run.hs too large to diff
- src/UHC/Light/Compiler/EHC/CompilePhase/Semantics.hs too large to diff
- src/UHC/Light/Compiler/EHC/CompilePhase/TopLevelPhases.hs too large to diff
- src/UHC/Light/Compiler/EHC/CompilePhase/Transformations.hs too large to diff
- src/UHC/Light/Compiler/EHC/CompilePhase/Translations.hs too large to diff
- src/UHC/Light/Compiler/EHC/CompileRun.hs too large to diff
- src/UHC/Light/Compiler/EHC/CompileUnit.hs too large to diff
- src/UHC/Light/Compiler/EHC/FileSuffMp.hs too large to diff
- src/UHC/Light/Compiler/EHC/Main.hs too large to diff
- src/UHC/Light/Compiler/EHC/Main/Compile.hs too large to diff
- src/UHC/Light/Compiler/EHC/Main/Utils.hs too large to diff
- src/UHC/Light/Compiler/Foreign.hs too large to diff
- src/UHC/Light/Compiler/HI.hs too large to diff
- src/UHC/Light/Compiler/HS.hs too large to diff
- src/UHC/Light/Compiler/LamInfo.hs too large to diff
- src/UHC/Light/Compiler/Opts.hs too large to diff
- src/UHC/Light/Compiler/Opts/Base.hs too large to diff
- src/UHC/Light/Compiler/Opts/CommandLine.hs too large to diff
- src/UHC/Light/Compiler/SourceCodeSig.hs too large to diff
- src/UHC/Light/Compiler/Ty.hs too large to diff
- uhc-light.cabal too large to diff
binary file changed (6274 → 6274 bytes)
@@ -1,2 +1,2 @@ exposed-modules: Data.Array-build-depends: uhcbase-1.1.8.7 base-3.0.0.0+build-depends: uhcbase-1.1.8.10 base-3.0.0.0
binary file changed (164208 → 164192 bytes)
binary file changed (214409 → 214409 bytes)
binary file changed (84386 → 84400 bytes)
binary file changed (173070 → 173074 bytes)
binary file changed (212336 → 212336 bytes)
binary file changed (116505 → 116505 bytes)
binary file changed (5920 → 5920 bytes)
binary file changed (6839 → 6839 bytes)
binary file changed (9358 → 9358 bytes)
binary file changed (17306 → 17306 bytes)
binary file changed (22386 → 22386 bytes)
binary file changed (15165 → 15165 bytes)
binary file changed (13924 → 13924 bytes)
binary file changed (18112 → 18112 bytes)
binary file changed (10427 → 10427 bytes)
binary file changed (3100 → 3100 bytes)
binary file changed (3621 → 3621 bytes)
binary file changed (6903 → 6903 bytes)
binary file changed (4446 → 4446 bytes)
binary file changed (4765 → 4765 bytes)
binary file changed (7877 → 7877 bytes)
binary file changed (4495 → 4495 bytes)
binary file changed (231630 → 231612 bytes)
binary file changed (303111 → 303111 bytes)
binary file changed (29049 → 29049 bytes)
binary file changed (41322 → 41323 bytes)
binary file changed (56237 → 56237 bytes)
binary file changed (21943 → 21943 bytes)
binary file changed (3881 → 3881 bytes)
binary file changed (75059 → 75059 bytes)
binary file changed (81169 → 81169 bytes)
binary file changed (27748 → 27748 bytes)
binary file changed (1623 → 1623 bytes)
binary file changed (1905 → 1905 bytes)
binary file changed (4895 → 4895 bytes)
binary file changed (4380 → 4380 bytes)
binary file changed (385153 → 385153 bytes)
binary file changed (522719 → 522719 bytes)
binary file changed (118240 → 118240 bytes)
binary file changed (1229 → 1229 bytes)
binary file changed (1454 → 1454 bytes)
binary file changed (5728 → 5728 bytes)
binary file changed (28370 → 28370 bytes)
binary file changed (38582 → 38582 bytes)
binary file changed (4886 → 4886 bytes)
binary file changed (3820 → 3820 bytes)
binary file changed (4814 → 4814 bytes)
binary file changed (7148 → 7148 bytes)
binary file changed (123907 → 123930 bytes)
binary file changed (158754 → 158754 bytes)
binary file changed (56289 → 56289 bytes)
binary file changed (2933 → 2933 bytes)
binary file changed (3281 → 3281 bytes)
binary file changed (6565 → 6565 bytes)
binary file changed (63709 → 63709 bytes)
binary file changed (222135 → 222134 bytes)
binary file changed (326194 → 326194 bytes)
binary file changed (52652 → 52652 bytes)
binary file changed (1854 → 1854 bytes)
binary file changed (1783 → 1783 bytes)
binary file changed (5077 → 5077 bytes)
binary file changed (195083 → 195080 bytes)
binary file changed (269721 → 269721 bytes)
binary file changed (45795 → 45795 bytes)
binary file changed (37229 → 37229 bytes)
binary file changed (46701 → 46701 bytes)
binary file changed (21088 → 21088 bytes)
binary file changed (4500 → 4500 bytes)
binary file changed (229263 → 229263 bytes)
binary file changed (385931 → 385931 bytes)
binary file changed (28513 → 28513 bytes)
binary file changed (3921 → 3921 bytes)
binary file changed (4981 → 4981 bytes)
binary file changed (5328 → 5328 bytes)
binary file changed (3732 → 3732 bytes)
binary file changed (4619 → 4619 bytes)
binary file changed (5369 → 5369 bytes)
@@ -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.8.7+build-depends: uhcbase-1.1.8.10
binary file changed (absent → 61204 bytes)
binary file changed (absent → 65011 bytes)
binary file changed (absent → 23602 bytes)
binary file changed (absent → 82640 bytes)
binary file changed (absent → 92939 bytes)
binary file changed (absent → 20758 bytes)
binary file changed (absent → 11493 bytes)
binary file changed (absent → 16286 bytes)
binary file changed (absent → 5480 bytes)
binary file changed (absent → 6580 bytes)
binary file changed (absent → 7090 bytes)
binary file changed (absent → 3404 bytes)
binary file changed (absent → 3460 bytes)
binary file changed (absent → 3414 bytes)
binary file changed (absent → 3169 bytes)
binary file changed (absent → 204309 bytes)
binary file changed (absent → 253604 bytes)
binary file changed (absent → 33649 bytes)
binary file changed (absent → 8206 bytes)
binary file changed (absent → 9526 bytes)
binary file changed (absent → 4237 bytes)
binary file changed (absent → 175376 bytes)
binary file changed (absent → 228889 bytes)
binary file changed (absent → 84325 bytes)
binary file changed (absent → 3180 bytes)
binary file changed (absent → 2905 bytes)
binary file changed (absent → 4424 bytes)
binary file changed (absent → 405 bytes)
binary file changed (absent → 407 bytes)
binary file changed (absent → 3277 bytes)
binary file changed (absent → 149 bytes)
binary file changed (absent → 161 bytes)
binary file changed (absent → 2261 bytes)
binary file changed (absent → 22836 bytes)
binary file changed (absent → 27704 bytes)
binary file changed (absent → 16561 bytes)
binary file changed (absent → 30548 bytes)
binary file changed (absent → 40457 bytes)
binary file changed (absent → 15702 bytes)
binary file changed (absent → 4750 bytes)
binary file changed (absent → 6016 bytes)
binary file changed (absent → 1947 bytes)
binary file changed (absent → 1004 bytes)
binary file changed (absent → 1011 bytes)
binary file changed (absent → 1967 bytes)
binary file changed (absent → 216811 bytes)
binary file changed (absent → 259138 bytes)
binary file changed (absent → 48742 bytes)
file too large to diff
file too large to diff
binary file changed (absent → 671363 bytes)
binary file changed (absent → 13522 bytes)
binary file changed (absent → 13321 bytes)
binary file changed (absent → 5033 bytes)
binary file changed (absent → 122013 bytes)
binary file changed (absent → 191228 bytes)
binary file changed (absent → 54522 bytes)
binary file changed (absent → 29641 bytes)
binary file changed (absent → 37085 bytes)
binary file changed (absent → 15248 bytes)
binary file changed (absent → 5241 bytes)
binary file changed (absent → 7254 bytes)
binary file changed (absent → 1271 bytes)
binary file changed (absent → 8372 bytes)
binary file changed (absent → 8780 bytes)
binary file changed (absent → 2947 bytes)
binary file changed (absent → 107243 bytes)
binary file changed (absent → 172144 bytes)
binary file changed (absent → 60477 bytes)
binary file changed (absent → 58825 bytes)
binary file changed (absent → 81431 bytes)
binary file changed (absent → 1793 bytes)
binary file changed (absent → 688 bytes)
binary file changed (absent → 664 bytes)
binary file changed (absent → 1242 bytes)
binary file changed (absent → 207 bytes)
binary file changed (absent → 217 bytes)
binary file changed (absent → 16436 bytes)
binary file changed (absent → 670338 bytes)
binary file changed (absent → 795791 bytes)
binary file changed (absent → 304947 bytes)
binary file changed (absent → 132531 bytes)
binary file changed (absent → 164105 bytes)
binary file changed (absent → 31259 bytes)
binary file changed (absent → 15533 bytes)
binary file changed (absent → 15500 bytes)
binary file changed (absent → 5768 bytes)
binary file changed (absent → 341004 bytes)
binary file changed (absent → 465854 bytes)
binary file changed (absent → 96849 bytes)
binary file changed (absent → 76906 bytes)
binary file changed (absent → 100473 bytes)
binary file changed (absent → 21425 bytes)
binary file changed (absent → 37714 bytes)
binary file changed (absent → 46432 bytes)
binary file changed (absent → 16704 bytes)
binary file changed (absent → 29152 bytes)
binary file changed (absent → 35606 bytes)
binary file changed (absent → 8322 bytes)
binary file changed (absent → 18353 bytes)
binary file changed (absent → 21242 bytes)
binary file changed (absent → 7529 bytes)
binary file changed (absent → 12357 bytes)
binary file changed (absent → 14957 bytes)
binary file changed (absent → 4479 bytes)
binary file changed (absent → 69001 bytes)
binary file changed (absent → 80175 bytes)
binary file changed (absent → 16233 bytes)
binary file changed (absent → 206208 bytes)
binary file changed (absent → 202478 bytes)
binary file changed (absent → 68189 bytes)
binary file changed (absent → 25281 bytes)
binary file changed (absent → 34355 bytes)
binary file changed (absent → 14986 bytes)
binary file changed (absent → 87680 bytes)
binary file changed (absent → 103119 bytes)
binary file changed (absent → 11157 bytes)
binary file changed (absent → 7211 bytes)
binary file changed (absent → 8404 bytes)
binary file changed (absent → 1487 bytes)
binary file changed (absent → 11814 bytes)
binary file changed (absent → 11794 bytes)
binary file changed (absent → 4168 bytes)
binary file changed (absent → 47938 bytes)
binary file changed (absent → 62221 bytes)
binary file changed (absent → 22525 bytes)
binary file changed (absent → 22999 bytes)
binary file changed (absent → 29097 bytes)
binary file changed (absent → 11190 bytes)
binary file changed (absent → 152800 bytes)
binary file changed (absent → 200344 bytes)
binary file changed (absent → 23521 bytes)
binary file changed (absent → 21991 bytes)
binary file changed (absent → 27646 bytes)
binary file changed (absent → 11678 bytes)
binary file changed (absent → 141 bytes)
binary file changed (absent → 153 bytes)
binary file changed (absent → 1382 bytes)
binary file changed (absent → 69182 bytes)
binary file changed (absent → 96016 bytes)
binary file changed (absent → 31505 bytes)
binary file changed (absent → 27276 bytes)
binary file changed (absent → 32997 bytes)
binary file changed (absent → 13368 bytes)
binary file changed (absent → 13934 bytes)
binary file changed (absent → 15797 bytes)
binary file changed (absent → 7225 bytes)
binary file changed (absent → 140 bytes)
binary file changed (absent → 152 bytes)
binary file changed (absent → 855 bytes)
@@ -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
@@ -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__ */+
@@ -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+
@@ -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 \+ }++++++
@@ -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
@@ -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) \+}+
@@ -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
@@ -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__ */
@@ -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:
binary file changed (61204 → absent bytes)
binary file changed (65011 → absent bytes)
binary file changed (23602 → absent bytes)
binary file changed (82640 → absent bytes)
binary file changed (92939 → absent bytes)
binary file changed (20758 → absent bytes)
binary file changed (11493 → absent bytes)
binary file changed (16286 → absent bytes)
binary file changed (5480 → absent bytes)
binary file changed (6580 → absent bytes)
binary file changed (7090 → absent bytes)
binary file changed (3404 → absent bytes)
binary file changed (3460 → absent bytes)
binary file changed (3414 → absent bytes)
binary file changed (3169 → absent bytes)
binary file changed (204309 → absent bytes)
binary file changed (253604 → absent bytes)
binary file changed (33649 → absent bytes)
binary file changed (8206 → absent bytes)
binary file changed (9526 → absent bytes)
binary file changed (4237 → absent bytes)
binary file changed (175368 → absent bytes)
binary file changed (233475 → absent bytes)
binary file changed (84325 → absent bytes)
binary file changed (3180 → absent bytes)
binary file changed (3122 → absent bytes)
binary file changed (4424 → absent bytes)
binary file changed (405 → absent bytes)
binary file changed (407 → absent bytes)
binary file changed (3277 → absent bytes)
binary file changed (149 → absent bytes)
binary file changed (161 → absent bytes)
binary file changed (2261 → absent bytes)
binary file changed (22836 → absent bytes)
binary file changed (29138 → absent bytes)
binary file changed (16561 → absent bytes)
binary file changed (30548 → absent bytes)
binary file changed (40457 → absent bytes)
binary file changed (15702 → absent bytes)
binary file changed (4750 → absent bytes)
binary file changed (6016 → absent bytes)
binary file changed (1947 → absent bytes)
binary file changed (1004 → absent bytes)
binary file changed (1011 → absent bytes)
binary file changed (1967 → absent bytes)
binary file changed (216779 → absent bytes)
binary file changed (264771 → absent bytes)
binary file changed (48725 → absent bytes)
file too large to diff
file too large to diff
binary file changed (671363 → absent bytes)
binary file changed (13522 → absent bytes)
binary file changed (13321 → absent bytes)
binary file changed (5033 → absent bytes)
binary file changed (122012 → absent bytes)
binary file changed (210879 → absent bytes)
binary file changed (54524 → absent bytes)
binary file changed (29641 → absent bytes)
binary file changed (37085 → absent bytes)
binary file changed (15248 → absent bytes)
binary file changed (5241 → absent bytes)
binary file changed (7254 → absent bytes)
binary file changed (1271 → absent bytes)
binary file changed (8372 → absent bytes)
binary file changed (8780 → absent bytes)
binary file changed (2947 → absent bytes)
binary file changed (107242 → absent bytes)
binary file changed (189772 → absent bytes)
binary file changed (60483 → absent bytes)
binary file changed (58825 → absent bytes)
binary file changed (81431 → absent bytes)
binary file changed (1793 → absent bytes)
binary file changed (688 → absent bytes)
binary file changed (664 → absent bytes)
binary file changed (1242 → absent bytes)
binary file changed (207 → absent bytes)
binary file changed (217 → absent bytes)
binary file changed (16436 → absent bytes)
binary file changed (670235 → absent bytes)
binary file changed (810519 → absent bytes)
binary file changed (304588 → absent bytes)
binary file changed (132474 → absent bytes)
binary file changed (164105 → absent bytes)
binary file changed (31259 → absent bytes)
binary file changed (15533 → absent bytes)
binary file changed (15711 → absent bytes)
binary file changed (5768 → absent bytes)
binary file changed (340989 → absent bytes)
binary file changed (465854 → absent bytes)
binary file changed (96849 → absent bytes)
binary file changed (76885 → absent bytes)
binary file changed (104581 → absent bytes)
binary file changed (21425 → absent bytes)
binary file changed (37718 → absent bytes)
binary file changed (46432 → absent bytes)
binary file changed (16704 → absent bytes)
binary file changed (29152 → absent bytes)
binary file changed (36861 → absent bytes)
binary file changed (8322 → absent bytes)
binary file changed (18353 → absent bytes)
binary file changed (21242 → absent bytes)
binary file changed (7529 → absent bytes)
binary file changed (12357 → absent bytes)
binary file changed (14957 → absent bytes)
binary file changed (4479 → absent bytes)
binary file changed (68995 → absent bytes)
binary file changed (80694 → absent bytes)
binary file changed (16233 → absent bytes)
binary file changed (206208 → absent bytes)
binary file changed (202478 → absent bytes)
binary file changed (68189 → absent bytes)
binary file changed (25281 → absent bytes)
binary file changed (34355 → absent bytes)
binary file changed (14986 → absent bytes)
binary file changed (87664 → absent bytes)
binary file changed (103119 → absent bytes)
binary file changed (11157 → absent bytes)
binary file changed (7211 → absent bytes)
binary file changed (8404 → absent bytes)
binary file changed (1487 → absent bytes)
binary file changed (11814 → absent bytes)
binary file changed (12733 → absent bytes)
binary file changed (4168 → absent bytes)
binary file changed (47946 → absent bytes)
binary file changed (62221 → absent bytes)
binary file changed (22525 → absent bytes)
binary file changed (22999 → absent bytes)
binary file changed (29097 → absent bytes)
binary file changed (11190 → absent bytes)
binary file changed (152800 → absent bytes)
binary file changed (200344 → absent bytes)
binary file changed (23521 → absent bytes)
binary file changed (21991 → absent bytes)
binary file changed (27646 → absent bytes)
binary file changed (11678 → absent bytes)
binary file changed (141 → absent bytes)
binary file changed (153 → absent bytes)
binary file changed (1382 → absent bytes)
binary file changed (69186 → absent bytes)
binary file changed (96016 → absent bytes)
binary file changed (31505 → absent bytes)
binary file changed (27276 → absent bytes)
binary file changed (33790 → absent bytes)
binary file changed (13368 → absent bytes)
binary file changed (13934 → absent bytes)
binary file changed (15797 → absent bytes)
binary file changed (7225 → absent bytes)
binary file changed (140 → absent bytes)
binary file changed (152 → absent bytes)
binary file changed (855 → absent bytes)
@@ -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
@@ -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__ */-
@@ -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-
@@ -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 \- }------
@@ -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
@@ -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) \-}-
@@ -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
@@ -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__ */
@@ -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:
@@ -1,9 +1,27 @@ # Changelog +## 1.1.8.10 - 20150327++- [edit this] and this, adding new entries as needed (version nr etc is prefixed when using version bumping Makefile targets)++## 1.1.8.10 - 20150327++- [build] Internal compilerdriver refactorization and start of rewrite with new compilerdriver based on a simple incremental DSL for describing compilation.++## 1.1.8.9 - 20150301++- [build] Intro of dependency on template haskell due to start of use of a lens library (fclabels, via uhc-util)+- [git] Tagging of versions, change in changelog maintenance (is not created from edit version, prepending version nr etc)++## 1.1.8.8 - 20150301++- unused version+ ## 1.1.8.7 - 20150219 - [compiler driver] Refactoring: top level compiler driver functions now are typed as monad transformer, requiring adapted uhc-utils>=0.1.5.0. - [corerun] More primitives implemented.+- [corerun] CoreRun files can be serialized, now also generated by default (enabling direct running these). ## 1.1.8.6
@@ -98,13 +98,11 @@ import Control.Monad import UHC.Util.Binary import UHC.Util.Serialize-import Data.Typeable (Typeable)-import Data.Generics (Data) -{-# LINE 38 "src/ehc/AbstractCore.chs" #-}+{-# LINE 36 "src/ehc/AbstractCore.chs" #-} class AbstractCore expr metaval bind bound boundmeta bindcateg metabind ty pat patrest patfld alt | expr -> metaval bind bound boundmeta bindcateg metabind ty pat patrest patfld alt , metaval -> expr@@ -363,10 +361,10 @@ acoreExprIsCoeArg :: expr -> Bool -{-# LINE 321 "src/ehc/AbstractCore.chs" #-}+{-# LINE 319 "src/ehc/AbstractCore.chs" #-} type ACoreAppLikeMetaBound = (ACoreBindAspectKeyS,MetaLev,CLbl) -{-# LINE 325 "src/ehc/AbstractCore.chs" #-}+{-# LINE 323 "src/ehc/AbstractCore.chs" #-} instance AbstractCore e m b bound boundmeta bcat mbind t p pr pf a => AppLike e boundmeta {- () () -} where app1App = acore1App appTop = id@@ -383,22 +381,22 @@ (_,a) <- acoreBoundMbVal b return (f,a) -{-# LINE 356 "src/ehc/AbstractCore.chs" #-}+{-# LINE 354 "src/ehc/AbstractCore.chs" #-} instance AbstractCore e m b bound boundmeta bcat mbind t p pr pf a => RecLike e boundmeta {- () () -} where recRow _ fs = acoreTagTyTupBound CTagRec (acoreTyErr "AbstractCore.RecLike.recRow") [ acoreBound1MetaVal (acoreBoundmeta acbaspkeyDefault 0 (CLbl_Nm n)) e | (n,e) <- fs ] recMbRecRow _= Nothing -- tyMbRecRowWithLkup (const Nothing) recUnRowExts e= (e,[]) -{-# LINE 368 "src/ehc/AbstractCore.chs" #-}+{-# LINE 366 "src/ehc/AbstractCore.chs" #-} acoreMetaLift :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a, Functor f) => f x -> f (x,m) acoreMetaLift = fmap2Tuple acoreMetavalDflt -{-# LINE 373 "src/ehc/AbstractCore.chs" #-}+{-# LINE 371 "src/ehc/AbstractCore.chs" #-} acoreMetaLiftDict :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a, Functor f) => f x -> f (x,m) acoreMetaLiftDict = fmap2Tuple acoreMetavalDfltDict -{-# LINE 383 "src/ehc/AbstractCore.chs" #-}+{-# LINE 381 "src/ehc/AbstractCore.chs" #-} -- | A ACoreBindAspectKeyS formed out of multiple ACoreBindAspectKey identifies a particular binding aspect data ACoreBindAspectKey = ACoreBindAspectKey_Default -- identifies the default binding, if omitted in a reference this aspect is the one chosen.@@ -428,11 +426,11 @@ acbaspkeyMk :: [ACoreBindAspectKey] -> ACoreBindAspectKeyS acbaspkeyMk = Set.fromList -{-# LINE 424 "src/ehc/AbstractCore.chs" #-}+{-# LINE 422 "src/ehc/AbstractCore.chs" #-} acbaspkeyMetaLev :: MetaLev -> ACoreBindAspectKeyS -> MetaLev acbaspkeyMetaLev mlev _ = mlev -{-# LINE 435 "src/ehc/AbstractCore.chs" #-}+{-# LINE 433 "src/ehc/AbstractCore.chs" #-} -- | predefined: acbaspkeyNone :: ACoreBindAspectKeyS acbaspkeyNone = acbaspkeyMk@@ -473,17 +471,17 @@ acbaspkeyDebug = acbaspkeyMk [ ACoreBindAspectKey_Debug ] -{-# LINE 494 "src/ehc/AbstractCore.chs" #-}+{-# LINE 492 "src/ehc/AbstractCore.chs" #-} -- | predefined: acbaspkeyFusionRole :: ACoreBindAspectKeyS acbaspkeyFusionRole = acbaspkeyMk [ ACoreBindAspectKey_FusionRole ] -{-# LINE 501 "src/ehc/AbstractCore.chs" #-}+{-# LINE 499 "src/ehc/AbstractCore.chs" #-} ppACBaspKeyS :: ACoreBindAspectKeyS -> PP_Doc ppACBaspKeyS = ppCurlysCommas . Set.toList -{-# LINE 506 "src/ehc/AbstractCore.chs" #-}+{-# LINE 504 "src/ehc/AbstractCore.chs" #-} -- | uniqify with ACoreBindAspectKeyS, omitting the default hsnUniqifyACoreBindAspectKeyS :: ACoreBindAspectKeyS -> HsName -> HsName hsnUniqifyACoreBindAspectKeyS as n@@ -491,11 +489,13 @@ where mk ACoreBindAspectKey_Strict = hsnUniqify HsNameUniqifier_Strict mk a = hsnUniqifyStr HsNameUniqifier_BindAspect (show a) -{-# LINE 515 "src/ehc/AbstractCore.chs" #-}+{-# LINE 513 "src/ehc/AbstractCore.chs" #-} deriving instance Typeable ACoreBindAspectKey++{-# LINE 517 "src/ehc/AbstractCore.chs" #-} deriving instance Data ACoreBindAspectKey -{-# LINE 524 "src/ehc/AbstractCore.chs" #-}+{-# LINE 525 "src/ehc/AbstractCore.chs" #-} -- | reference to binding aspect: name + aspect keys data ACoreBindRef = ACoreBindRef@@ -516,28 +516,28 @@ instance Show ACoreBindRef where show = show . mkHNm -{-# LINE 546 "src/ehc/AbstractCore.chs" #-}+{-# LINE 547 "src/ehc/AbstractCore.chs" #-} acbrefAspKey :: ACoreBindRef -> ACoreBindAspectKeyS acbrefAspKey = maybe acbaspkeyNone id . acbrefMbAspKey {-# INLINE acbrefAspKey #-} -{-# LINE 552 "src/ehc/AbstractCore.chs" #-}+{-# LINE 553 "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 558 "src/ehc/AbstractCore.chs" #-}+{-# LINE 559 "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 566 "src/ehc/AbstractCore.chs" #-}+{-# LINE 567 "src/ehc/AbstractCore.chs" #-} deriving instance Typeable ACoreBindRef deriving instance Data ACoreBindRef -{-# LINE 575 "src/ehc/AbstractCore.chs" #-}+{-# LINE 576 "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 +552,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 595 "src/ehc/AbstractCore.chs" #-}+{-# LINE 596 "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 +573,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 617 "src/ehc/AbstractCore.chs" #-}+{-# LINE 618 "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 +594,7 @@ acoreTag tg = acoreTagTup tg [] {-# INLINE acoreTag #-} -{-# LINE 650 "src/ehc/AbstractCore.chs" #-}+{-# LINE 651 "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 +631,7 @@ acoreBind1 n e = acoreBind1Cat (acoreBindcategDflt e) n e {-# INLINE acoreBind1 #-} -{-# LINE 688 "src/ehc/AbstractCore.chs" #-}+{-# LINE 689 "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 +657,7 @@ -} -{-# LINE 715 "src/ehc/AbstractCore.chs" #-}+{-# LINE 716 "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 +674,7 @@ acoreBind1Nm1 n = acoreBind1Asp n [] {-# INLINE acoreBind1Nm1 #-} -{-# LINE 737 "src/ehc/AbstractCore.chs" #-}+{-# LINE 738 "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 +695,7 @@ acoreBoundVal1Cat cat n e = acoreBoundVal1CatTy cat n (acoreTyErr "acoreBoundVal1Cat") e {-# INLINE acoreBoundVal1Cat #-} -{-# LINE 759 "src/ehc/AbstractCore.chs" #-}+{-# LINE 760 "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 +705,7 @@ {-# INLINE acoreBoundVal1Meta #-} -{-# LINE 770 "src/ehc/AbstractCore.chs" #-}+{-# LINE 771 "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 +714,12 @@ acoreBound1Val e = acoreBound1AspkeyVal acbaspkeyDefault e {-# INLINE acoreBound1Val #-} -{-# LINE 790 "src/ehc/AbstractCore.chs" #-}+{-# LINE 791 "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 800 "src/ehc/AbstractCore.chs" #-}+{-# LINE 801 "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 +751,11 @@ acoreLetRec bs e = acoreLet (acoreBindcategRec) bs e {-# INLINE acoreLetRec #-} -{-# LINE 833 "src/ehc/AbstractCore.chs" #-}+{-# LINE 834 "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 838 "src/ehc/AbstractCore.chs" #-}+{-# LINE 839 "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 +770,7 @@ acoreLet1Plain nm e = acoreLet1PlainTy nm (acoreTyErr "acoreLet1Plain") e {-# INLINE acoreLet1Plain #-} -{-# LINE 854 "src/ehc/AbstractCore.chs" #-}+{-# LINE 855 "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 +785,7 @@ acoreLet1Strict nm e = acoreLet1StrictTy nm (acoreTyErr "acoreLet1Strict") e {-# INLINE acoreLet1Strict #-} -{-# LINE 870 "src/ehc/AbstractCore.chs" #-}+{-# LINE 871 "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 +812,20 @@ acoreLet1StrictIn nm e mkC = acoreLet1StrictInMeta nm acoreMetavalDflt e mkC {-# INLINE acoreLet1StrictIn #-} -{-# LINE 902 "src/ehc/AbstractCore.chs" #-}+{-# LINE 903 "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 914 "src/ehc/AbstractCore.chs" #-}+{-# LINE 915 "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 925 "src/ehc/AbstractCore.chs" #-}+{-# LINE 926 "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 +836,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 941 "src/ehc/AbstractCore.chs" #-}+{-# LINE 942 "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 946 "src/ehc/AbstractCore.chs" #-}+{-# LINE 947 "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 +849,15 @@ Just (t,i') -> acoreIntTy2 t (toInteger i + i') _ -> acoreBuiltinApp opts ehbnPrimAddInt [e,acoreInt opts i] -{-# LINE 956 "src/ehc/AbstractCore.chs" #-}+{-# LINE 957 "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 961 "src/ehc/AbstractCore.chs" #-}+{-# LINE 962 "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 966 "src/ehc/AbstractCore.chs" #-}+{-# LINE 967 "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 +866,7 @@ -> e acoreBuiltinString opts m = let x = acoreBuiltinApp opts ehbnPackedStringToString [acoreStringTy (acoreTyString opts) m] in x -{-# LINE 976 "src/ehc/AbstractCore.chs" #-}+{-# LINE 977 "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 +878,7 @@ acoreBuiltinUndefined :: (AbstractCore e m b bound boundmeta bcat mbind t p pr pf a) => EHCOpts -> e acoreBuiltinUndefined opts = acoreBuiltinApp opts ehbnUndefined [] -{-# LINE 989 "src/ehc/AbstractCore.chs" #-}+{-# LINE 990 "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 +886,13 @@ -> e acoreBuiltinInteger opts i = acoreBuiltinApp opts ehbnPackedStringToInteger [acoreStringTy (acoreTyString opts) (show i)] -{-# LINE 998 "src/ehc/AbstractCore.chs" #-}+{-# LINE 999 "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 1009 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1010 "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 +904,25 @@ -- <|> (const ctagChar) <$> acorePatMbChar p ) . fst . acoreUnAlt -{-# LINE 1026 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1027 "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 1037 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1038 "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 1048 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1049 "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 1059 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1060 "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 +934,12 @@ Nothing {-(tcUndefined opts)-} ) -{-# LINE 1072 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1073 "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 1102 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1103 "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 +958,7 @@ instance Show (Coe' expr metaval bind bindasp ty) where show _ = "COE" -{-# LINE 1139 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1140 "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@@ -971,7 +971,7 @@ | CoeCtx_DontAllow deriving (Eq,Show) -{-# LINE 1157 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1158 "src/ehc/AbstractCore.chs" #-} -- | Non inspectable, most general, coercion acoreCoeMap :: (e -> e) -> Coe' e m b ba t acoreCoeMap = Coe_Map@@ -982,7 +982,7 @@ acoreCoeId = Coe_C acoreCoeArg {-# INLINE acoreCoeId #-} -{-# LINE 1169 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1170 "src/ehc/AbstractCore.chs" #-} acoreCoeLamLetTy :: HsName -> t -> UID -> Coe' e m b ba t acoreCoeLamLetTy = Coe_LamLet {-# INLINE acoreCoeLamLetTy #-}@@ -996,7 +996,7 @@ acoreCoeLetRec [] = acoreCoeId acoreCoeLetRec bs = Coe_LetRec bs -{-# LINE 1184 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1185 "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 +1013,7 @@ acoreCoeAppN as = acoreCoeMap (\e -> acoreApp e as) {-# INLINE acoreCoeAppN #-} -{-# LINE 1202 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1203 "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 +1023,7 @@ acoreCoeLam1 n = acoreCoeLam1Ty n (acoreTyErr "acoreCoeLam1") {-# INLINE acoreCoeLam1 #-} -{-# LINE 1213 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1214 "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 +1031,14 @@ | otherwise = Coe_Compose c1 c2 -{-# LINE 1222 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1223 "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 1230 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1231 "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 +1051,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 1248 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1249 "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 1258 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1259 "src/ehc/AbstractCore.chs" #-} data CSubstKey = CSKey_UID UID | CSKey_Nm HsName | CSKey_Ref ACoreBindRef deriving (Show,Eq,Ord) -{-# LINE 1266 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1267 "src/ehc/AbstractCore.chs" #-} data CSubstInfo' expr metaval bind bindasp ty = CSITy { csiTy :: !ty }@@ -1078,37 +1078,37 @@ instance Show (CSubstInfo' e m b ba t) where show _ = "CSubstInfo'" -{-# LINE 1284 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1285 "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 1295 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1296 "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 1300 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1301 "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 1305 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1306 "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 1310 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1311 "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 1322 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1323 "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 1332 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1333 "src/ehc/AbstractCore.chs" #-} infixr `cSubstApp` class CSubstitutable e m b ba t a@@ -1119,7 +1119,7 @@ instance CSubstitutable e m b ba t (CSubst' e m b ba t) where cSubstApp cs s = cs `cSubstAppSubst` s -{-# LINE 1348 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1349 "src/ehc/AbstractCore.chs" #-} data RAlt' e t b pr = RAlt_Alt { rcaPats :: ![RPat' e t b pr], raaExpr :: !e, raaFailS :: UIDS } @@ -1140,14 +1140,14 @@ type RCEAltL' e t b pr = [RAlt' e t b pr] -{-# LINE 1372 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1373 "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 1380 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1381 "src/ehc/AbstractCore.chs" #-} rpatConTag :: RPat' e t b pr -> CTag rpatConTag (RPat_Int _ _ _ ) = ctagInt rpatConTag (RPat_Char _ _ _ ) = ctagChar@@ -1156,7 +1156,7 @@ rcaTag :: RAlt' e t b pr -> CTag rcaTag = rpatConTag . head . rcaPats -{-# LINE 1390 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1391 "src/ehc/AbstractCore.chs" #-} raltIsVar :: RAlt' e t b pr -> Bool raltIsVar (RAlt_Alt (RPat_Var _ _ _ : _) _ _) = True raltIsVar _ = False@@ -1168,17 +1168,17 @@ c (RPat_Char _ _ _) = True c _ = False -{-# LINE 1403 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1404 "src/ehc/AbstractCore.chs" #-} raltIsConMany :: RAlt' e t b pr -> Bool raltIsConMany (RAlt_Alt (RPat_Con _ _ _ (RPatConBind_Many _) : _) _ _) = True raltIsConMany _ = False -{-# LINE 1409 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1410 "src/ehc/AbstractCore.chs" #-} raltIsIrrefutable :: RAlt' e t b pr -> Bool raltIsIrrefutable (RAlt_Alt (RPat_Irrefutable _ _ _ : _) _ _) = True raltIsIrrefutable _ = False -{-# LINE 1415 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1416 "src/ehc/AbstractCore.chs" #-} raltMbBoolExpr :: RAlt' e t b pr -> Maybe (Maybe SrcConst) raltMbBoolExpr (RAlt_Alt (RPat_BoolExpr _ _ _ e : _) _ _) = Just e raltMbBoolExpr _ = Nothing@@ -1186,13 +1186,13 @@ raltIsBoolExpr :: RAlt' e t b pr -> Bool raltIsBoolExpr = isJust . raltMbBoolExpr -{-# LINE 1426 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1427 "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 1437 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1438 "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@@ -1203,7 +1203,7 @@ RPat_Char n ty v -> acorePatCharTy ty v RPat_BoolExpr n _ v _ -> acorePatBoolExpr v -{-# LINE 1451 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1452 "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@@ -1213,17 +1213,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 1468 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1469 "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 1480 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1481 "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 1490 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1491 "src/ehc/AbstractCore.chs" #-} -- | Reason to fail a case alternative data CaseAltFailReason = CaseAltFailReason_Absence -- failed because of absence@@ -1236,23 +1236,23 @@ pp (CaseAltFailReason_Continue i) = pp i pp (CaseAltFailReason_Absence ) = pp "absent" -{-# LINE 1504 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1505 "src/ehc/AbstractCore.chs" #-} cafailHasId :: CaseAltFailReason -> (Bool,UID) cafailHasId (CaseAltFailReason_Absence ) = (False,uidUnused) cafailHasId (CaseAltFailReason_Continue i) = (True ,i) -{-# LINE 1510 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1511 "src/ehc/AbstractCore.chs" #-} deriving instance Typeable CaseAltFailReason deriving instance Data CaseAltFailReason -{-# LINE 1519 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1520 "src/ehc/AbstractCore.chs" #-} data AppFunKind = AppFunKind_NoApp -- inlined Nothing | AppFunKind_Fun ACoreBindRef | AppFunKind_Tag CTag | AppFunKind_FFI -{-# LINE 1531 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1532 "src/ehc/AbstractCore.chs" #-} -- | What kind of Expr? data WhatExpr@@ -1269,7 +1269,7 @@ | ExprIsBind HsName deriving Eq -{-# LINE 1549 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1550 "src/ehc/AbstractCore.chs" #-} -- | is an var? whatExprMbVar :: WhatExpr -> Maybe HsName whatExprMbVar (ExprIsVar a) = Just a@@ -1300,7 +1300,7 @@ whatExprAppArity (ExprIsApp a _) = a whatExprAppArity _ = 0 -{-# LINE 1581 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1582 "src/ehc/AbstractCore.chs" #-} whatExprIsWHNF :: WhatExpr -> Bool whatExprIsWHNF (ExprIsLam _ _) = True whatExprIsWHNF (ExprIsVar _) = True@@ -1309,7 +1309,7 @@ whatExprIsWHNF ExprIsOtherWHNF = True whatExprIsWHNF _ = False -{-# LINE 1591 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1592 "src/ehc/AbstractCore.chs" #-} whatExprIsBind :: WhatExpr -> Bool whatExprIsBind = isJust . whatExprMbBind {-# INLINE whatExprIsBind #-}@@ -1324,14 +1324,14 @@ whatExprIsTup _ = False -{-# LINE 1607 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1608 "src/ehc/AbstractCore.chs" #-} -- | Is Expr a FFI? whatExprIsFFI :: WhatExpr -> Bool whatExprIsFFI (ExprIsFFI ) = True whatExprIsFFI _ = False -{-# LINE 1625 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1626 "src/ehc/AbstractCore.chs" #-} instance Serialize ACoreBindAspectKey where sput (ACoreBindAspectKey_Default ) = sputWord8 0 sput (ACoreBindAspectKey_Strict ) = sputWord8 1@@ -1351,12 +1351,12 @@ 5 -> return ACoreBindAspectKey_Core 7 -> return ACoreBindAspectKey_FusionRole -{-# LINE 1656 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1657 "src/ehc/AbstractCore.chs" #-} instance Serialize ACoreBindRef where sput (ACoreBindRef a b) = sput a >> sput b sget = liftM2 ACoreBindRef sget sget -{-# LINE 1662 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1663 "src/ehc/AbstractCore.chs" #-} instance Serialize CaseAltFailReason where sput (CaseAltFailReason_Continue a) = sputWord8 0 >> sput a sput (CaseAltFailReason_Absence ) = sputWord8 1@@ -1366,13 +1366,13 @@ 0 -> liftM CaseAltFailReason_Continue sget 1 -> return CaseAltFailReason_Absence -{-# LINE 1677 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1678 "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 1684 "src/ehc/AbstractCore.chs" #-}+{-# LINE 1685 "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
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff