Add `GHC.OldList` legacy module
authorHerbert Valerio Riedel <hvr@gnu.org>
Sat, 7 Mar 2015 22:31:27 +0000 (23:31 +0100)
committerHerbert Valerio Riedel <hvr@gnu.org>
Sat, 7 Mar 2015 22:35:56 +0000 (23:35 +0100)
This module provides access the list-specialised versions for legacy purposes
(such as implementing Haskell2010-ish preludes). This module basically
re-exports the hidden `Data.OldList` module (but in the less controversial `GHC.*`
namespace, which signals less committment to keep this module around).

This is legacy module is mostly for GHC 7.10's sake. What becomes long-term
of `GHC.OldList` can be decided unhurriedly during the GHC 7.12 development
cycle.

Reviewed By: austin

Differential Revision: https://phabricator.haskell.org/D689

libraries/base/GHC/OldList.hs [new file with mode: 0644]
libraries/base/base.cabal
libraries/base/changelog.md

diff --git a/libraries/base/GHC/OldList.hs b/libraries/base/GHC/OldList.hs
new file mode 100644 (file)
index 0000000..cfb7314
--- /dev/null
@@ -0,0 +1,29 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# LANGUAGE Safe #-}
+
+-----------------------------------------------------------------------------
+-- |
+-- Module      :  GHC.OldList
+-- Copyright   :  (c) The University of Glasgow 2001
+-- License     :  BSD-style (see the file libraries/base/LICENSE)
+--
+-- Maintainer  :  libraries@haskell.org
+-- Stability   :  experimental
+-- Portability :  portable
+--
+-- This legacy module provides access to the list-specialised operations
+-- of "Data.List". This module may go away again in future GHC versions and
+-- is provided as transitional tool to access some of the list-specialised
+-- operations that had to be generalised due to the implementation of the
+-- <https://wiki.haskell.org/Foldable_Traversable_In_Prelude Foldable/Traversable-in-Prelude Proposal (FTP)>.
+--
+-- If the operations needed are available in "GHC.List", it's
+-- recommended to avoid importing this module and use "GHC.List"
+-- instead for now.
+--
+-- @since 4.8.0.0
+-----------------------------------------------------------------------------
+
+module GHC.OldList (module Data.OldList) where
+
+import Data.OldList
index 3d6021f..2993692 100644 (file)
@@ -246,6 +246,7 @@ Library
         GHC.MVar
         GHC.Natural
         GHC.Num
+        GHC.OldList
         GHC.PArr
         GHC.Pack
         GHC.Profiling
index 670fa11..e99c1b1 100644 (file)
     and `Data.Foldable`/`Data.Traversable` no longer lead to conflicting
     definitions. (#9586)
 
+  * New (unofficial) module `GHC.OldList` containing only list-specialised
+    versions of the functions from `Data.List` (in other words, `GHC.OldList`
+    corresponds to `base-4.7.0.2`'s `Data.List`)
+
   * Replace the `Control.Monad`-exported functions
 
     ```