pire-0.2.5

Safe HaskellNone
LanguageHaskell2010

SUnify

Description

aka "size unify"

Documentation

eqOp :: Eq t => Size t -> Size t -> Bool Source #

eq :: Eq a => Size a -> Size a -> Bool Source #

kth :: Size t -> Int -> Size t Source #

disagreementPair :: (Eq t, Show t) => Size t -> Size t -> (Size t, Size t) Source #

normZ :: Size a -> Size a Source #

assoc :: Size a -> Size a Source #

norm :: Size a -> Size a Source #

assoc2 :: Size a1 -> Size a2 -> (Size a1, Size a2) Source #

unify :: (MonadError (SizeError t1) m, Pretty (Size t1), Show t1, Ord t1) => SSubst t1 -> Size t1 -> Size t1 -> t2 -> m (SSubst t1) Source #

unify' :: (MonadError (SizeError t1) m, Pretty (Size t1), Show t1, Ord t1) => SSubst t1 -> Size t1 -> Size t1 -> t2 -> m (SSubst t1) Source #

v :: (Ord t1, Show t1, Pretty (Size t1), MonadError (SizeError t1) m) => Size t1 -> Size t1 -> t2 -> m (SSubst t1) Source #

sfix :: Size a -> Size a Source #

disagreementPair_ :: Eq t => Size t -> Size t -> (Size t, Size t) Source #

unify_ :: (Ord t, MonadError (SizeError t) m) => SSubst t -> Size t -> Size t -> m (SSubst t) Source #

unify_' :: (Ord t, MonadError (SizeError t) m) => SSubst t -> Size t -> Size t -> m (SSubst t) Source #

v_ :: (MonadError (SizeError t) m, Ord t) => Size t -> Size t -> m (SSubst t) Source #