name: applicative-numbers version: 0.0.6 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