on master help sign in
Added IsList instances for Data.Text, Data.Lazy.Text for GHC 7.8+
8f10142Baldur Blöndal
Data/Text.hs+13−1
@@ -3,7 +3,9 @@
3#if __GLASGOW_HASKELL__ >= 702
3#if __GLASGOW_HASKELL__ >= 702
4{-# LANGUAGE Trustworthy #-}
4{-# LANGUAGE Trustworthy #-}
5#endif
5#endif
6−{-# LANGUAGE MonoLocalBinds #-}
6+#if __GLASGOW_HASKELL__ >= 708
7+{-# LANGUAGE TypeFamilies #-}
8+#endif
7
9
8-- |
10-- |
9-- Module : Data.Text
11-- Module : Data.Text
@@ -233,6 +235,9 @@ import qualified GHC.CString as GHC
233#else
235#else
234import qualified GHC.Base as GHC
236import qualified GHC.Base as GHC
235#endif
237#endif
238+#if __GLASGOW_HASKELL__ >= 708
239+import qualified GHC.Exts as Exts
240+#endif
236import GHC.Prim (Addr#)
241import GHC.Prim (Addr#)
237
242
238-- $strict
243-- $strict
@@ -333,6 +338,13 @@ instance Monoid Text where
333instance IsString Text where
338instance IsString Text where
334 fromString = pack
339 fromString = pack
335
340
341+#if __GLASGOW_HASKELL__ >= 708
342+instance Exts.IsList Text where
343+ type Item Text = Char
344+ fromList = pack
345+ toList = unpack
346+#endif
347+
336#if defined(HAVE_DEEPSEQ)
348#if defined(HAVE_DEEPSEQ)
337instance NFData Text
349instance NFData Text
338#endif
350#endif
Data/Text/Lazy.hs+14
@@ -3,6 +3,10 @@
3#if __GLASGOW_HASKELL__ >= 702
3#if __GLASGOW_HASKELL__ >= 702
4{-# LANGUAGE Trustworthy #-}
4{-# LANGUAGE Trustworthy #-}
5#endif
5#endif
6+#if __GLASGOW_HASKELL__ >= 708
7+{-# LANGUAGE TypeFamilies #-}
8+#endif
9+
6-- |
10-- |
7-- Module : Data.Text.Lazy
11-- Module : Data.Text.Lazy
8-- Copyright : (c) 2009, 2010, 2012 Bryan O'Sullivan
12-- Copyright : (c) 2009, 2010, 2012 Bryan O'Sullivan
@@ -223,6 +227,9 @@ import qualified GHC.CString as GHC
223#else
227#else
224import qualified GHC.Base as GHC
228import qualified GHC.Base as GHC
225#endif
229#endif
230+#if __GLASGOW_HASKELL__ >= 708
231+import qualified GHC.Exts as Exts
232+#endif
226import GHC.Prim (Addr#)
233import GHC.Prim (Addr#)
227
234
228-- $fusion
235-- $fusion
@@ -329,6 +336,13 @@ instance Monoid Text where
329instance IsString Text where
336instance IsString Text where
330 fromString = pack
337 fromString = pack
331
338
339+#if __GLASGOW_HASKELL__ >= 708
340+instance Exts.IsList Text where
341+ type Item Text = Char
342+ fromList = pack
343+ toList = unpack
344+#endif
345+
332#if defined(HAVE_DEEPSEQ)
346#if defined(HAVE_DEEPSEQ)
333instance NFData Text where
347instance NFData Text where
334 rnf Empty = ()
348 rnf Empty = ()