packages feed

applicative-numbers-0.1.2: applicative-numbers.cabal

name:                applicative-numbers
version:             0.1.2
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: <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,
  .
  @
      -- 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-2011 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<5, wl-pprint
  exposed-modules:     
                       Data.Numeric.Function
  install-includes:    ApplicativeNumeric-inc.hs
                       ApplicativeNumeric-inc.lhs

--                        T1.hs
--                        T1.lhs

-- T1 is for testing

  ghc-options:         -Wall

 ghc-prof-options:    -prof -auto-all