data-fix 0.0.6 → 0.0.7
raw patch · 2 files changed
+4/−21 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- 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)
+ 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)
Files
- data-fix.cabal +3/−3
- src/Data/Fix.hs +1/−18
data-fix.cabal view
@@ -1,5 +1,5 @@ Name: data-fix-Version: 0.0.6+Version: 0.0.7 Cabal-Version: >= 1.10 License: BSD3 License-file: LICENSE@@ -8,7 +8,7 @@ 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. .@@ -30,5 +30,5 @@ ghc-options: -Wall - Exposed-modules:+ Exposed-modules: Data.Fix
src/Data/Fix.hs view
@@ -4,7 +4,6 @@ TypeSynonymInstances, DeriveGeneric, DeriveDataTypeable,- CPP, StandaloneDeriving #-} -- | Fix-point type. It allows to define generic recurion schemes. --@@ -60,28 +59,13 @@ 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@@ -95,7 +79,6 @@ instance Ord (f (Fix f)) => Ord (Fix f) where compare = compare `on` unFix-#endif -- recursion