| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Type.Hint
Description
This module provides Proxy values for various types from the base
library and functions to use these values as hints for type inference.
Synopsis
- hintType :: α -> p α -> α
- hintType1 :: f α -> p f -> f α
- hintTypeArg :: f α -> p α -> f α
- hintType2 :: f α β -> p f -> f α β
- hintType2Arg1 :: f α β -> p α -> f α β
- hintType2Arg2 :: f α β -> p β -> f α β
- hintType3 :: f α β γ -> p f -> f α β γ
- hintType3Arg1 :: f α β γ -> p α -> f α β γ
- hintType3Arg2 :: f α β γ -> p β -> f α β γ
- hintType3Arg3 :: f α β γ -> p γ -> f α β γ
- data Proxy (t :: k) = Proxy
- aUnit :: Proxy ()
- aChar :: Proxy Char
- anInteger :: Proxy Integer
- anInt :: Proxy Int
- anInt8 :: Proxy Int8
- anInt16 :: Proxy Int16
- anInt32 :: Proxy Int32
- anInt64 :: Proxy Int64
- aWord :: Proxy Word
- aWord8 :: Proxy Word8
- aWord16 :: Proxy Word16
- aWord32 :: Proxy Word32
- aWord64 :: Proxy Word64
- aRatio :: Proxy Ratio
- aRatioOf :: Proxy α -> Proxy (Ratio α)
- aRational :: Proxy Rational
- aFixed :: Proxy Fixed
- aFixedOf :: Proxy α -> Proxy (Fixed α)
- aUni :: Proxy Uni
- aDeci :: Proxy Deci
- aCenti :: Proxy Centi
- aMilli :: Proxy Milli
- aMicro :: Proxy Micro
- aNano :: Proxy Nano
- aPico :: Proxy Pico
- aFloat :: Proxy Float
- aDouble :: Proxy Double
- aMaybe :: Proxy Maybe
- aMaybeOf :: Proxy α -> Proxy (Maybe α)
- aPair :: Proxy (,)
- aPairOf :: Proxy α -> Proxy β -> Proxy (α, β)
- aTriple :: Proxy (,,)
- aTripleOf :: Proxy α -> Proxy β -> Proxy γ -> Proxy (α, β, γ)
- anEither :: Proxy Either
- anEitherOf :: Proxy α -> Proxy β -> Proxy (Either α β)
- aList :: Proxy []
- aListOf :: Proxy α -> Proxy [α]
- anIo :: Proxy IO
- anIoOf :: Proxy α -> Proxy (IO α)
- anIoRef :: Proxy IORef
- anIoRefOf :: Proxy α -> Proxy (IORef α)
- anSt :: Proxy ST
- anStOf :: Proxy α -> Proxy (ST α)
- anStRef :: Proxy STRef
- anStRefOf :: Proxy α -> Proxy (STRef α)
Hinting functions
hintTypeArg :: f α -> p α -> f α infixl 1 Source #
Hint the type system about the type argument.
hintType2 :: f α β -> p f -> f α β infixl 1 Source #
Hint the type system about the two-argument type constructor.
hintType2Arg1 :: f α β -> p α -> f α β infixl 1 Source #
Hint the type system about the first type argument.
hintType2Arg2 :: f α β -> p β -> f α β infixl 1 Source #
Hint the type system about the second type argument.
hintType3 :: f α β γ -> p f -> f α β γ infixl 1 Source #
Hint the type system about the three-argument type constructor.
hintType3Arg1 :: f α β γ -> p α -> f α β γ infixl 1 Source #
Hint the type system about the first type argument.
hintType3Arg2 :: f α β γ -> p β -> f α β γ infixl 1 Source #
Hint the type system about the second type argument.
hintType3Arg3 :: f α β γ -> p γ -> f α β γ infixl 1 Source #
Hint the type system about the third type argument.
Standard types proxies
Constructors
| Proxy |
Instances
| Monad (Proxy :: Type -> Type) | |
| Functor (Proxy :: Type -> Type) | |
| Applicative (Proxy :: Type -> Type) | |
| Foldable (Proxy :: Type -> Type) | |
Defined in Data.Foldable Methods fold :: Monoid m => Proxy m -> m foldMap :: Monoid m => (a -> m) -> Proxy a -> m foldMap' :: Monoid m => (a -> m) -> Proxy a -> m foldr :: (a -> b -> b) -> b -> Proxy a -> b foldr' :: (a -> b -> b) -> b -> Proxy a -> b foldl :: (b -> a -> b) -> b -> Proxy a -> b foldl' :: (b -> a -> b) -> b -> Proxy a -> b foldr1 :: (a -> a -> a) -> Proxy a -> a foldl1 :: (a -> a -> a) -> Proxy a -> a elem :: Eq a => a -> Proxy a -> Bool maximum :: Ord a => Proxy a -> a | |
| Traversable (Proxy :: Type -> Type) | |
| Alternative (Proxy :: Type -> Type) | |
| MonadPlus (Proxy :: Type -> Type) | |
| Bounded (Proxy t) | |
Defined in Data.Proxy | |
| Enum (Proxy s) | |
Defined in Data.Proxy | |
| Eq (Proxy s) | |
| Ord (Proxy s) | |
| Read (Proxy t) | |
Defined in Data.Proxy | |
| Show (Proxy s) | |
| Ix (Proxy s) | |
| Semigroup (Proxy s) | |
| Monoid (Proxy s) | |