{-# LANGUAGE DeriveGeneric #-}{-# LANGUAGE GeneralizedNewtypeDeriving #-}{-# LANGUAGE NoImplicitPrelude #-}{-# LANGUAGE PolyKinds #-}{-# LANGUAGE ScopedTypeVariables #-}{-# LANGUAGE Trustworthy #-}------------------------------------------------------------------------------- |-- Module : Data.Functor.Const-- Copyright : Conor McBride and Ross Paterson 2005-- License : BSD-style (see the LICENSE file in the distribution)---- Maintainer : libraries@haskell.org-- Stability : stable-- Portability : portable-- The 'Const' functor.---- @since 4.9.0.0moduleData.Functor.Const(Const (..))whereimportData.Bits (Bits ,FiniteBits )importData.Foldable (Foldable (foldMap ))importForeign.Storable (Storable )importGHC.Ix (Ix )importGHC.Base importGHC.Enum (Bounded ,Enum )importGHC.Float (Floating ,RealFloat )importGHC.Generics (Generic ,Generic1 )importGHC.Num (Num )importGHC.Real (Fractional ,Integral ,Real ,RealFrac )importGHC.Read (Read (readsPrec ),readParen ,lex )importGHC.Show (Show (showsPrec ),showParen ,showString )-- | The 'Const' functor.newtypeConst a b =Const {forall {k} a (b :: k). Const a b -> a
getConst ::a }deriving(Eq (Const a b)
Const a b
Eq (Const a b) =>
(Const a b -> Const a b -> Const a b)
-> (Const a b -> Const a b -> Const a b)
-> (Const a b -> Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Const a b -> Int -> Const a b)
-> (Const a b -> Int -> Const a b)
-> Const a b
-> (Int -> Const a b)
-> (Const a b -> Int -> Const a b)
-> (Const a b -> Int -> Const a b)
-> (Const a b -> Int -> Const a b)
-> (Const a b -> Int -> Bool)
-> (Const a b -> Maybe Int)
-> (Const a b -> Int)
-> (Const a b -> Bool)
-> (Const a b -> Int -> Const a b)
-> (Const a b -> Int -> Const a b)
-> (Const a b -> Int -> Const a b)
-> (Const a b -> Int -> Const a b)
-> (Const a b -> Int -> Const a b)
-> (Const a b -> Int -> Const a b)
-> (Const a b -> Int)
-> Bits (Const a b)
Int -> Const a b
Const a b -> Bool
Const a b -> Int
Const a b -> Maybe Int
Const a b -> Const a b
Const a b -> Int -> Bool
Const a b -> Int -> Const a b
Const a b -> Const a b -> Const a b
forall a.
Eq a =>
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
forall a k (b :: k). Bits a => Eq (Const a b)
forall a k (b :: k). Bits a => Const a b
forall a k (b :: k). Bits a => Int -> Const a b
forall a k (b :: k). Bits a => Const a b -> Bool
forall a k (b :: k). Bits a => Const a b -> Int
forall a k (b :: k). Bits a => Const a b -> Maybe Int
forall a k (b :: k). Bits a => Const a b -> Const a b
forall a k (b :: k). Bits a => Const a b -> Int -> Bool
forall a k (b :: k). Bits a => Const a b -> Int -> Const a b
forall a k (b :: k). Bits a => Const a b -> Const a b -> Const a b
$c.&. :: forall a k (b :: k). Bits a => Const a b -> Const a b -> Const a b
.&. :: Const a b -> Const a b -> Const a b
$c.|. :: forall a k (b :: k). Bits a => Const a b -> Const a b -> Const a b
.|. :: Const a b -> Const a b -> Const a b
$cxor :: forall a k (b :: k). Bits a => Const a b -> Const a b -> Const a b
xor :: Const a b -> Const a b -> Const a b
$ccomplement :: forall a k (b :: k). Bits a => Const a b -> Const a b
complement :: Const a b -> Const a b
$cshift :: forall a k (b :: k). Bits a => Const a b -> Int -> Const a b
shift :: Const a b -> Int -> Const a b
$crotate :: forall a k (b :: k). Bits a => Const a b -> Int -> Const a b
rotate :: Const a b -> Int -> Const a b
$czeroBits :: forall a k (b :: k). Bits a => Const a b
zeroBits :: Const a b
$cbit :: forall a k (b :: k). Bits a => Int -> Const a b
bit :: Int -> Const a b
$csetBit :: forall a k (b :: k). Bits a => Const a b -> Int -> Const a b
setBit :: Const a b -> Int -> Const a b
$cclearBit :: forall a k (b :: k). Bits a => Const a b -> Int -> Const a b
clearBit :: Const a b -> Int -> Const a b
$ccomplementBit :: forall a k (b :: k). Bits a => Const a b -> Int -> Const a b
complementBit :: Const a b -> Int -> Const a b
$ctestBit :: forall a k (b :: k). Bits a => Const a b -> Int -> Bool
testBit :: Const a b -> Int -> Bool
$cbitSizeMaybe :: forall a k (b :: k). Bits a => Const a b -> Maybe Int
bitSizeMaybe :: Const a b -> Maybe Int
$cbitSize :: forall a k (b :: k). Bits a => Const a b -> Int
bitSize :: Const a b -> Int
$cisSigned :: forall a k (b :: k). Bits a => Const a b -> Bool
isSigned :: Const a b -> Bool
$cshiftL :: forall a k (b :: k). Bits a => Const a b -> Int -> Const a b
shiftL :: Const a b -> Int -> Const a b
$cunsafeShiftL :: forall a k (b :: k). Bits a => Const a b -> Int -> Const a b
unsafeShiftL :: Const a b -> Int -> Const a b
$cshiftR :: forall a k (b :: k). Bits a => Const a b -> Int -> Const a b
shiftR :: Const a b -> Int -> Const a b
$cunsafeShiftR :: forall a k (b :: k). Bits a => Const a b -> Int -> Const a b
unsafeShiftR :: Const a b -> Int -> Const a b
$crotateL :: forall a k (b :: k). Bits a => Const a b -> Int -> Const a b
rotateL :: Const a b -> Int -> Const a b
$crotateR :: forall a k (b :: k). Bits a => Const a b -> Int -> Const a b
rotateR :: Const a b -> Int -> Const a b
$cpopCount :: forall a k (b :: k). Bits a => Const a b -> Int
popCount :: Const a b -> Int
Bits -- ^ @since 4.9.0.0,Const a b
Const a b -> Const a b -> Bounded (Const a b)
forall a. a -> a -> Bounded a
forall a k (b :: k). Bounded a => Const a b
$cminBound :: forall a k (b :: k). Bounded a => Const a b
minBound :: Const a b
$cmaxBound :: forall a k (b :: k). Bounded a => Const a b
maxBound :: Const a b
Bounded -- ^ @since 4.9.0.0,Int -> Const a b
Const a b -> Int
Const a b -> [Const a b]
Const a b -> Const a b
Const a b -> Const a b -> [Const a b]
Const a b -> Const a b -> Const a b -> [Const a b]
(Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Int -> Const a b)
-> (Const a b -> Int)
-> (Const a b -> [Const a b])
-> (Const a b -> Const a b -> [Const a b])
-> (Const a b -> Const a b -> [Const a b])
-> (Const a b -> Const a b -> Const a b -> [Const a b])
-> Enum (Const a b)
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
forall a k (b :: k). Enum a => Int -> Const a b
forall a k (b :: k). Enum a => Const a b -> Int
forall a k (b :: k). Enum a => Const a b -> [Const a b]
forall a k (b :: k). Enum a => Const a b -> Const a b
forall a k (b :: k).
Enum a =>
Const a b -> Const a b -> [Const a b]
forall a k (b :: k).
Enum a =>
Const a b -> Const a b -> Const a b -> [Const a b]
$csucc :: forall a k (b :: k). Enum a => Const a b -> Const a b
succ :: Const a b -> Const a b
$cpred :: forall a k (b :: k). Enum a => Const a b -> Const a b
pred :: Const a b -> Const a b
$ctoEnum :: forall a k (b :: k). Enum a => Int -> Const a b
toEnum :: Int -> Const a b
$cfromEnum :: forall a k (b :: k). Enum a => Const a b -> Int
fromEnum :: Const a b -> Int
$cenumFrom :: forall a k (b :: k). Enum a => Const a b -> [Const a b]
enumFrom :: Const a b -> [Const a b]
$cenumFromThen :: forall a k (b :: k).
Enum a =>
Const a b -> Const a b -> [Const a b]
enumFromThen :: Const a b -> Const a b -> [Const a b]
$cenumFromTo :: forall a k (b :: k).
Enum a =>
Const a b -> Const a b -> [Const a b]
enumFromTo :: Const a b -> Const a b -> [Const a b]
$cenumFromThenTo :: forall a k (b :: k).
Enum a =>
Const a b -> Const a b -> Const a b -> [Const a b]
enumFromThenTo :: Const a b -> Const a b -> Const a b -> [Const a b]
Enum -- ^ @since 4.9.0.0,Const a b -> Const a b -> Bool
(Const a b -> Const a b -> Bool)
-> (Const a b -> Const a b -> Bool) -> Eq (Const a b)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall a k (b :: k). Eq a => Const a b -> Const a b -> Bool
$c== :: forall a k (b :: k). Eq a => Const a b -> Const a b -> Bool
== :: Const a b -> Const a b -> Bool
$c/= :: forall a k (b :: k). Eq a => Const a b -> Const a b -> Bool
/= :: Const a b -> Const a b -> Bool
Eq -- ^ @since 4.9.0.0,Bits (Const a b)
Bits (Const a b) =>
(Const a b -> Int)
-> (Const a b -> Int)
-> (Const a b -> Int)
-> FiniteBits (Const a b)
Const a b -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
forall a k (b :: k). FiniteBits a => Bits (Const a b)
forall a k (b :: k). FiniteBits a => Const a b -> Int
$cfiniteBitSize :: forall a k (b :: k). FiniteBits a => Const a b -> Int
finiteBitSize :: Const a b -> Int
$ccountLeadingZeros :: forall a k (b :: k). FiniteBits a => Const a b -> Int
countLeadingZeros :: Const a b -> Int
$ccountTrailingZeros :: forall a k (b :: k). FiniteBits a => Const a b -> Int
countTrailingZeros :: Const a b -> Int
FiniteBits -- ^ @since 4.9.0.0,Fractional (Const a b)
Const a b
Fractional (Const a b) =>
Const a b
-> (Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Const a b -> Const a b -> Const a b)
-> (Const a b -> Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Const a b -> Const a b)
-> Floating (Const a b)
Const a b -> Const a b
Const a b -> Const a b -> Const a b
forall a.
Fractional a =>
a
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> Floating a
forall a k (b :: k). Floating a => Fractional (Const a b)
forall a k (b :: k). Floating a => Const a b
forall a k (b :: k). Floating a => Const a b -> Const a b
forall a k (b :: k).
Floating a =>
Const a b -> Const a b -> Const a b
$cpi :: forall a k (b :: k). Floating a => Const a b
pi :: Const a b
$cexp :: forall a k (b :: k). Floating a => Const a b -> Const a b
exp :: Const a b -> Const a b
$clog :: forall a k (b :: k). Floating a => Const a b -> Const a b
log :: Const a b -> Const a b
$csqrt :: forall a k (b :: k). Floating a => Const a b -> Const a b
sqrt :: Const a b -> Const a b
$c** :: forall a k (b :: k).
Floating a =>
Const a b -> Const a b -> Const a b
** :: Const a b -> Const a b -> Const a b
$clogBase :: forall a k (b :: k).
Floating a =>
Const a b -> Const a b -> Const a b
logBase :: Const a b -> Const a b -> Const a b
$csin :: forall a k (b :: k). Floating a => Const a b -> Const a b
sin :: Const a b -> Const a b
$ccos :: forall a k (b :: k). Floating a => Const a b -> Const a b
cos :: Const a b -> Const a b
$ctan :: forall a k (b :: k). Floating a => Const a b -> Const a b
tan :: Const a b -> Const a b
$casin :: forall a k (b :: k). Floating a => Const a b -> Const a b
asin :: Const a b -> Const a b
$cacos :: forall a k (b :: k). Floating a => Const a b -> Const a b
acos :: Const a b -> Const a b
$catan :: forall a k (b :: k). Floating a => Const a b -> Const a b
atan :: Const a b -> Const a b
$csinh :: forall a k (b :: k). Floating a => Const a b -> Const a b
sinh :: Const a b -> Const a b
$ccosh :: forall a k (b :: k). Floating a => Const a b -> Const a b
cosh :: Const a b -> Const a b
$ctanh :: forall a k (b :: k). Floating a => Const a b -> Const a b
tanh :: Const a b -> Const a b
$casinh :: forall a k (b :: k). Floating a => Const a b -> Const a b
asinh :: Const a b -> Const a b
$cacosh :: forall a k (b :: k). Floating a => Const a b -> Const a b
acosh :: Const a b -> Const a b
$catanh :: forall a k (b :: k). Floating a => Const a b -> Const a b
atanh :: Const a b -> Const a b
$clog1p :: forall a k (b :: k). Floating a => Const a b -> Const a b
log1p :: Const a b -> Const a b
$cexpm1 :: forall a k (b :: k). Floating a => Const a b -> Const a b
expm1 :: Const a b -> Const a b
$clog1pexp :: forall a k (b :: k). Floating a => Const a b -> Const a b
log1pexp :: Const a b -> Const a b
$clog1mexp :: forall a k (b :: k). Floating a => Const a b -> Const a b
log1mexp :: Const a b -> Const a b
Floating -- ^ @since 4.9.0.0,Num (Const a b)
Num (Const a b) =>
(Const a b -> Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Rational -> Const a b)
-> Fractional (Const a b)
Rational -> Const a b
Const a b -> Const a b
Const a b -> Const a b -> Const a b
forall a.
Num a =>
(a -> a -> a) -> (a -> a) -> (Rational -> a) -> Fractional a
forall a k (b :: k). Fractional a => Num (Const a b)
forall a k (b :: k). Fractional a => Rational -> Const a b
forall a k (b :: k). Fractional a => Const a b -> Const a b
forall a k (b :: k).
Fractional a =>
Const a b -> Const a b -> Const a b
$c/ :: forall a k (b :: k).
Fractional a =>
Const a b -> Const a b -> Const a b
/ :: Const a b -> Const a b -> Const a b
$crecip :: forall a k (b :: k). Fractional a => Const a b -> Const a b
recip :: Const a b -> Const a b
$cfromRational :: forall a k (b :: k). Fractional a => Rational -> Const a b
fromRational :: Rational -> Const a b
Fractional -- ^ @since 4.9.0.0,(forall x. Const a b -> Rep (Const a b) x)
-> (forall x. Rep (Const a b) x -> Const a b)
-> Generic (Const a b)
forall x. Rep (Const a b) x -> Const a b
forall x. Const a b -> Rep (Const a b) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall a k (b :: k) x. Rep (Const a b) x -> Const a b
forall a k (b :: k) x. Const a b -> Rep (Const a b) x
$cfrom :: forall a k (b :: k) x. Const a b -> Rep (Const a b) x
from :: forall x. Const a b -> Rep (Const a b) x
$cto :: forall a k (b :: k) x. Rep (Const a b) x -> Const a b
to :: forall x. Rep (Const a b) x -> Const a b
Generic -- ^ @since 4.9.0.0,(forall (a :: k). Const a a -> Rep1 (Const a) a)
-> (forall (a :: k). Rep1 (Const a) a -> Const a a)
-> Generic1 (Const a)
forall (a :: k). Rep1 (Const a) a -> Const a a
forall (a :: k). Const a a -> Rep1 (Const a) a
forall k a (a :: k). Rep1 (Const a) a -> Const a a
forall k a (a :: k). Const a a -> Rep1 (Const a) a
forall k (f :: k -> *).
(forall (a :: k). f a -> Rep1 f a)
-> (forall (a :: k). Rep1 f a -> f a) -> Generic1 f
$cfrom1 :: forall k a (a :: k). Const a a -> Rep1 (Const a) a
from1 :: forall (a :: k). Const a a -> Rep1 (Const a) a
$cto1 :: forall k a (a :: k). Rep1 (Const a) a -> Const a a
to1 :: forall (a :: k). Rep1 (Const a) a -> Const a a
Generic1 -- ^ @since 4.9.0.0,Enum (Const a b)
Real (Const a b)
(Real (Const a b), Enum (Const a b)) =>
(Const a b -> Const a b -> Const a b)
-> (Const a b -> Const a b -> Const a b)
-> (Const a b -> Const a b -> Const a b)
-> (Const a b -> Const a b -> Const a b)
-> (Const a b -> Const a b -> (Const a b, Const a b))
-> (Const a b -> Const a b -> (Const a b, Const a b))
-> (Const a b -> Integer)
-> Integral (Const a b)
Const a b -> Integer
Const a b -> Const a b -> (Const a b, Const a b)
Const a b -> Const a b -> Const a b
forall a.
(Real a, Enum a) =>
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> (a, a))
-> (a -> a -> (a, a))
-> (a -> Integer)
-> Integral a
forall a k (b :: k). Integral a => Enum (Const a b)
forall a k (b :: k). Integral a => Real (Const a b)
forall a k (b :: k). Integral a => Const a b -> Integer
forall a k (b :: k).
Integral a =>
Const a b -> Const a b -> (Const a b, Const a b)
forall a k (b :: k).
Integral a =>
Const a b -> Const a b -> Const a b
$cquot :: forall a k (b :: k).
Integral a =>
Const a b -> Const a b -> Const a b
quot :: Const a b -> Const a b -> Const a b
$crem :: forall a k (b :: k).
Integral a =>
Const a b -> Const a b -> Const a b
rem :: Const a b -> Const a b -> Const a b
$cdiv :: forall a k (b :: k).
Integral a =>
Const a b -> Const a b -> Const a b
div :: Const a b -> Const a b -> Const a b
$cmod :: forall a k (b :: k).
Integral a =>
Const a b -> Const a b -> Const a b
mod :: Const a b -> Const a b -> Const a b
$cquotRem :: forall a k (b :: k).
Integral a =>
Const a b -> Const a b -> (Const a b, Const a b)
quotRem :: Const a b -> Const a b -> (Const a b, Const a b)
$cdivMod :: forall a k (b :: k).
Integral a =>
Const a b -> Const a b -> (Const a b, Const a b)
divMod :: Const a b -> Const a b -> (Const a b, Const a b)
$ctoInteger :: forall a k (b :: k). Integral a => Const a b -> Integer
toInteger :: Const a b -> Integer
Integral -- ^ @since 4.9.0.0,Ord (Const a b)
Ord (Const a b) =>
((Const a b, Const a b) -> [Const a b])
-> ((Const a b, Const a b) -> Const a b -> Int)
-> ((Const a b, Const a b) -> Const a b -> Int)
-> ((Const a b, Const a b) -> Const a b -> Bool)
-> ((Const a b, Const a b) -> Int)
-> ((Const a b, Const a b) -> Int)
-> Ix (Const a b)
(Const a b, Const a b) -> Int
(Const a b, Const a b) -> [Const a b]
(Const a b, Const a b) -> Const a b -> Bool
(Const a b, Const a b) -> Const a b -> Int
forall a.
Ord a =>
((a, a) -> [a])
-> ((a, a) -> a -> Int)
-> ((a, a) -> a -> Int)
-> ((a, a) -> a -> Bool)
-> ((a, a) -> Int)
-> ((a, a) -> Int)
-> Ix a
forall a k (b :: k). Ix a => Ord (Const a b)
forall a k (b :: k). Ix a => (Const a b, Const a b) -> Int
forall a k (b :: k). Ix a => (Const a b, Const a b) -> [Const a b]
forall a k (b :: k).
Ix a =>
(Const a b, Const a b) -> Const a b -> Bool
forall a k (b :: k).
Ix a =>
(Const a b, Const a b) -> Const a b -> Int
$crange :: forall a k (b :: k). Ix a => (Const a b, Const a b) -> [Const a b]
range :: (Const a b, Const a b) -> [Const a b]
$cindex :: forall a k (b :: k).
Ix a =>
(Const a b, Const a b) -> Const a b -> Int
index :: (Const a b, Const a b) -> Const a b -> Int
$cunsafeIndex :: forall a k (b :: k).
Ix a =>
(Const a b, Const a b) -> Const a b -> Int
unsafeIndex :: (Const a b, Const a b) -> Const a b -> Int
$cinRange :: forall a k (b :: k).
Ix a =>
(Const a b, Const a b) -> Const a b -> Bool
inRange :: (Const a b, Const a b) -> Const a b -> Bool
$crangeSize :: forall a k (b :: k). Ix a => (Const a b, Const a b) -> Int
rangeSize :: (Const a b, Const a b) -> Int
$cunsafeRangeSize :: forall a k (b :: k). Ix a => (Const a b, Const a b) -> Int
unsafeRangeSize :: (Const a b, Const a b) -> Int
Ix -- ^ @since 4.9.0.0,NonEmpty (Const a b) -> Const a b
Const a b -> Const a b -> Const a b
(Const a b -> Const a b -> Const a b)
-> (NonEmpty (Const a b) -> Const a b)
-> (forall b. Integral b => b -> Const a b -> Const a b)
-> Semigroup (Const a b)
forall b. Integral b => b -> Const a b -> Const a b
forall a.
(a -> a -> a)
-> (NonEmpty a -> a)
-> (forall b. Integral b => b -> a -> a)
-> Semigroup a
forall a k (b :: k).
Semigroup a =>
NonEmpty (Const a b) -> Const a b
forall a k (b :: k).
Semigroup a =>
Const a b -> Const a b -> Const a b
forall a k (b :: k) b.
(Semigroup a, Integral b) =>
b -> Const a b -> Const a b
$c<> :: forall a k (b :: k).
Semigroup a =>
Const a b -> Const a b -> Const a b
<> :: Const a b -> Const a b -> Const a b
$csconcat :: forall a k (b :: k).
Semigroup a =>
NonEmpty (Const a b) -> Const a b
sconcat :: NonEmpty (Const a b) -> Const a b
$cstimes :: forall a k (b :: k) b.
(Semigroup a, Integral b) =>
b -> Const a b -> Const a b
stimes :: forall b. Integral b => b -> Const a b -> Const a b
Semigroup -- ^ @since 4.9.0.0,Semigroup (Const a b)
Const a b
Semigroup (Const a b) =>
Const a b
-> (Const a b -> Const a b -> Const a b)
-> ([Const a b] -> Const a b)
-> Monoid (Const a b)
[Const a b] -> Const a b
Const a b -> Const a b -> Const a b
forall a.
Semigroup a =>
a -> (a -> a -> a) -> ([a] -> a) -> Monoid a
forall a k (b :: k). Monoid a => Semigroup (Const a b)
forall a k (b :: k). Monoid a => Const a b
forall a k (b :: k). Monoid a => [Const a b] -> Const a b
forall a k (b :: k).
Monoid a =>
Const a b -> Const a b -> Const a b
$cmempty :: forall a k (b :: k). Monoid a => Const a b
mempty :: Const a b
$cmappend :: forall a k (b :: k).
Monoid a =>
Const a b -> Const a b -> Const a b
mappend :: Const a b -> Const a b -> Const a b
$cmconcat :: forall a k (b :: k). Monoid a => [Const a b] -> Const a b
mconcat :: [Const a b] -> Const a b
Monoid -- ^ @since 4.9.0.0,Integer -> Const a b
Const a b -> Const a b
Const a b -> Const a b -> Const a b
(Const a b -> Const a b -> Const a b)
-> (Const a b -> Const a b -> Const a b)
-> (Const a b -> Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Const a b -> Const a b)
-> (Integer -> Const a b)
-> Num (Const a b)
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
forall a k (b :: k). Num a => Integer -> Const a b
forall a k (b :: k). Num a => Const a b -> Const a b
forall a k (b :: k). Num a => Const a b -> Const a b -> Const a b
$c+ :: forall a k (b :: k). Num a => Const a b -> Const a b -> Const a b
+ :: Const a b -> Const a b -> Const a b
$c- :: forall a k (b :: k). Num a => Const a b -> Const a b -> Const a b
- :: Const a b -> Const a b -> Const a b
$c* :: forall a k (b :: k). Num a => Const a b -> Const a b -> Const a b
* :: Const a b -> Const a b -> Const a b
$cnegate :: forall a k (b :: k). Num a => Const a b -> Const a b
negate :: Const a b -> Const a b
$cabs :: forall a k (b :: k). Num a => Const a b -> Const a b
abs :: Const a b -> Const a b
$csignum :: forall a k (b :: k). Num a => Const a b -> Const a b
signum :: Const a b -> Const a b
$cfromInteger :: forall a k (b :: k). Num a => Integer -> Const a b
fromInteger :: Integer -> Const a b
Num -- ^ @since 4.9.0.0,Eq (Const a b)
Eq (Const a b) =>
(Const a b -> Const a b -> Ordering)
-> (Const a b -> Const a b -> Bool)
-> (Const a b -> Const a b -> Bool)
-> (Const a b -> Const a b -> Bool)
-> (Const a b -> Const a b -> Bool)
-> (Const a b -> Const a b -> Const a b)
-> (Const a b -> Const a b -> Const a b)
-> Ord (Const a b)
Const a b -> Const a b -> Bool
Const a b -> Const a b -> Ordering
Const a b -> Const a b -> Const a b
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall a k (b :: k). Ord a => Eq (Const a b)
forall a k (b :: k). Ord a => Const a b -> Const a b -> Bool
forall a k (b :: k). Ord a => Const a b -> Const a b -> Ordering
forall a k (b :: k). Ord a => Const a b -> Const a b -> Const a b
$ccompare :: forall a k (b :: k). Ord a => Const a b -> Const a b -> Ordering
compare :: Const a b -> Const a b -> Ordering
$c< :: forall a k (b :: k). Ord a => Const a b -> Const a b -> Bool
< :: Const a b -> Const a b -> Bool
$c<= :: forall a k (b :: k). Ord a => Const a b -> Const a b -> Bool
<= :: Const a b -> Const a b -> Bool
$c> :: forall a k (b :: k). Ord a => Const a b -> Const a b -> Bool
> :: Const a b -> Const a b -> Bool
$c>= :: forall a k (b :: k). Ord a => Const a b -> Const a b -> Bool
>= :: Const a b -> Const a b -> Bool
$cmax :: forall a k (b :: k). Ord a => Const a b -> Const a b -> Const a b
max :: Const a b -> Const a b -> Const a b
$cmin :: forall a k (b :: k). Ord a => Const a b -> Const a b -> Const a b
min :: Const a b -> Const a b -> Const a b
Ord -- ^ @since 4.9.0.0,Num (Const a b)
Ord (Const a b)
(Num (Const a b), Ord (Const a b)) =>
(Const a b -> Rational) -> Real (Const a b)
Const a b -> Rational
forall a. (Num a, Ord a) => (a -> Rational) -> Real a
forall a k (b :: k). Real a => Num (Const a b)
forall a k (b :: k). Real a => Ord (Const a b)
forall a k (b :: k). Real a => Const a b -> Rational
$ctoRational :: forall a k (b :: k). Real a => Const a b -> Rational
toRational :: Const a b -> Rational
Real -- ^ @since 4.9.0.0,Fractional (Const a b)
Real (Const a b)
(Real (Const a b), Fractional (Const a b)) =>
(forall b. Integral b => Const a b -> (b, Const a b))
-> (forall b. Integral b => Const a b -> b)
-> (forall b. Integral b => Const a b -> b)
-> (forall b. Integral b => Const a b -> b)
-> (forall b. Integral b => Const a b -> b)
-> RealFrac (Const a b)
forall b. Integral b => Const a b -> b
forall b. Integral b => Const a b -> (b, Const a b)
forall a.
(Real a, Fractional a) =>
(forall b. Integral b => a -> (b, a))
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> RealFrac a
forall a k (b :: k). RealFrac a => Fractional (Const a b)
forall a k (b :: k). RealFrac a => Real (Const a b)
forall a k (b :: k) b. (RealFrac a, Integral b) => Const a b -> b
forall a k (b :: k) b.
(RealFrac a, Integral b) =>
Const a b -> (b, Const a b)
$cproperFraction :: forall a k (b :: k) b.
(RealFrac a, Integral b) =>
Const a b -> (b, Const a b)
properFraction :: forall b. Integral b => Const a b -> (b, Const a b)
$ctruncate :: forall a k (b :: k) b. (RealFrac a, Integral b) => Const a b -> b
truncate :: forall b. Integral b => Const a b -> b
$cround :: forall a k (b :: k) b. (RealFrac a, Integral b) => Const a b -> b
round :: forall b. Integral b => Const a b -> b
$cceiling :: forall a k (b :: k) b. (RealFrac a, Integral b) => Const a b -> b
ceiling :: forall b. Integral b => Const a b -> b
$cfloor :: forall a k (b :: k) b. (RealFrac a, Integral b) => Const a b -> b
floor :: forall b. Integral b => Const a b -> b
RealFrac -- ^ @since 4.9.0.0,Floating (Const a b)
RealFrac (Const a b)
(RealFrac (Const a b), Floating (Const a b)) =>
(Const a b -> Integer)
-> (Const a b -> Int)
-> (Const a b -> (Int, Int))
-> (Const a b -> (Integer, Int))
-> (Integer -> Int -> Const a b)
-> (Const a b -> Int)
-> (Const a b -> Const a b)
-> (Int -> Const a b -> Const a b)
-> (Const a b -> Bool)
-> (Const a b -> Bool)
-> (Const a b -> Bool)
-> (Const a b -> Bool)
-> (Const a b -> Bool)
-> (Const a b -> Const a b -> Const a b)
-> RealFloat (Const a b)
Int -> Const a b -> Const a b
Integer -> Int -> Const a b
Const a b -> Bool
Const a b -> Int
Const a b -> Integer
Const a b -> (Int, Int)
Const a b -> (Integer, Int)
Const a b -> Const a b
Const a b -> Const a b -> Const a b
forall a.
(RealFrac a, Floating a) =>
(a -> Integer)
-> (a -> Int)
-> (a -> (Int, Int))
-> (a -> (Integer, Int))
-> (Integer -> Int -> a)
-> (a -> Int)
-> (a -> a)
-> (Int -> a -> a)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> a -> a)
-> RealFloat a
forall a k (b :: k). RealFloat a => Floating (Const a b)
forall a k (b :: k). RealFloat a => RealFrac (Const a b)
forall a k (b :: k). RealFloat a => Int -> Const a b -> Const a b
forall a k (b :: k). RealFloat a => Integer -> Int -> Const a b
forall a k (b :: k). RealFloat a => Const a b -> Bool
forall a k (b :: k). RealFloat a => Const a b -> Int
forall a k (b :: k). RealFloat a => Const a b -> Integer
forall a k (b :: k). RealFloat a => Const a b -> (Int, Int)
forall a k (b :: k). RealFloat a => Const a b -> (Integer, Int)
forall a k (b :: k). RealFloat a => Const a b -> Const a b
forall a k (b :: k).
RealFloat a =>
Const a b -> Const a b -> Const a b
$cfloatRadix :: forall a k (b :: k). RealFloat a => Const a b -> Integer
floatRadix :: Const a b -> Integer
$cfloatDigits :: forall a k (b :: k). RealFloat a => Const a b -> Int
floatDigits :: Const a b -> Int
$cfloatRange :: forall a k (b :: k). RealFloat a => Const a b -> (Int, Int)
floatRange :: Const a b -> (Int, Int)
$cdecodeFloat :: forall a k (b :: k). RealFloat a => Const a b -> (Integer, Int)
decodeFloat :: Const a b -> (Integer, Int)
$cencodeFloat :: forall a k (b :: k). RealFloat a => Integer -> Int -> Const a b
encodeFloat :: Integer -> Int -> Const a b
$cexponent :: forall a k (b :: k). RealFloat a => Const a b -> Int
exponent :: Const a b -> Int
$csignificand :: forall a k (b :: k). RealFloat a => Const a b -> Const a b
significand :: Const a b -> Const a b
$cscaleFloat :: forall a k (b :: k). RealFloat a => Int -> Const a b -> Const a b
scaleFloat :: Int -> Const a b -> Const a b
$cisNaN :: forall a k (b :: k). RealFloat a => Const a b -> Bool
isNaN :: Const a b -> Bool
$cisInfinite :: forall a k (b :: k). RealFloat a => Const a b -> Bool
isInfinite :: Const a b -> Bool
$cisDenormalized :: forall a k (b :: k). RealFloat a => Const a b -> Bool
isDenormalized :: Const a b -> Bool
$cisNegativeZero :: forall a k (b :: k). RealFloat a => Const a b -> Bool
isNegativeZero :: Const a b -> Bool
$cisIEEE :: forall a k (b :: k). RealFloat a => Const a b -> Bool
isIEEE :: Const a b -> Bool
$catan2 :: forall a k (b :: k).
RealFloat a =>
Const a b -> Const a b -> Const a b
atan2 :: Const a b -> Const a b -> Const a b
RealFloat -- ^ @since 4.9.0.0,Ptr (Const a b) -> IO (Const a b)
Ptr (Const a b) -> Int -> IO (Const a b)
Ptr (Const a b) -> Int -> Const a b -> IO ()
Ptr (Const a b) -> Const a b -> IO ()
Const a b -> Int
(Const a b -> Int)
-> (Const a b -> Int)
-> (Ptr (Const a b) -> Int -> IO (Const a b))
-> (Ptr (Const a b) -> Int -> Const a b -> IO ())
-> (forall b. Ptr b -> Int -> IO (Const a b))
-> (forall b. Ptr b -> Int -> Const a b -> IO ())
-> (Ptr (Const a b) -> IO (Const a b))
-> (Ptr (Const a b) -> Const a b -> IO ())
-> Storable (Const a b)
forall b. Ptr b -> Int -> IO (Const a b)
forall b. Ptr b -> Int -> Const a b -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
forall a k (b :: k).
Storable a =>
Ptr (Const a b) -> IO (Const a b)
forall a k (b :: k).
Storable a =>
Ptr (Const a b) -> Int -> IO (Const a b)
forall a k (b :: k).
Storable a =>
Ptr (Const a b) -> Int -> Const a b -> IO ()
forall a k (b :: k).
Storable a =>
Ptr (Const a b) -> Const a b -> IO ()
forall a k (b :: k). Storable a => Const a b -> Int
forall a k (b :: k) b. Storable a => Ptr b -> Int -> IO (Const a b)
forall a k (b :: k) b.
Storable a =>
Ptr b -> Int -> Const a b -> IO ()
$csizeOf :: forall a k (b :: k). Storable a => Const a b -> Int
sizeOf :: Const a b -> Int
$calignment :: forall a k (b :: k). Storable a => Const a b -> Int
alignment :: Const a b -> Int
$cpeekElemOff :: forall a k (b :: k).
Storable a =>
Ptr (Const a b) -> Int -> IO (Const a b)
peekElemOff :: Ptr (Const a b) -> Int -> IO (Const a b)
$cpokeElemOff :: forall a k (b :: k).
Storable a =>
Ptr (Const a b) -> Int -> Const a b -> IO ()
pokeElemOff :: Ptr (Const a b) -> Int -> Const a b -> IO ()
$cpeekByteOff :: forall a k (b :: k) b. Storable a => Ptr b -> Int -> IO (Const a b)
peekByteOff :: forall b. Ptr b -> Int -> IO (Const a b)
$cpokeByteOff :: forall a k (b :: k) b.
Storable a =>
Ptr b -> Int -> Const a b -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> Const a b -> IO ()
$cpeek :: forall a k (b :: k).
Storable a =>
Ptr (Const a b) -> IO (Const a b)
peek :: Ptr (Const a b) -> IO (Const a b)
$cpoke :: forall a k (b :: k).
Storable a =>
Ptr (Const a b) -> Const a b -> IO ()
poke :: Ptr (Const a b) -> Const a b -> IO ()
Storable -- ^ @since 4.9.0.0)-- | This instance would be equivalent to the derived instances of the-- 'Const' newtype if the 'getConst' field were removed---- @since 4.8.0.0instanceRead a =>Read (Const a b )wherereadsPrec :: Int -> ReadS (Const a b)
readsPrec Int
d =Bool -> ReadS (Const a b) -> ReadS (Const a b)
forall a. Bool -> ReadS a -> ReadS a
readParen (Int
d Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
> Int
10)(ReadS (Const a b) -> ReadS (Const a b))
-> ReadS (Const a b) -> ReadS (Const a b)
forall a b. (a -> b) -> a -> b
$ \String
r ->[(a -> Const a b
forall {k} a (b :: k). a -> Const a b
Const a
x ,String
t )|(String
"Const",String
s )<-ReadS String
lex String
r ,(a
x ,String
t )<-Int -> ReadS a
forall a. Read a => Int -> ReadS a
readsPrec Int
11String
s ]-- | This instance would be equivalent to the derived instances of the-- 'Const' newtype if the 'getConst' field were removed---- @since 4.8.0.0instanceShow a =>Show (Const a b )whereshowsPrec :: Int -> Const a b -> ShowS
showsPrec Int
d (Const a
x )=Bool -> ShowS -> ShowS
showParen (Int
d Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
> Int
10)(ShowS -> ShowS) -> ShowS -> ShowS
forall a b. (a -> b) -> a -> b
$ String -> ShowS
showString String
"Const "ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> a -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11a
x -- | @since 4.7.0.0instanceFoldable (Const m )wherefoldMap :: forall m a. Monoid m => (a -> m) -> Const m a -> m
foldMap a -> m
_Const m a
_=m
forall a. Monoid a => a
mempty -- | @since 2.01instanceFunctor (Const m )wherefmap :: forall a b. (a -> b) -> Const m a -> Const m b
fmap a -> b
_(Const m
v )=m -> Const m b
forall {k} a (b :: k). a -> Const a b
Const m
v -- | @since 2.0.1instanceMonoid m =>Applicative (Const m )wherepure :: forall a. a -> Const m a
pure a
_=m -> Const m a
forall {k} a (b :: k). a -> Const a b
Const m
forall a. Monoid a => a
mempty liftA2 :: forall a b c. (a -> b -> c) -> Const m a -> Const m b -> Const m c
liftA2 a -> b -> c
_(Const m
x )(Const m
y )=m -> Const m c
forall {k} a (b :: k). a -> Const a b
Const (m
x m -> m -> m
forall a. Monoid a => a -> a -> a
`mappend` m
y )<*> :: forall a b. Const m (a -> b) -> Const m a -> Const m b
(<*>) =(m -> m -> m) -> Const m (a -> b) -> Const m a -> Const m b
forall a b. Coercible a b => a -> b
coerce (m -> m -> m
forall a. Monoid a => a -> a -> a
mappend ::m ->m ->m )-- This is pretty much the same as-- Const f <*> Const v = Const (f `mappend` v)-- but guarantees that mappend for Const a b will have the same arity-- as the one for a; it won't create a closure to raise the arity-- to 2.

AltStyle によって変換されたページ (->オリジナル) /