graphted-0.2.5.1: Graph indexed monads.

Copyright(c) Aaron Friel
LicenseBSD-3
MaintainerAaron Friel <mayreply@aaronfriel.com>
Stabilityunstable
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Control.Graphted.Class

Description

 

Synopsis

Documentation

class Graphted f Source #

Base class that all Graph-indexed types may implement.

Associated Types

type Unit f :: p Source #

The unit of our kind p.

type Inv f (i :: p) (j :: p) :: Constraint Source #

An invariant on combining indexes.

type Combine f (i :: p) (j :: p) :: p Source #

An elementary composition of indexes.

N.B.: This may be nonsensical if and only if type classes override the default definitions of their own type families.

This exists for convenience.

Instances

Graphted * (GWrapped m) Source # 

Associated Types

type Unit (GWrapped m) (f :: GWrapped m -> * -> *) :: p Source #

type Inv (GWrapped m) (f :: GWrapped m -> * -> *) (i :: GWrapped m) (j :: GWrapped m) :: Constraint Source #

type Combine (GWrapped m) (f :: GWrapped m -> * -> *) (i :: GWrapped m) (j :: GWrapped m) :: p Source #

Graphted (*, *) (WrappedIx m) Source # 

Associated Types

type Unit (WrappedIx m) (f :: WrappedIx m -> * -> *) :: p Source #

type Inv (WrappedIx m) (f :: WrappedIx m -> * -> *) (i :: WrappedIx m) (j :: WrappedIx m) :: Constraint Source #

type Combine (WrappedIx m) (f :: WrappedIx m -> * -> *) (i :: WrappedIx m) (j :: WrappedIx m) :: p Source #

data Constraint :: * #

The kind of constraints, like Show a