hask-0: Categories

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

Hask.Constrained

Description

 

Synopsis

Documentation

newtype p |= q infixr 9 Source

(|=) :: Constraint -> * -> *

This is a corepresentable profunctor

Constructors

Constrained 

Fields

runConstrained :: p => q
 

Instances

Corepresentable Constraint * * (|=) 
Monoidal * * ((|=) e) 
Semimonoidal * * ((|=) e) 
Functor * * ((|=) e) 
(-|) * * (EnvC e) ((|=) e) 
Monoid Constraint e => Comonad * ((|=) e) 
Cosemimonad * ((|=) e) 
Semimonad * ((|=) e) 
Monoid * p => Monoid * ((|=) e p) 
Semigroup * p => Semigroup * ((|=) e p) 
Contravariant (* -> *) Constraint (|=) 
type Corep Constraint * * (|=) = Dict 

data EnvC p q Source

We could flip this around to permit a Curried instance, but then we lose a lot of structure.

Constructors

EnvC (Dict p) q 

Instances

Comonoidal * * (EnvC p) 
Cosemimonoidal * * (EnvC p) 
Monoid Constraint p => Monoidal * * (EnvC p) 
Semimonoidal * * (EnvC p) 
Functor * * (EnvC p) 
(-|) * * (EnvC e) ((|=) e) 
Comonad * (EnvC p) 
Cosemimonad * (EnvC p) 
Semimonad * (EnvC p) 
Functor Constraint (* -> *) EnvC