lazy-hash-0.1.0.0: Identifiers for not-yet-computed values

Copyright(c) Justus Sagemüller 2017
LicenseGPL v3
Maintainer(@) jsagemue $ uni-koeln.de
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Data.LazyHash.Category

Contents

Description

 

Documentation

lhf :: h -> (a -> b) -> LazilyHashableFunction h a b Source #

Orphan instances

Hash h => Morphism (LazilyHashableFunction h) Source # 
Hash h => PreArrow (LazilyHashableFunction h) Source # 
Hash h => WellPointed (LazilyHashableFunction h) Source # 
Hash h => Category (LazilyHashableFunction h) Source # 
Hash h => Cartesian (LazilyHashableFunction h) Source # 
Hash h => CoCartesian (LazilyHashableFunction h) Source # 

Associated Types

type SumObjects (LazilyHashableFunction h :: * -> * -> *) a b :: Constraint #

type ZeroObject (LazilyHashableFunction h :: * -> * -> *) :: * #

Methods

coSwap :: (ObjectSum (LazilyHashableFunction h) a b, ObjectSum (LazilyHashableFunction h) b a) => LazilyHashableFunction h (a + b) (b + a) #

attachZero :: (Object (LazilyHashableFunction h) a, (* ~ z) (ZeroObject (LazilyHashableFunction h)), ObjectSum (LazilyHashableFunction h) a z) => LazilyHashableFunction h a (a + z) #

detachZero :: (Object (LazilyHashableFunction h) a, (* ~ z) (ZeroObject (LazilyHashableFunction h)), ObjectSum (LazilyHashableFunction h) a z) => LazilyHashableFunction h (a + z) a #

coRegroup :: (Object (LazilyHashableFunction h) a, Object (LazilyHashableFunction h) c, ObjectSum (LazilyHashableFunction h) a b, ObjectSum (LazilyHashableFunction h) b c, ObjectSum (LazilyHashableFunction h) a (b + c), ObjectSum (LazilyHashableFunction h) (a + b) c) => LazilyHashableFunction h (a + (b + c)) ((a + b) + c) #

coRegroup' :: (Object (LazilyHashableFunction h) a, Object (LazilyHashableFunction h) c, ObjectSum (LazilyHashableFunction h) a b, ObjectSum (LazilyHashableFunction h) b c, ObjectSum (LazilyHashableFunction h) a (b + c), ObjectSum (LazilyHashableFunction h) (a + b) c) => LazilyHashableFunction h ((a + b) + c) (a + (b + c)) #

maybeAsSum :: (ObjectSum (LazilyHashableFunction h) u a, (* ~ u) (UnitObject (LazilyHashableFunction h)), Object (LazilyHashableFunction h) (Maybe a)) => LazilyHashableFunction h (Maybe a) (u + a) #

maybeFromSum :: (ObjectSum (LazilyHashableFunction h) u a, (* ~ u) (UnitObject (LazilyHashableFunction h)), Object (LazilyHashableFunction h) (Maybe a)) => LazilyHashableFunction h (u + a) (Maybe a) #

boolAsSum :: (ObjectSum (LazilyHashableFunction h) u u, (* ~ u) (UnitObject (LazilyHashableFunction h)), Object (LazilyHashableFunction h) Bool) => LazilyHashableFunction h Bool (u + u) #

boolFromSum :: (ObjectSum (LazilyHashableFunction h) u u, (* ~ u) (UnitObject (LazilyHashableFunction h)), Object (LazilyHashableFunction h) Bool) => LazilyHashableFunction h (u + u) Bool #

Hash h => Curry (LazilyHashableFunction h) Source # 
Hash h => Monad (Prehashed h) (LazilyHashableFunction h) Source # 
Hash h => Monoidal (Prehashed h) (LazilyHashableFunction h) (LazilyHashableFunction h) Source # 
Hash h => Applicative (Prehashed h) (LazilyHashableFunction h) (LazilyHashableFunction h) Source # 
Hash h => Functor (Prehashed h) (LazilyHashableFunction h) (LazilyHashableFunction h) Source # 
Hash h => EnhancedCat ((->) LiftedRep LiftedRep) (LazilyHashableFunction h) Source # 

Methods

arr :: (Object (LazilyHashableFunction h) b, Object (LazilyHashableFunction h) c, Object (LiftedRep -> LiftedRep) b, Object (LiftedRep -> LiftedRep) c) => LazilyHashableFunction h b c -> (LiftedRep -> LiftedRep) b c #