graphviz 2999.20.0.4 → 2999.20.1.0
raw patch · 6 files changed
+24/−7 lines, 6 filesdep ~QuickCheckdep ~bytestringdep ~criterionPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: QuickCheck, bytestring, criterion, dlist, fgl, hspec
API changes (from Hackage documentation)
+ Data.GraphViz.Exception: throwIO :: Exception e => e -> IO a
+ Data.GraphViz.Types.Monadic: instance Control.Monad.Fix.MonadFix (Data.GraphViz.Types.Monadic.DotM n)
Files
- Changelog.md +10/−0
- Data/GraphViz/Commands.hs +1/−1
- Data/GraphViz/Commands/IO.hs +2/−2
- Data/GraphViz/Exception.hs +1/−0
- Data/GraphViz/Types/Monadic.hs +6/−0
- graphviz.cabal +4/−4
Changelog.md view
@@ -7,6 +7,16 @@ The following is information about what major changes have gone into each release. +Changes in 2999.20.1.0+----------------------++* Add `MonadFix` instance for `DotM` (thanks to **George Wilson**)++* Fix exception catching for missing executables (thanks to **Kostas+ Dermentzis**)++* Dependency bumps.+ Changes in 2999.20.0.4 ----------------------
Data/GraphViz/Commands.hs view
@@ -249,7 +249,7 @@ -> GraphvizOutput -> FilePath -> IO FilePath runGraphvizCommand cmd gr t fp- = mapException addExc $ graphvizWithHandle cmd gr t toFile+ = handle (throwIO . addExc) $ graphvizWithHandle cmd gr t toFile where addFl = (++) ("Unable to create " ++ fp ++ "\n") toFile h = SB.hGetContents h >>= SB.writeFile fp >> return fp
Data/GraphViz/Commands/IO.hs view
@@ -149,7 +149,7 @@ -> dg n -> IO a runCommand cmd args hf dg- = mapException notRunnable $+ = handle (throwIO . notRunnable) $ withSystemTempFile ("graphviz" <.> "gv") $ \dotFile dotHandle -> do finally (hPutCompactDot dotHandle dg) (hClose dotHandle) bracket@@ -189,7 +189,7 @@ ] -- Augmenting the hf function to let it work within the forkIO:- hf' = mapException fErr . hf+ hf' = handle (throwIO . fErr) . hf fErr :: IOException -> GraphvizException fErr e = GVProgramExc $ "Error re-directing the output from " ++ cmd ++ ": " ++ show e
Data/GraphViz/Exception.hs view
@@ -11,6 +11,7 @@ -- * Re-exported for convenience. , mapException , throw+ , throwIO , handle , bracket ) where
Data/GraphViz/Types/Monadic.hs view
@@ -94,6 +94,8 @@ import Data.Semigroup (Semigroup(..)) #endif +import Control.Monad.Fix (MonadFix (mfix))+ -- ----------------------------------------------------------------------------- -- The Dot monad. @@ -123,6 +125,10 @@ $ let ~(a,stmts) = runDot dt ~(b,stmts') = runDot $ f a in (b, stmts `DL.append` stmts')++instance MonadFix (DotM n) where+ mfix m = let (a,n) = runDot $ m a+ in DotM (a,n) #if MIN_VERSION_base (4,9,0) instance Semigroup a => Semigroup (DotM n a) where
graphviz.cabal view
@@ -1,5 +1,5 @@ Name: graphviz-Version: 2999.20.0.4+Version: 2999.20.1.0 Stability: Beta Synopsis: Bindings to Graphviz for graph visualisation. Description: {@@ -30,7 +30,7 @@ augment node and edge labels with positional information, etc. } -Homepage: http://projects.haskell.org/graphviz/+Homepage: https://github.com/ivan-m/graphviz Category: Graphs, Graphics License: BSD3 License-File: LICENSE.md@@ -72,7 +72,7 @@ mtl == 2.*, text, wl-pprint-text == 1.2.*,- dlist >= 0.5 && < 0.9+ dlist >= 0.5 && < 1.1 Exposed-Modules: Data.GraphViz Data.GraphViz.Types@@ -129,7 +129,7 @@ filepath, hspec >= 2.1 && < 2.8, text,- QuickCheck >= 2.3 && < 2.14+ QuickCheck >= 2.3 && < 2.15 Build-Tool-Depends: hspec-discover:hspec-discover == 2.* hs-Source-Dirs: tests