liquid-prelude-0.8.10.2: General utility modules for LiquidHaskell
Safe HaskellNone
LanguageHaskell2010

Language.Haskell.Liquid.RTick

Synopsis

Documentation

data Tick a Source #

Tick datatype for recording resource usage:

Constructors

Tick 

Fields

Instances

Instances details
Monad Tick Source # 
Instance details

Defined in Language.Haskell.Liquid.RTick

Methods

(>>=) :: Tick a -> (a -> Tick b) -> Tick b #

(>>) :: Tick a -> Tick b -> Tick b #

return :: a -> Tick a #

Functor Tick Source #

Primitive resource operators:

Instance details

Defined in Language.Haskell.Liquid.RTick

Methods

fmap :: (a -> b) -> Tick a -> Tick b #

(<$) :: a -> Tick b -> Tick a #

Applicative Tick Source # 
Instance details

Defined in Language.Haskell.Liquid.RTick

Methods

pure :: a -> Tick a #

(<*>) :: Tick (a -> b) -> Tick a -> Tick b #

liftA2 :: (a -> b -> c) -> Tick a -> Tick b -> Tick c #

(*>) :: Tick a -> Tick b -> Tick b #

(<*) :: Tick a -> Tick b -> Tick a #

fmap :: (a -> b) -> Tick a -> Tick b Source #

pure :: a -> Tick a Source #

(<*>) :: Tick (a -> b) -> Tick a -> Tick b infixl 4 Source #

liftA2 :: (a -> b -> c) -> Tick a -> Tick b -> Tick c Source #

return :: a -> Tick a Source #

(>>=) :: Tick a -> (a -> Tick b) -> Tick b infixl 4 Source #

(=<<) :: (a -> Tick b) -> Tick a -> Tick b infixl 4 Source #

eqBind :: Int -> Tick a -> (a -> Tick b) -> Tick b Source #

leqBind :: Int -> Tick a -> (a -> Tick b) -> Tick b Source #

geqBind :: Int -> Tick a -> (a -> Tick b) -> Tick b Source #

ap :: Tick (a -> b) -> Tick a -> Tick b Source #

liftM :: (a -> b) -> Tick a -> Tick b Source #

liftM2 :: (a -> b -> c) -> Tick a -> Tick b -> Tick c Source #

step :: Int -> Tick a -> Tick a Source #

Resource modifiers:

wait :: a -> Tick a Source #

waitN :: Int -> a -> Tick a Source #

go :: a -> Tick a Source #

goN :: Int -> a -> Tick a Source #

wmap :: (a -> b) -> Tick a -> Tick b Source #

wmapN :: Int -> (a -> b) -> Tick a -> Tick b Source #

gmap :: (a -> b) -> Tick a -> Tick b Source #

gmapN :: Int -> (a -> b) -> Tick a -> Tick b Source #

(</>) :: Tick (a -> b) -> Tick a -> Tick b infixl 4 Source #

(<//>) :: Tick (a -> b) -> Tick a -> Tick b infixl 4 Source #

(<\>) :: Tick (a -> b) -> Tick a -> Tick b infixl 4 Source #

(<\\>) :: Tick (a -> b) -> Tick a -> Tick b infixl 4 Source #

(>/=) :: Tick a -> (a -> Tick b) -> Tick b infixl 4 Source #

(=/<) :: (a -> Tick b) -> Tick a -> Tick b infixl 4 Source #

(>//=) :: Tick a -> (a -> Tick b) -> Tick b infixl 4 Source #

(=//<) :: (a -> Tick b) -> Tick a -> Tick b infixl 4 Source #

(>\=) :: Tick a -> (a -> Tick b) -> Tick b infixl 4 Source #

(=\<) :: (a -> Tick b) -> Tick a -> Tick b infixl 4 Source #

(>\\=) :: Tick a -> (a -> Tick b) -> Tick b infixl 4 Source #

(=\\<) :: (a -> Tick b) -> Tick a -> Tick b infixl 4 Source #

pay :: Int -> Tick a -> Tick (Tick a) Source #

Memoisation:

zipWithM :: (a -> b -> Tick c) -> Tick a -> Tick b -> Tick c Source #