hxt 9.3.1.9 → 9.3.1.10
raw patch · 2 files changed
+10/−3 lines, 2 filesdep ~mtlPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: mtl
API changes (from Hackage documentation)
- Data.Tree.NTree.TypeDefs: instance Typeable1 NTree
+ Data.Tree.NTree.TypeDefs: instance Typeable NTree
- Control.Arrow.ArrowIf: class ArrowList a => ArrowIf a where ifP p = ifA (isA p) neg f = ifA f none this f when g = ifA g f this f whenP g = ifP g f this f whenNot g = ifA g this f f whenNotP g = ifP g this f f guards g = ifA f g none f guardsP g = ifP f g none filterA f = ifA f this none f containing g = f >>> g `guards` this f notContaining g = f >>> ifA g none this choiceA = foldr ifA' none where ifA' (g :-> f) = ifA g f tagA p = ifA p (arr Left) (arr Right) spanA p = ifA (arrL (take 1) >>> p) (arr head &&& (arr tail >>> spanA p) >>> arr (\ ~(x, ~(xs, ys)) -> (x : xs, ys))) (arr (\ l -> ([], l))) partitionA p = listA (arrL id >>> tagA p) >>^ ((\ ~(l1, l2) -> (unTag l1, unTag l2)) . partition (isLeft)) where isLeft (Left _) = True isLeft _ = False unTag = map (either id id)
+ Control.Arrow.ArrowIf: class ArrowList a => ArrowIf a where ifP p = ifA (isA p) neg f = ifA f none this f `when` g = ifA g f this f `whenP` g = ifP g f this f `whenNot` g = ifA g this f f `whenNotP` g = ifP g this f f `guards` g = ifA f g none f `guardsP` g = ifP f g none filterA f = ifA f this none f `containing` g = f >>> g `guards` this f `notContaining` g = f >>> ifA g none this choiceA = foldr ifA' none where ifA' (g :-> f) = ifA g f tagA p = ifA p (arr Left) (arr Right) spanA p = ifA (arrL (take 1) >>> p) (arr head &&& (arr tail >>> spanA p) >>> arr (\ ~(x, ~(xs, ys)) -> (x : xs, ys))) (arr (\ l -> ([], l))) partitionA p = listA (arrL id >>> tagA p) >>^ ((\ ~(l1, l2) -> (unTag l1, unTag l2)) . partition (isLeft)) where isLeft (Left _) = True isLeft _ = False unTag = map (either id id)
Files
- hxt.cabal +4/−2
- src/Text/XML/HXT/Arrow/Pickle/Xml.hs +6/−1
hxt.cabal view
@@ -1,6 +1,6 @@ -- arch-tag: Haskell XML Toolbox main description file Name: hxt-Version: 9.3.1.9+Version: 9.3.1.10 Synopsis: A collection of tools for processing XML with Haskell. Description: The Haskell XML Toolbox bases on the ideas of HaXml and HXML, but introduces a more general approach for processing XML with Haskell.@@ -17,6 +17,8 @@ hxt-unicode contains encoding and decoding functions, hxt-charproperties char properties for unicode and XML. .+ Changes from 9.3.1.9: lower bound of mtl dependency lowered to 2.0.1+ . Changes from 9.3.1.8: Bug in hread removed . Changes from 9.3.1.7: Foldable and Traversable instances for NTree added@@ -205,7 +207,7 @@ filepath >= 1 && < 2, parsec >= 2.1 && < 4, HUnit >= 1.2 && < 2,- mtl >= 2.2.1 && < 3,+ mtl >= 2.0.1 && < 3, deepseq >= 1.1 && < 2, bytestring >= 0.9 && < 1, binary >= 0.5 && < 1,
src/Text/XML/HXT/Arrow/Pickle/Xml.hs view
@@ -1,4 +1,5 @@ {-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# LANGUAGE CPP #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TypeSynonymInstances #-} @@ -53,7 +54,11 @@ import Control.Arrow.ArrowList import Control.Arrow.ListArrows import Control.Monad ()+#if MIN_VERSION_mtl(2,2,0) import Control.Monad.Except (MonadError (..))+#else+import Control.Monad.Error (MonadError (..))+#endif import Control.Monad.State (MonadState (..), gets, modify) @@ -437,7 +442,7 @@ -- | combine tow picklers with a choice -- -- Run two picklers in sequence like with xpSeq.--- When during unpickling the first one fails,+-- If during unpickling the first one fails, -- an alternative pickler (first argument) is applied. -- This pickler is only used as combinator for unpickling.