[commit: packages/containers] develop-0.6, develop-0.6-questionable, master, zip-devel: Add an IsList instance for Data.Sequence.Seq (1931ecf)
git at git.haskell.org
git at git.haskell.org
Fri Jan 23 22:41:40 UTC 2015
Repository : ssh://git@git.haskell.org/containers
On branches: develop-0.6,develop-0.6-questionable,master,zip-devel
Link : http://git.haskell.org/packages/containers.git/commitdiff/1931ecf7da3d4e4ead4bd1ef5f5ed07807893339
>---------------------------------------------------------------
commit 1931ecf7da3d4e4ead4bd1ef5f5ed07807893339
Author: David Feuer <David.Feuer at gmail.com>
Date: Wed Dec 3 17:16:39 2014 -0500
Add an IsList instance for Data.Sequence.Seq
>---------------------------------------------------------------
1931ecf7da3d4e4ead4bd1ef5f5ed07807893339
Data/Sequence.hs | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/Data/Sequence.hs b/Data/Sequence.hs
index 511cad9..757f677 100644
--- a/Data/Sequence.hs
+++ b/Data/Sequence.hs
@@ -5,6 +5,9 @@
#if __GLASGOW_HASKELL__ >= 703
{-# LANGUAGE Trustworthy #-}
#endif
+#if __GLASGOW_HASKELL__ >= 708
+{-# LANGUAGE TypeFamilies #-}
+#endif
-- We use cabal-generated MIN_VERSION_base to adapt to changes of base.
-- Nevertheless, as a convenience, we also allow compiling without cabal by
-- defining trivial MIN_VERSION_base if needed.
@@ -171,7 +174,9 @@ import Data.Coerce
#if MIN_VERSION_base(4,8,0)
import Data.Functor.Identity (Identity(..))
#endif
-
+#if __GLASGOW_HASKELL__ >= 708
+import qualified GHC.Exts
+#endif
infixr 5 `consTree`
infixl 5 `snocTree`
@@ -1655,6 +1660,13 @@ findIndicesR p xs = foldlWithIndex g [] xs
fromList :: [a] -> Seq a
fromList = Data.List.foldl' (|>) empty
+#if __GLASGOW_HASKELL__ >= 708
+instance GHC.Exts.IsList (Seq a) where
+ type Item (Seq a) = a
+ fromList = fromList
+ toList = toList
+#endif
+
------------------------------------------------------------------------
-- Reverse
------------------------------------------------------------------------
More information about the ghc-commits
mailing list