liquidhaskell-0.8.10.2: Liquid Types for Haskell
Safe HaskellNone
LanguageHaskell98

Language.Haskell.Liquid.Types.Fresh

Documentation

class (Applicative m, Monad m) => Freshable m a where Source #

Minimal complete definition

fresh

Methods

fresh :: m a Source #

true :: a -> m a Source #

refresh :: a -> m a Source #

Instances

Instances details
Freshable m Integer => Freshable m RReft Source # 
Instance details

Defined in Language.Haskell.Liquid.Types.Fresh

(Freshable m Integer, Monad m, Applicative m) => Freshable m Reft Source # 
Instance details

Defined in Language.Haskell.Liquid.Types.Fresh

Methods

fresh :: m Reft Source #

true :: Reft -> m Reft Source #

refresh :: Reft -> m Reft Source #

(Freshable m Integer, Monad m, Applicative m) => Freshable m Expr Source # 
Instance details

Defined in Language.Haskell.Liquid.Types.Fresh

Methods

fresh :: m Expr Source #

true :: Expr -> m Expr Source #

refresh :: Expr -> m Expr Source #

(Freshable m Integer, Monad m, Applicative m) => Freshable m Symbol Source # 
Instance details

Defined in Language.Haskell.Liquid.Types.Fresh

Freshable CG Integer Source #

This is all hardwiring stuff to CG ----------------------------------------

Instance details

Defined in Language.Haskell.Liquid.Constraint.Fresh

(Freshable m Integer, Freshable m r, Reftable r) => Freshable m (RRType r) Source # 
Instance details

Defined in Language.Haskell.Liquid.Types.Fresh

Methods

fresh :: m (RRType r) Source #

true :: RRType r -> m (RRType r) Source #

refresh :: RRType r -> m (RRType r) Source #

(Freshable m Integer, Monad m, Applicative m) => Freshable m [Expr] Source # 
Instance details

Defined in Language.Haskell.Liquid.Types.Fresh

Methods

fresh :: m [Expr] Source #

true :: [Expr] -> m [Expr] Source #

refresh :: [Expr] -> m [Expr] Source #

refreshTy :: FreshM m => SpecType -> m SpecType Source #

refreshVV :: FreshM m => SpecType -> m SpecType Source #

refreshArgs :: FreshM m => SpecType -> m SpecType Source #

refreshHoles :: (Symbolic t, Reftable r, TyConable c, Freshable f r) => [(t, RType c tv r)] -> f ([Symbol], [(t, RType c tv r)]) Source #

refreshArgsSub :: FreshM m => SpecType -> m (SpecType, Subst) Source #