name: applicative-numbers
version: 0.0.7
cabal-version: >= 1.2
synopsis: Applicative-based numeric instances
category: Data, Numerical
description:
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:
.
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
package-url: http://code.haskell.org/applicative-numbers
copyright: (c) 2009 by Conal Elliott
license: BSD3
license-file: COPYING
stability: experimental
build-type: Simple
Library
hs-source-dirs: src
include-dirs: src
extensions:
build-depends: base, wl-pprint
exposed-modules:
Data.Numeric.Function
install-includes: ApplicativeNumeric-inc.hs
ghc-options: -Wall
-- ghc-prof-options: -prof -auto-all