hask-0: Categories

Copyright(c) Edward Kmett 2014
LicenseBSD3
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Hask.Power

Description

 

Documentation

type (⋔) = Power infixr 0 Source

class (Category ((~>) :: i -> i -> *), hom ~ Hom) => Powered hom where Source

Associated Types

type Power :: i -> j -> j Source

Methods

flipped :: forall a u b a' u' b'. Iso (hom a (Power u b)) (hom a' (Power u' b')) (u `Hom` hom a b) (u' `Hom` hom a' b') Source

Instances

Powered * * (->) 
Powered Constraint Constraint (|-) 
Powered (i -> *) * (Nat * i) 
Powered (k -> *) (k -> *) (Lift1 * * k (->)) 
Powered (k -> k -> *) (k -> k -> *) (Lift2 (k -> *) (k -> *) k k (Lift1 * * k (->))) 

flip :: Powered hom => hom a (Power u b) ~> Hom u (hom a b) Source

unflip :: Powered hom => Hom u (hom a b) ~> hom a (Power u b) Source

newtype Power1 v f a Source

Constructors

Power 

Fields

runPower :: v -> f a
 

Instances

Monoidal k * f => Monoidal k * (Power1 k v f) 
Semimonoidal * k f => Semimonoidal * k (Power1 k v f) 
Functor k * f => Functor k * (Power1 k v f) 
Corepresentable * (k -> *) (k -> *) (Power1 k) 
(Monoidal k * f, Monoid k m) => Monoid * (Power1 k v f m) 
(Semimonoidal * k f, Semigroup k m) => Semigroup * (Power1 k v f m) 
Contravariant ((k -> *) -> k -> *) * (Power1 k) 
Monoidal (k -> *) (k -> *) (Power1 k v) 
Semimonoidal (k -> *) (k -> *) (Power1 k v) 
Functor (k -> *) (k -> *) (Power1 k v) 
Monoid (k -> *) m => Monoid (k -> *) (Power1 k v m) 
Semigroup (k -> *) m => Semigroup (k -> *) (Power1 k v m) 
type Corep * (k -> *) (k -> *) (Power1 k) = Rel * (k -> *)