Changes between Version 9 and Version 10 of SplitBase


Ignore:
Timestamp:
Feb 17, 2013 3:13:26 PM (14 months 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`.