{-# LANGUAGE CPP #-}
{-# OPTIONS_GHC -Wall #-}
module NumHask.Prelude
(
module Protolude
#if !MIN_VERSION_base(4,11,0)
, (<>)
, Semigroup
#endif
, fromString
, fail
, ifThenElse
, fromList
, fromListN
, module NumHask.Algebra.Abstract.Action
, module NumHask.Algebra.Abstract.Additive
, module NumHask.Algebra.Abstract.Field
, module NumHask.Algebra.Abstract.Group
, module NumHask.Algebra.Abstract.Lattice
, module NumHask.Algebra.Abstract.Module
, module NumHask.Algebra.Abstract.Multiplicative
, module NumHask.Algebra.Abstract.Ring
, module NumHask.Algebra.Linear.Hadamard
, module NumHask.Analysis.Metric
, module NumHask.Data.Complex
, module NumHask.Data.Integral
, module NumHask.Data.LogField
, module NumHask.Data.Rational
, module NumHask.Data.Pair
, module NumHask.Data.Positive
, Natural(..)
, module NumHask.Exception
) where
#if MIN_VERSION_base(4,11,0)
import Protolude hiding (Integral(..), Rep, Semiring(..), (*), (**), (+), (-), (/), (^), (^^), abs, acos, acosh, asin, asinh, atan, atan2, atanh, ceiling, cos, cosh, exp, floor, fromInteger, fromIntegral, even, odd, infinity, log, logBase, negate, pi, product, properFraction, recip, round, sin, sinh, sqrt, sum, tan, tanh, toInteger, trans, truncate, zero, fromRational, Ratio(..), reduce, gcd, subtract, Complex(..), Sum(..), Product(..), realPart, imagPart, polar, phase, mkPolar, magnitude, cis, toRational)
#else
import Protolude hiding (Integral(..), Rep, Semiring(..), (*), (**), (+), (-), (/), (^), (^^), abs, acos, acosh, asin, asinh, atan, atan2, atanh, ceiling, cos, cosh, exp, floor, fromInteger, fromIntegral, even, odd, infinity, log, logBase, negate, pi, product, properFraction, recip, round, sin, sinh, sqrt, sum, tan, tanh, toInteger, trans, truncate, zero, fromRational, Ratio(..), reduce, gcd, subtract, Complex(..), Sum(..), Product(..), realPart, imagPart, polar, phase, mkPolar, magnitude, cis, toRational, (<>), Semigroup)
import Data.Semigroup ((<>), Semigroup)
#endif
import Control.Monad (fail)
import Data.String
import GHC.Natural (Natural(..))
import NumHask.Algebra.Abstract.Action
import NumHask.Algebra.Abstract.Additive
import NumHask.Algebra.Abstract.Field
import NumHask.Algebra.Abstract.Group
import NumHask.Algebra.Abstract.Lattice
import NumHask.Algebra.Abstract.Module
import NumHask.Algebra.Abstract.Multiplicative
import NumHask.Algebra.Abstract.Ring
import NumHask.Algebra.Linear.Hadamard
import NumHask.Analysis.Metric
import NumHask.Data.Complex
import NumHask.Data.Integral
import NumHask.Data.LogField
import NumHask.Data.Pair
import NumHask.Data.Positive
import NumHask.Data.Rational
import NumHask.Exception
import GHC.Exts
ifThenElse :: Bool -> a -> a -> a
ifThenElse True x _ = x
ifThenElse False _ y = y