packages feed

data-fix 0.0.4 → 0.0.6

raw patch · 2 files changed

+25/−7 lines, 2 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Data.Fix: instance GHC.Classes.Eq (f (Data.Fix.Fix f)) => GHC.Classes.Eq (Data.Fix.Fix f)
- Data.Fix: instance GHC.Classes.Ord (f (Data.Fix.Fix f)) => GHC.Classes.Ord (Data.Fix.Fix f)
- Data.Fix: instance GHC.Read.Read (f (Data.Fix.Fix f)) => GHC.Read.Read (Data.Fix.Fix f)
- Data.Fix: instance GHC.Show.Show (f (Data.Fix.Fix f)) => GHC.Show.Show (Data.Fix.Fix f)
+ Data.Fix: instance Data.Functor.Classes.Eq1 f => GHC.Classes.Eq (Data.Fix.Fix f)
+ Data.Fix: instance Data.Functor.Classes.Ord1 f => GHC.Classes.Ord (Data.Fix.Fix f)
+ Data.Fix: instance Data.Functor.Classes.Read1 f => GHC.Read.Read (Data.Fix.Fix f)
+ Data.Fix: instance Data.Functor.Classes.Show1 f => GHC.Show.Show (Data.Fix.Fix f)

Files

data-fix.cabal view
@@ -1,6 +1,6 @@ Name:            data-fix-Version:         0.0.4-Cabal-Version:   >= 1.6+Version:         0.0.6+Cabal-Version:   >= 1.10 License:         BSD3 License-file:    LICENSE Author:          Anton Kholomiov@@ -8,11 +8,11 @@ Category:        Data Synopsis:        Fixpoint data types Build-Type:      Simple-Description:     +Description:   Fixpoint types and recursion schemes. If you define your AST as   fixpoint type, you get fold and unfold operations for free.   .-  Thanks for contribution to: Matej Kollar+  Thanks for contribution to: Matej Kollar, Herbert Valerio Riedel  Stability:       Experimental @@ -24,10 +24,11 @@     Location: https://github.com/anton-k/data-fix  Library-  Build-depends: base >= 4, base < 5+  Default-Language: Haskell2010+  Build-depends: base >= 4.7, base < 5   Hs-source-dirs: src/    ghc-options: -Wall -  Exposed-modules: +  Exposed-modules:       Data.Fix
src/Data/Fix.hs view
@@ -4,6 +4,7 @@         TypeSynonymInstances,         DeriveGeneric,         DeriveDataTypeable,+        CPP,         StandaloneDeriving #-} -- | Fix-point type. It allows to define generic recurion schemes. --@@ -59,13 +60,28 @@ import Data.Data import Data.Function (on) import Data.Traversable+#if MIN_VERSION_base(4,9,0)+import Data.Functor.Classes+#endif  -- | A fix-point type. newtype Fix f = Fix { unFix :: f (Fix f) } deriving (Generic, Typeable) deriving instance (Typeable f, Data (f (Fix f))) => Data (Fix f)  -- standard instances-+#if MIN_VERSION_base(4,9,0)+instance Eq1 f => Eq (Fix f) where+    Fix f == Fix g = eq1 f g+instance Ord1 f => Ord (Fix f) where+    compare (Fix f) (Fix g) = compare1 f g+instance Show1 f => Show (Fix f) where+    showsPrec n (Fix f) = showParen (n > 10)+        $ showString "Fix "+        . showsPrec1 11 f+instance Read1 f => Read (Fix f) where+    readsPrec d = readParen (d > 10) $ \r ->+        [(Fix m, t) | ("Fix", s) <- lex r, (m, t) <- readsPrec1 11 s]+#else instance Show (f (Fix f)) => Show (Fix f) where     showsPrec n x = showParen (n > 10) $ \s ->         "Fix " ++ showsPrec 11 (unFix x) s@@ -79,6 +95,7 @@  instance Ord (f (Fix f)) => Ord (Fix f) where     compare = compare `on` unFix+#endif   -- recursion