applicative-numbers: Applicative-based numeric instances
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 Data.Numeric.Function for an example.
Project wiki page: http://haskell.org/haskellwiki/applicative-numbers
Copyright 2009-2013 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,
#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
Downloads
- applicative-numbers-0.1.3.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.0.0, 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.0.7, 0.0.8, 0.0.9, 0.1.2, 0.1.3 |
---|---|
Dependencies | base (<5) [details] |
License | BSD-3-Clause |
Copyright | (c) 2009-2011 by Conal Elliott |
Author | Conal Elliott |
Maintainer | conal@conal.net |
Category | Data, Numerical |
Home page | http://haskell.org/haskellwiki/applicative-numbers |
Uploaded | by ConalElliott at 2014-04-09T02:40:18Z |
Distributions | NixOS:0.1.3 |
Reverse Dependencies | 6 direct, 16 indirect [details] |
Downloads | 10720 total (29 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Successful builds reported [all 1 reports] |