Data.Kind

base-4.16.0.0: Basic libraries

License | BSD-style (see the LICENSE file in the distribution)
Maintainer | libraries@haskell.org
Stability | experimental
Portability | not portable
Safe Haskell | Trustworthy
Language | Haskell2010

Data.Kind

Description

Basic kinds

Since: base-4.9.0.0

Synopsis

- type Type = TYPE LiftedRep
- data Constraint
- data FUN

# Documentation

type Type = TYPE LiftedRep Source #

The kind of types with lifted values. For example `Int :: Type`.

data Constraint Source #

The kind of constraints, like `Show a`

data FUN Source #

The builtin function type, written in infix form as `a # m -> b`. Values of this type are functions taking inputs of type `a` and producing outputs of type `b`. The multiplicity of the input is `m`.

Note that `FUN m a b` permits levity-polymorphism in both `a` and `b`, so that types like `Int# -> Int#` can still be well-kinded.

#### Instances

Instances details

Category (->) Source # | Since: base-3.0
Instance details Defined in Control.Category Methods id :: forall (a :: k). a -> a Source # (.) :: forall (b :: k) (c :: k) (a :: k). (b -> c) -> (a -> b) -> a -> c Source #
Arrow (->) Source # | Since: base-2.1
Instance details Defined in Control.Arrow Methods arr :: (b -> c) -> b -> c Source # first :: (b -> c) -> (b, d) -> (c, d) Source # second :: (b -> c) -> (d, b) -> (d, c) Source # (***) :: (b -> c) -> (b' -> c') -> (b, b') -> (c, c') Source # (&&&) :: (b -> c) -> (b -> c') -> b -> (c, c') Source #
ArrowApply (->) Source # | Since: base-2.1
Instance details Defined in Control.Arrow Methods app :: (b -> c, b) -> c Source #
ArrowChoice (->) Source # | Since: base-2.1
Instance details Defined in Control.Arrow Methods left :: (b -> c) -> Either b d -> Either c d Source # right :: (b -> c) -> Either d b -> Either d c Source # (+++) :: (b -> c) -> (b' -> c') -> Either b b' -> Either c c' Source # (|||) :: (b -> d) -> (c -> d) -> Either b c -> d Source #
ArrowLoop (->) Source # | Since: base-2.1
Instance details Defined in Control.Arrow Methods loop :: ((b, d) -> (c, d)) -> b -> c Source #
Monoid b => Monoid (a -> b) Source # | Since: base-2.1
Instance details Defined in GHC.Base Methods mempty :: a -> b Source # mappend :: (a -> b) -> (a -> b) -> a -> b Source # mconcat :: [a -> b] -> a -> b Source #
Semigroup b => Semigroup (a -> b) Source # | Since: base-4.9.0.0
Instance details Defined in GHC.Base Methods (<>) :: (a -> b) -> (a -> b) -> a -> b Source # sconcat :: NonEmpty (a -> b) -> a -> b Source # stimes :: Integral b0 => b0 -> (a -> b) -> a -> b Source #
Show (a -> b) Source # | Since: base-2.1
Instance details Defined in Text.Show.Functions Methods showsPrec :: Int -> (a -> b) -> ShowS Source # show :: (a -> b) -> String Source # showList :: [a -> b] -> ShowS Source #
(PrintfArg a, HPrintfType r) => HPrintfType (a -> r) Source # | Since: base-2.1
Instance details Defined in Text.Printf Methods hspr :: Handle -> String -> [UPrintf] -> a -> r
(PrintfArg a, PrintfType r) => PrintfType (a -> r) Source # | Since: base-2.1
Instance details Defined in Text.Printf Methods spr :: String -> [UPrintf] -> a -> r
MonadFix ((->) r) Source # | Since: base-2.1
Instance details Defined in Control.Monad.Fix Methods mfix :: (a -> r -> a) -> r -> a Source #
Applicative ((->) r) Source # | Since: base-2.1
Instance details Defined in GHC.Base Methods pure :: a -> r -> a Source # (<*>) :: (r -> (a -> b)) -> (r -> a) -> r -> b Source # liftA2 :: (a -> b -> c) -> (r -> a) -> (r -> b) -> r -> c Source # (*>) :: (r -> a) -> (r -> b) -> r -> b Source # (<*) :: (r -> a) -> (r -> b) -> r -> a Source #
Functor ((->) r) Source # | Since: base-2.1
Instance details Defined in GHC.Base Methods fmap :: (a -> b) -> (r -> a) -> r -> b Source # (<$) :: a -> (r -> b) -> r -> a Source #
Monad ((->) r) Source # | Since: base-2.1
Instance details Defined in GHC.Base Methods (>>=) :: (r -> a) -> (a -> r -> b) -> r -> b Source # (>>) :: (r -> a) -> (r -> b) -> r -> b Source # return :: a -> r -> a Source #