Raw Metadata XML
<pkgmetadata>
<maintainer type="project">
<email>haskell@gentoo.org</email>
<name>Gentoo Haskell</name>
</maintainer>
<longdescription>
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@
</longdescription>
</pkgmetadata>