zwirn-core-0.1.1.0: library for manipulating functions of time.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Zwirn.Core.Core

Synopsis

Documentation

now :: Applicative k => ZwirnT k st i Time Source #

indicates the current time

cyc :: Applicative k => ZwirnT k st i Int Source #

indicates the current cycle

withInner :: (k (Value i a, st) -> k (Value i b, st)) -> ZwirnT k st i a -> ZwirnT k st i b Source #

withInnerAndTime :: (Time -> k (Value i a, st) -> k (Value i b, st)) -> ZwirnT k st i a -> ZwirnT k st i b Source #

withInnerTimeState :: (Time -> st -> k (Value i a, st) -> k (Value i b, st)) -> ZwirnT k st i a -> ZwirnT k st i b Source #

withInner2 :: (k (Value i a, st) -> k (Value i b, st) -> k (Value i c, st)) -> ZwirnT k st i a -> ZwirnT k st i b -> ZwirnT k st i c Source #

withValueState :: Functor k => ((Value i a, st) -> (Value i b, st)) -> ZwirnT k st i a -> ZwirnT k st i b Source #

withValue :: Functor k => (Value i a -> Value i b) -> ZwirnT k st i a -> ZwirnT k st i b Source #

withA :: Functor k => (a -> a) -> ZwirnT k st i a -> ZwirnT k st i a Source #

withTime :: Functor k => (Time -> Time) -> ZwirnT k st i a -> ZwirnT k st i a Source #

withInfo :: Functor k => (i -> i) -> ZwirnT k st i a -> ZwirnT k st i a Source #

withInfos :: Functor k => ([i] -> [i]) -> ZwirnT k st i a -> ZwirnT k st i a Source #

addInfo :: Functor k => i -> ZwirnT k st i a -> ZwirnT k st i a Source #

removeInfo :: Functor k => ZwirnT k st i a -> ZwirnT k st i a Source #

withState :: Functor k => (st -> st) -> ZwirnT k st i a -> ZwirnT k st i a Source #

getInner :: Functor k => ZwirnT k st i a -> ZwirnT k st i Time Source #

outerApply :: MultiMonad m => m (m a -> m b) -> m a -> m b Source #

innerApply :: Monad m => m (m a -> m b) -> m a -> m b Source #

squeezeApply :: MultiMonad m => m (m a -> m b) -> m a -> m b Source #

zipApply :: MultiMonad k => ZwirnT k st i (ZwirnT k st i a -> ZwirnT k st i b) -> ZwirnT k st i a -> ZwirnT k st i b Source #

squeezeMap :: MultiMonad m => (m a -> m b) -> m a -> m b Source #

mapZ :: MultiMonad m => m (m a -> m b) -> m a -> m b Source #

(<$$>) :: Monad m => m (m a -> m b) -> m a -> m b infixl 4 Source #

enumerateFromByTo :: (Ord a, Num a) => a -> a -> a -> [a] Source #

enumerateFromThenTo :: (Ord a, Num a) => a -> a -> a -> [a] Source #

enumerateFromTo :: (Ord a, Num a) => a -> a -> [a] Source #

Orphan instances

Applicative k => Applicative (ZwirnT k st i) Source # 
Instance details

Methods

pure :: a -> ZwirnT k st i a #

(<*>) :: ZwirnT k st i (a -> b) -> ZwirnT k st i a -> ZwirnT k st i b #

liftA2 :: (a -> b -> c) -> ZwirnT k st i a -> ZwirnT k st i b -> ZwirnT k st i c #

(*>) :: ZwirnT k st i a -> ZwirnT k st i b -> ZwirnT k st i b #

(<*) :: ZwirnT k st i a -> ZwirnT k st i b -> ZwirnT k st i a #

Functor k => Functor (ZwirnT k st i) Source # 
Instance details

Methods

fmap :: (a -> b) -> ZwirnT k st i a -> ZwirnT k st i b #

(<$) :: a -> ZwirnT k st i b -> ZwirnT k st i a #

Monad k => Monad (ZwirnT k st i) Source # 
Instance details

Methods

(>>=) :: ZwirnT k st i a -> (a -> ZwirnT k st i b) -> ZwirnT k st i b #

(>>) :: ZwirnT k st i a -> ZwirnT k st i b -> ZwirnT k st i b #

return :: a -> ZwirnT k st i a #

MultiApplicative k => MultiApplicative (ZwirnT k st i) Source # 
Instance details

Methods

liftA2Left :: (a -> b -> c) -> ZwirnT k st i a -> ZwirnT k st i b -> ZwirnT k st i c Source #

liftA2Right :: (a -> b -> c) -> ZwirnT k st i a -> ZwirnT k st i b -> ZwirnT k st i c Source #

liftA2Both :: (a -> b -> c) -> ZwirnT k st i a -> ZwirnT k st i b -> ZwirnT k st i c Source #

(*>) :: ZwirnT k st i (a -> b) -> ZwirnT k st i a -> ZwirnT k st i b Source #

(<*) :: ZwirnT k st i (a -> b) -> ZwirnT k st i a -> ZwirnT k st i b Source #

MultiMonad k => MultiMonad (ZwirnT k st i) Source # 
Instance details

Methods

innerJoin :: ZwirnT k st i (ZwirnT k st i a) -> ZwirnT k st i a Source #

outerJoin :: ZwirnT k st i (ZwirnT k st i a) -> ZwirnT k st i a Source #

squeezeJoin :: ZwirnT k st i (ZwirnT k st i a) -> ZwirnT k st i a Source #

(Monoid a, Applicative k) => Monoid (ZwirnT k st i a) Source # 
Instance details

Methods

mempty :: ZwirnT k st i a #

mappend :: ZwirnT k st i a -> ZwirnT k st i a -> ZwirnT k st i a #

mconcat :: [ZwirnT k st i a] -> ZwirnT k st i a #

(Semigroup a, Applicative k) => Semigroup (ZwirnT k st i a) Source #

just lifts, only operates on the values

Instance details

Methods

(<>) :: ZwirnT k st i a -> ZwirnT k st i a -> ZwirnT k st i a #

sconcat :: NonEmpty (ZwirnT k st i a) -> ZwirnT k st i a #

stimes :: Integral b => b -> ZwirnT k st i a -> ZwirnT k st i a #