Aelve Codesearch

grep over package repositories
applicative-numbers-0.1.3
src/Data/Numeric/Function.hs
{-# LANGUAGE FlexibleContexts, CPP #-}
{-# OPTIONS_GHC -Wall -fno-warn-orphans #-}
----------------------------------------------------------------------
-- |
-- Module      :  Data.Numeric.Function
-- Copyright   :  (c) Conal Elliott 2009
-- License     :  BSD3
-- 
-- Maintainer  :  conal@conal.net
-- Stability   :  experimental
-- 
-- Numeric instances for functions
----------------------------------------------------------------------

module Data.Numeric.Function () where

import Text.Show.Functions ()
import Control.Applicative (Applicative(..),liftA2)

{--------------------------------------------------------------------
    Numeric instances for functions, via the applicative-numbers package
--------------------------------------------------------------------}

-- Generate bogus (error-producing) Eq, Ord & Enum, but not Show, which
-- comes from Text.Show.Functions
#define INSTANCE_Eq
#define INSTANCE_Ord
#define INSTANCE_Enum

-- #define APPLICATIVE ((->) a)
-- Avoid GHC 7.6.3 bug (?) by stripping the parens. Luckily, they're not needed here.
-- The Eq instance for (((->) a) b) is not recognized as equivalent to (a -> b).

#define APPLICATIVE (->) a
#include "ApplicativeNumeric-inc.hs"