diff options
author | Sylvain Henry <sylvain@haskus.fr> | 2019-09-19 16:26:52 +0200 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2020-06-17 16:22:03 -0400 |
commit | 9f96bc127d6231b5e76bbab442244eb303b08867 (patch) | |
tree | 3b40983164af5d78e7efe8cdb7e580ba36819f79 /libraries/ghc-boot | |
parent | 57db91d8ee501c7cf176c4bb1e2101d3092fd0f6 (diff) | |
download | haskell-9f96bc127d6231b5e76bbab442244eb303b08867.tar.gz |
ghc-bignum library
ghc-bignum is a newer package that aims to replace the legacy
integer-simple and integer-gmp packages.
* it supports several backends. In particular GMP is still supported and
most of the code from integer-gmp has been merged in the "gmp"
backend.
* the pure Haskell "native" backend is new and is much faster than the
previous pure Haskell implementation provided by integer-simple
* new backends are easier to write because they only have to provide a
few well defined functions. All the other code is common to all
backends. In particular they all share the efficient small/big number
distinction previously used only in integer-gmp.
* backends can all be tested against the "native" backend with a simple
Cabal flag. Backends are only allowed to differ in performance, their
results should be the same.
* Add `integer-gmp` compat package: provide some pattern synonyms and
function aliases for those in `ghc-bignum`. It is intended to avoid
breaking packages that depend on `integer-gmp` internals.
Update submodules: text, bytestring
Metric Decrease:
Conversions
ManyAlternatives
ManyConstructors
Naperian
T10359
T10547
T10678
T12150
T12227
T12234
T12425
T13035
T13719
T14936
T1969
T4801
T4830
T5237
T5549
T5837
T8766
T9020
parsing001
space_leak_001
T16190
haddock.base
On ARM and i386, T17499 regresses (+6% > 5%).
On x86_64 unregistered, T13701 sometimes regresses (+2.2% > 2%).
Metric Increase:
T17499
T13701
Diffstat (limited to 'libraries/ghc-boot')
-rw-r--r-- | libraries/ghc-boot/GHC/Platform.hs | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/libraries/ghc-boot/GHC/Platform.hs b/libraries/ghc-boot/GHC/Platform.hs index 69978387ae..6c1be92512 100644 --- a/libraries/ghc-boot/GHC/Platform.hs +++ b/libraries/ghc-boot/GHC/Platform.hs @@ -29,13 +29,11 @@ module GHC.Platform , platformInIntRange , platformInWordRange , PlatformMisc(..) - , IntegerLibrary(..) , stringEncodeArch , stringEncodeOS , SseVersion (..) , BmiVersion (..) -) - + ) where import Prelude -- See Note [Why do we import Prelude here?] @@ -292,8 +290,6 @@ osSubsectionsViaSymbols _ = False data PlatformMisc = PlatformMisc { -- TODO Recalculate string from richer info? platformMisc_targetPlatformString :: String - , platformMisc_integerLibrary :: String - , platformMisc_integerLibraryType :: IntegerLibrary , platformMisc_ghcWithInterpreter :: Bool , platformMisc_ghcWithNativeCodeGen :: Bool , platformMisc_ghcWithSMP :: Bool @@ -309,11 +305,6 @@ data PlatformMisc = PlatformMisc , platformMisc_llvmTarget :: String } -data IntegerLibrary - = IntegerGMP - | IntegerSimple - deriving (Read, Show, Eq) - -- | Minimum representable Int value for the given platform platformMinInt :: Platform -> Integer platformMinInt p = case platformWordSize p of |