Changes between Version 9 and Version 10 of SplitBase


Ignore:
Timestamp:
Feb 17, 2013 3:13:26 PM (2 years ago)
Author:
nomeata
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SplitBase

    v9 v10  
    1515 * GHC.Fingerprint pulls in `Foreign` and `IO` (but could be replaced by a pure implementation)
    1616 * The Monad instance of `IO` calls `failIO`, which creates an `IOException`, which has fields for handles and devices, and hence pulls in some `Foreign` stuff and some file-related `IO`, preventing the creation of a clean base-io package.
    17  * The ST Monad can (and should) be provided independently of IO, but currently functions like `unsafeIOToST` are provided in the `Control.Monad.ST` namespace.
    1817
    1918=== Other issues ===
     
    2625  * `error` has its type wired in GHC when in package base; This is used in a hack in [https://github.com/ghc/packages-base/blob/master/GHC/Err.lhs-boot GHC/Err.hs-boot]. Work-around: Import `GHC.Types` in `GHC/Err.lhs-boot`
    2726  * The `Monad` constraint on do-notation expects the definition to live in base. `RebindableSyntax` helps, but requires to define a local `ifThenElse` function.
     27 * The ST Monad can (and should) be provided independently of IO, but currently functions like `unsafeIOToST` are provided in the `Control.Monad.ST` namespace.
    2828 
    29 === base-pure ===
     29=== First attempt ===
    3030
    31 One package for all standard ADTs (Bool, [], Maybe...) and other pure definitions that are expected to work even with strange targets.
     31Joachim has started a first attempt to pull stuff out of the bottom of base; these chunks often contain more than initially intended:
    3232
    33 By the list from above, this also needs to have `Char`, Exceptions, `Typeable` and from there much other stuff...
    34 
    35  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Applicative.html Control.Applicative]
    36  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Arrow.html Control.Arrow]
    37  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Category.html Control.Category]
    38  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Bool.html Data.Bool]
    39  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Either.html Data.Either]
    40  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Eq.html Data.Eq]
    41  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Foldable.html Data.Foldable]
    42  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Function.html Data.Function]
    43  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Functor.html Data.Functor]
    44  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Traversable.html Data.Traversable]
    45  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Tuple.html Data.Tuple]
    46  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-List.html Data.List]
    47  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Maybe.html Data.Maybe]
    48  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Monoid.html Data.Monoid]
    49  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Ord.html Data.Ord]
    50  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Ratio.html Data.Ratio]
    51 
    52 === base-io ===
    53 
    54 Everything related to IO as we know it.
    55 
    56  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-IORef.html Data.IORef]
    57  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/System-Console.GetOpt.html System.Console.GetOpt]
    58  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/System-CPUTime.html System.CPUTime]
    59  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/System-Environment.html System.Environment]
    60  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/System-Exit.html System.Exit]
    61  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/System-Info.html System.Info]
    62  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/System-IO.html System.IO]
    63  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/System-IO.Error.html System.IO.Error]
    64  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/System-IO.Unsafe.html System.IO.Unsafe]
    65  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/System-Posix.Internals.html System.Posix.Internals]
    66  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/System-Posix.Types.html System.Posix.Types]
    67  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/System-Timeout.html System.Timeout]
    68 
    69 === base-ffi ===
    70 
    71 Lots of packages surely do not need anything from the FFI, so put that in a package of its own.
    72 
    73  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign.html Foreign]
    74  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign-C.html Foreign.C]
    75  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign-C.Error.html Foreign.C.Error]
    76  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign-Concurrent.html Foreign.Concurrent]
    77  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign-C.String.html Foreign.C.String]
    78  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign-C.Types.html Foreign.C.Types]
    79  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign-ForeignPtr.html Foreign.ForeignPtr]
    80  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign-ForeignPtr.Safe.html Foreign.ForeignPtr.Safe]
    81  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign-ForeignPtr.Unsafe.html Foreign.ForeignPtr.Unsafe]
    82  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign-Marshal.html Foreign.Marshal]
    83  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign-Marshal.Alloc.html Foreign.Marshal.Alloc]
    84  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign-Marshal.Array.html Foreign.Marshal.Array]
    85  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign-Marshal.Error.html Foreign.Marshal.Error]
    86  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign-Marshal.Pool.html Foreign.Marshal.Pool]
    87  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign-Marshal.Safe.html Foreign.Marshal.Safe]
    88  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign-Marshal.Unsafe.html Foreign.Marshal.Unsafe]
    89  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign-Marshal.Utils.html Foreign.Marshal.Utils]
    90  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign-Ptr.html Foreign.Ptr]
    91  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign-Safe.html Foreign.Safe]
    92  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign-StablePtr.html Foreign.StablePtr]
    93  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Foreign-Storable.html Foreign.Storable]
    94 
    95 
    96 === Unsorted ===
    97 
    98  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Concurrent.html Control.Concurrent]
    99  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Concurrent.Chan.html Control.Concurrent.Chan]
    100  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Concurrent.MVar.html Control.Concurrent.MVar]
    101  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Concurrent.QSem.html Control.Concurrent.QSem]
    102  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Concurrent.QSemN.html Control.Concurrent.QSemN]
    103  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Concurrent.SampleVar.html Control.Concurrent.SampleVar]
    104  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Exception.html Control.Exception]
    105  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Exception.Base.html Control.Exception.Base]
    106  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Monad.html Control.Monad]
    107  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Monad.Fix.html Control.Monad.Fix]
    108  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Monad.Instances.html Control.Monad.Instances]
    109  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Monad.ST.html Control.Monad.ST]
    110  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Monad.ST.Lazy.html Control.Monad.ST.Lazy]
    111  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Monad.ST.Lazy.Safe.html Control.Monad.ST.Lazy.Safe]
    112  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Monad.ST.Lazy.Unsafe.html Control.Monad.ST.Lazy.Unsafe]
    113  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Monad.ST.Safe.html Control.Monad.ST.Safe]
    114  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Monad.ST.Strict.html Control.Monad.ST.Strict]
    115  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Monad.ST.Unsafe.html Control.Monad.ST.Unsafe]
    116  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Control-Monad.Zip.html Control.Monad.Zip]
    117  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Bits.html Data.Bits]
    118  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Char.html Data.Char]
    119  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Complex.html Data.Complex]
    120  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Data.html Data.Data]
    121  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Dynamic.html Data.Dynamic]
    122  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Fixed.html Data.Fixed]
    123  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-HashTable.html Data.HashTable]
    124  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Int.html Data.Int]
    125  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Ix.html Data.Ix]
    126  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-STRef.html Data.STRef]
    127  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-STRef.Lazy.html Data.STRef.Lazy]
    128  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-STRef.Strict.html Data.STRef.Strict]
    129  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-String.html Data.String]
    130  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Typeable.html Data.Typeable]
    131  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Typeable.Internal.html Data.Typeable.Internal]
    132  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Unique.html Data.Unique]
    133  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Version.html Data.Version]
    134  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Data-Word.html Data.Word]
    135  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Debug-Trace.html Debug.Trace]
    136  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Arr.html GHC.Arr]
    137  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Base.html GHC.Base]
    138  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Char.html GHC.Char]
    139  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Conc.html GHC.Conc]
    140  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Conc.IO.html GHC.Conc.IO]
    141  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Conc.Signal.html GHC.Conc.Signal]
    142  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Conc.Sync.html GHC.Conc.Sync]
    143  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-ConsoleHandler.html GHC.ConsoleHandler]
    144  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Constants.html GHC.Constants]
    145  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Desugar.html GHC.Desugar]
    146  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Enum.html GHC.Enum]
    147  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Environment.html GHC.Environment]
    148  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Err.html GHC.Err]
    149  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Event.html GHC.Event]
    150  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Exception.html GHC.Exception]
    151  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Exts.html GHC.Exts]
    152  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Fingerprint.html GHC.Fingerprint]
    153  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Fingerprint.Type.html GHC.Fingerprint.Type]
    154  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Float.html GHC.Float]
    155  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Float.ConversionUtils.html GHC.Float.ConversionUtils]
    156  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Float.RealFracMethods.html GHC.Float.RealFracMethods]
    157  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Foreign.html GHC.Foreign]
    158  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-ForeignPtr.html GHC.ForeignPtr]
    159  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Generics.html GHC.Generics]
    160  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-GHCi.html GHC.GHCi]
    161  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Handle.html GHC.Handle]
    162  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Int.html GHC.Int]
    163  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.html GHC.IO]
    164  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IOArray.html GHC.IOArray]
    165  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IOBase.html GHC.IOBase]
    166  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.Buffer.html GHC.IO.Buffer]
    167  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.BufferedIO.html GHC.IO.BufferedIO]
    168  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.Device.html GHC.IO.Device]
    169  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.Encoding.html GHC.IO.Encoding]
    170  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.Encoding.CodePage.html GHC.IO.Encoding.CodePage]
    171  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.Encoding.Failure.html GHC.IO.Encoding.Failure]
    172  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.Encoding.Iconv.html GHC.IO.Encoding.Iconv]
    173  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.Encoding.Latin1.html GHC.IO.Encoding.Latin1]
    174  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.Encoding.Types.html GHC.IO.Encoding.Types]
    175  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.Encoding.UTF16.html GHC.IO.Encoding.UTF16]
    176  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.Encoding.UTF32.html GHC.IO.Encoding.UTF32]
    177  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.Encoding.UTF8.html GHC.IO.Encoding.UTF8]
    178  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.Exception.html GHC.IO.Exception]
    179  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.FD.html GHC.IO.FD]
    180  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.Handle.html GHC.IO.Handle]
    181  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.Handle.FD.html GHC.IO.Handle.FD]
    182  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.Handle.Internals.html GHC.IO.Handle.Internals]
    183  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.Handle.Text.html GHC.IO.Handle.Text]
    184  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.Handle.Types.html GHC.IO.Handle.Types]
    185  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IO.IOMode.html GHC.IO.IOMode]
    186  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IORef.html GHC.IORef]
    187  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-IP.html GHC.IP]
    188  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-List.html GHC.List]
    189  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-MVar.html GHC.MVar]
    190  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Num.html GHC.Num]
    191  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Pack.html GHC.Pack]
    192  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-PArr.html GHC.PArr]
    193  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Ptr.html GHC.Ptr]
    194  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Read.html GHC.Read]
    195  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Real.html GHC.Real]
    196  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Show.html GHC.Show]
    197  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-ST.html GHC.ST]
    198  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Stable.html GHC.Stable]
    199  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Stack.html GHC.Stack]
    200  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Stats.html GHC.Stats]
    201  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Storable.html GHC.Storable]
    202  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-STRef.html GHC.STRef]
    203  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-TopHandler.html GHC.TopHandler]
    204  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-TypeLits.html GHC.TypeLits]
    205  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Unicode.html GHC.Unicode]
    206  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Weak.html GHC.Weak]
    207  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/GHC-Word.html GHC.Word]
    208  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Numeric.html Numeric]
    209  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Prelude.html Prelude]
    210  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/System-Mem.html System.Mem]
    211  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/System-Mem.StableName.html System.Mem.StableName]
    212  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/System-Mem.Weak.html System.Mem.Weak]
    213  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Text-ParserCombinators.ReadP.html Text.ParserCombinators.ReadP]
    214  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Text-ParserCombinators.ReadPrec.html Text.ParserCombinators.ReadPrec]
    215  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Text-Printf.html Text.Printf]
    216  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Text-Read.html Text.Read]
    217  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Text-Read.Lex.html Text.Read.Lex]
    218  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Text-Show.html Text.Show]
    219  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Text-Show.Functions.html Text.Show.Functions]
    220  * [http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/Unsafe-Coerce.html Unsafe.Coerce]
     33 * [https://github.com/nomeata/packages-base/tree/base-pure base-pure] Basic stuff without `IO`, `Foreign` or floating point arithmetic. Requires reimplementing `GHC.Fingerprint` without using FFI (or at least without using FFI types and without `IO`).
     34 * [https://github.com/nomeata/packages-base/tree/base-io base-io] (uses base-pure). The `IO` and `ST` monads. Unfortunately pulls in `Handle`-related stuff via `IOException`.