packages feed

algebraic-classes 0.5.1 → 0.5.2

raw patch · 4 files changed

+24/−6 lines, 4 filesdep ~basedep ~template-haskellPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base, template-haskell

API changes (from Hackage documentation)

Files

Data/Algebra/TH.hs view
@@ -161,8 +161,8 @@ signatureInstances nm s = [asInst, showInst, sigTFInst]   where     signature = ConT (signatureName s)-    sigTFInst = TySynInstD ''Signature [ConT nm] signature-    typeInst = TySynInstD ''Class [signature] (ConT nm)+    sigTFInst = TySynInstD ''Signature (TySynEqn [ConT nm] signature)+    typeInst = TySynInstD ''Class (TySynEqn [signature] (ConT nm))     asClauses =        [ Clause [ConP opName (map VarP args)] (NormalB (foldl (\e arg -> AppE e (VarE arg)) (VarE fName) args)) []       | OperationTH fName opName ar _ _ <- operations s, let args = mkArgList ar ]
algebraic-classes.cabal view
@@ -1,5 +1,5 @@ name:                algebraic-classes-version:             0.5.1+version:             0.5.2 synopsis:            Conversions between algebraic classes and F-algebras. description:         Algebraic classes are type classes where all the methods return a value of the same type, which is also the class parameter.                      Examples from @base@ are @Num@ and @Monoid@.@@ -35,6 +35,6 @@     Data.Algebra.Internal      build-depends:-      base == 4.6.*+      base == 4.7.*     , syb == 0.4.*-    , template-haskell == 2.8.0.*+    , template-haskell == 2.9.0.*
+ examples/Fractional.hs view
@@ -0,0 +1,18 @@+{-# OPTIONS_GHC -ddump-splices #-}+{-# LANGUAGE TemplateHaskell, TypeFamilies, DeriveFunctor, DeriveFoldable, DeriveTraversable #-}++import Data.Algebra+import Data.Algebra.TH+import Data.Monoid+import Data.Foldable+import Data.Traversable+import Data.Ratio++deriveSignature ''Num+deriveSignature ''Fractional++deriveInstance [t| (Num m, Num n) => Num (m, n) |]+deriveInstance [t| (Fractional m, Fractional n) => Fractional (m, n) |]++test :: (Ratio Int, Ratio Int)+test = (5, 3) / (3, 2) + (1, 4)
examples/Signatures.hs view
@@ -1,4 +1,4 @@- {-# OPTIONS_GHC -ddump-splices #-}+{-# OPTIONS_GHC -ddump-splices #-} {-# LANGUAGE TemplateHaskell, TypeFamilies, DeriveFunctor, DeriveFoldable, DeriveTraversable #-}  import Data.Algebra