applicative-numbers 0.0.5 → 0.0.6
raw patch · 2 files changed
+32/−36 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- applicative-numbers.cabal +32/−3
- src/ApplicativeNumeric-inc.hs +0/−33
applicative-numbers.cabal view
@@ -1,5 +1,5 @@ name: applicative-numbers-version: 0.0.5+version: 0.0.6 cabal-version: >= 1.2 synopsis: Applicative-based numeric instances category: Data, Numerical@@ -7,12 +7,41 @@ Any applicative functor can be given numeric instances in a boilerplate way. The /applicative-numbers/ package provides an include file that makes it a snap to define these instances.- See @src/ApplicativeNumeric-inc.hs@ for details and- @src/Data/Numeric/Function.hs@ for an example.+ See "Data.Numeric.Function" for an example. . Project wiki page: <http://haskell.org/haskellwiki/applicative-numbers> . Copyright 2009 Conal Elliott; BSD3 license.+ .+ .+ Instances of @Num@ classes for applicative functors. To be @#include@'d after+ defining @APPLICATIVE@ as the applicative functor name and @CONSTRAINTS@ as a+ list of constraints, which must carry its own trailing comma if non-empty.+ The @APPLICATIVE@ symbol gets @#undef@'d at the end of the include file, so+ that multiple includes are convenient.+ .+ For instance,+ .+ @+ -- Generate Ord & Enum, but not Eq & Show+ #define INSTANCE_Ord+ #define INSTANCE_Enum+ .+ #define APPLICATIVE Vec2+ #include \"ApplicativeNumeric-inc.hs\"+ .+ #define APPLICATIVE Vec3+ #include \"ApplicativeNumeric-inc.hs\"+ .+ #define APPLICATIVE Vec4+ #include \"ApplicativeNumeric-inc.hs\"+ @+ .+ You'll also have to import 'pure' and 'liftA2' from "Control.Applicative"+ and specify @the FlexibleContexts@ language extension (due to an implementation hack).+ .+ Some instances are generated only if a corresponding CPP symbol is+ defined: @INSTANCE_Eq@, @INSTANCE_Ord@, @INSTANCE_Show@, @INSTANCE_Enum@ author: Conal Elliott maintainer: conal@conal.net homepage: http://haskell.org/haskellwiki/applicative-numbers
src/ApplicativeNumeric-inc.hs view
@@ -6,39 +6,6 @@ Maintainer : conal@conal.net Stability : experimental -Instances of Num classes for applicative functors. To be #include'd after-defining APPLICATIVE as the applicative functor name and CONSTRAINTS as a-list of constraints, which must carry its own trailing comma if non-empty.-The APPLICATIVE symbol gets #undef'd at the end of this include file, so-that multiple includes are convenient.--For instance,-- -- Generate Ord & Enum, but not Eq & Show- #define INSTANCE_Ord- #define INSTANCE_Enum-- #define APPLICATIVE Vec2- #include "ApplicativeNumeric-inc.hs"-- #define APPLICATIVE Vec3- #include "ApplicativeNumeric-inc.hs"-- #define APPLICATIVE Vec4- #include "ApplicativeNumeric-inc.hs"---You'll also have to import 'pure' and 'liftA2' from "Control.Applicative"-and specify the FlexibleContexts language extension (due to a hack below).--Some instances are generated only if a corresponding CPP symbol is-defined:--+ INSTANCE_Eq-+ INSTANCE_Ord-+ INSTANCE_Show-+ INSTANCE_Enum- -----------------------------------------------------------------------} #ifndef CONSTRAINTS