packages feed

xmlgen 0.6.2.1 → 0.6.2.2

raw patch · 2 files changed

+54/−13 lines, 2 filesdep ~base

Dependency ranges changed: base

Files

src/Text/XML/Generator.hs view
@@ -54,7 +54,6 @@ import Control.Monad.Reader (Reader(..), ask, asks, runReader) import qualified Data.Map as Map import qualified Data.ByteString.Lazy as BSL-import Data.Monoid hiding (mconcat) import qualified Data.Monoid as M  import Blaze.ByteString.Builder@@ -67,6 +66,14 @@ import Data.Char (isPrint, ord) import qualified Data.String as S +#if MIN_VERSION_base(4,9,0)+import Data.Semigroup+import Data.Monoid hiding (mconcat, (<>))+#else+-- for ghc 7.10+import Data.Monoid hiding (mconcat)+#endif+ import qualified Data.Text as T import qualified Data.Text.Lazy as TL @@ -278,14 +285,32 @@ noAttrs :: Xml Attr noAttrs = xempty +{-# INLINE mappendAttr #-}+mappendAttr :: Xml Attr -> Xml Attr -> Xml Attr+mappendAttr x1 x2 = Xml $+    do env <- ask+       let (Attr b1, env') = runXml env x1+       let (Attr b2, env'') = runXml env' x2+       return $ (Attr $ b1 `mappend` b2, env'')++#if MIN_VERSION_base(4,9,0)+instance Semigroup (Xml Attr) where+    (<>) = mappendAttr+ instance Monoid (Xml Attr) where     mempty = noAttrs-    mappend x1 x2 = Xml $-        do env <- ask-           let (Attr b1, env') = runXml env x1-           let (Attr b2, env'') = runXml env' x2-           return $ (Attr $ b1 `mappend` b2, env'')+#if !(MIN_VERSION_base(4,11,0))+    -- this is redundant starting with base-4.11 / GHC 8.4+    mappend = (<>)+#endif+#else+-- for ghc 7.10+instance Monoid (Xml Attr) where+    mempty = noAttrs+    mappend = mappendAttr+#endif + -- -- Elements --@@ -372,14 +397,30 @@ xelemWithText :: Name -> TextContent -> Xml Elem xelemWithText n t = xelem n (xtext t) +{-# INLINE mappendElem #-}+mappendElem :: Xml Elem -> Xml Elem -> Xml Elem+mappendElem x1 x2 = Xml $+    do env <- ask+       let (Elem b1, env') = runXml env x1+           (Elem b2, env'') = runXml env' x2+       return (Elem $ b1 `mappend` b2, env'')++#if MIN_VERSION_base(4,9,0)+instance Semigroup (Xml Elem) where+    (<>) = mappendElem+ instance Monoid (Xml Elem) where     mempty = noElems-    mappend x1 x2 = Xml $-        do env <- ask-           let (Elem b1, env') = runXml env x1-               (Elem b2, env'') = runXml env' x2-           return (Elem $ b1 `mappend` b2, env'')-+#if !(MIN_VERSION_base(4,11,0))+    -- this is redundant starting with base-4.11 / GHC 8.4+    mappend = (<>)+#endif+#else+-- for ghc 7.10+instance Monoid (Xml Elem) where+    mempty = noElems+    mappend = mappendElem+#endif -- -- Other XML constructs --
xmlgen.cabal view
@@ -1,5 +1,5 @@ Name:                xmlgen-Version:             0.6.2.1+Version:             0.6.2.2 Synopsis:            Fast XML generation library Description:         Library for high-performance XML generation. License:             BSD3