Safe Haskell | Safe-Inferred |
---|
Synopsis
- data LEvent a
- format_log :: Log.Msg -> Doc
- event :: LEvent a -> Maybe a
- is_event :: LEvent a -> Bool
- is_log :: LEvent a -> Bool
- log_or :: (d -> Bool) -> LEvent d -> Bool
- event_or :: (Log.Msg -> Bool) -> LEvent d -> Bool
- drop_while :: (a -> Bool) -> [LEvent a] -> [LEvent a]
- take_while :: (a -> Bool) -> [LEvent a] -> [LEvent a]
- either :: (d -> a) -> (Log.Msg -> a) -> LEvent d -> a
- map_log :: (Log.Msg -> Log.Msg) -> LEvent a -> LEvent a
- find_event :: (a -> Bool) -> [LEvent a] -> Maybe a
- events_of :: [LEvent d] -> [d]
- logs_of :: [LEvent d] -> [Log.Msg]
- write_logs :: Log.LogMonad m => [LEvent d] -> m [d]
- write_snd :: Log.LogMonad m => (a, [Log.Msg]) -> m a
- write_snd_prefix :: Log.LogMonad m => Text -> (a, [Log.Msg]) -> m a
- partition :: [LEvent d] -> ([d], [Log.Msg])
- map_accum :: (state -> a -> [a] -> (state, [b])) -> state -> [LEvent a] -> (state, [[LEvent b]])
- map_around :: ([a] -> a -> [a] -> [b]) -> [LEvent a] -> [[LEvent b]]
- zip :: [a] -> [LEvent x] -> [LEvent (a, x)]
- zip3 :: [a] -> [b] -> [LEvent x] -> [LEvent (a, b, x)]
- zip4 :: [a] -> [b] -> [c] -> [LEvent x] -> [LEvent (a, b, c, x)]
LEvent
Instances
Foldable LEvent Source # | |
Defined in Derive.LEvent fold :: Monoid m => LEvent m -> m # foldMap :: Monoid m => (a -> m) -> LEvent a -> m # foldMap' :: Monoid m => (a -> m) -> LEvent a -> m # foldr :: (a -> b -> b) -> b -> LEvent a -> b # foldr' :: (a -> b -> b) -> b -> LEvent a -> b # foldl :: (b -> a -> b) -> b -> LEvent a -> b # foldl' :: (b -> a -> b) -> b -> LEvent a -> b # foldr1 :: (a -> a -> a) -> LEvent a -> a # foldl1 :: (a -> a -> a) -> LEvent a -> a # elem :: Eq a => a -> LEvent a -> Bool # maximum :: Ord a => LEvent a -> a # minimum :: Ord a => LEvent a -> a # | |
Traversable LEvent Source # | |
Functor LEvent Source # | |
Show a => Show (LEvent a) Source # | |
DeepSeq.NFData a => DeepSeq.NFData (LEvent a) Source # | |
Defined in Derive.LEvent | |
Eq a => Eq (LEvent a) Source # | |
Pretty.Pretty d => Pretty.Pretty (LEvent d) Source # | |
format_log :: Log.Msg -> Doc Source #
A variation on Log.format_msg
, except this can format the stack nicely.
log_or :: (d -> Bool) -> LEvent d -> Bool Source #
Always true for logs. Useful for take and drop on events.
drop_while :: (a -> Bool) -> [LEvent a] -> [LEvent a] Source #
Drop while the predicate is true, but keep preceding logs.
write_logs :: Log.LogMonad m => [LEvent d] -> m [d] Source #
write_snd :: Log.LogMonad m => (a, [Log.Msg]) -> m a Source #
write_snd_prefix :: Log.LogMonad m => Text -> (a, [Log.Msg]) -> m a Source #
map_accum :: (state -> a -> [a] -> (state, [b])) -> state -> [LEvent a] -> (state, [[LEvent b]]) Source #
This is similar to List.mapAccumL
, but lifted into LEvents. It also
passes future events to the function.