| Copyright | (c) Ivan Perez 2017 |
|---|---|
| License | BSD3 |
| Maintainer | ivan.perez@keera.co.uk |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
FRP.Dunai.LTLFuture
Description
Future-time linear temporal logic implemented on top of monadic stream functions.
This module can be used to define LTL-like predicates on Monadic Stream
Functions, and to evaluate them. The main entry point is the function
evalT, which takes a temporal predicate, and a stream of inputs, and
evaluates the predicate against the stream. Evaluation takes place at time
0, although it is possible to express conditions on future samples.
Disclaimer: This is not necessarily the same as LTL.
Synopsis
- data TPred m a where
- Prop :: MSF m a Bool -> TPred m a
- And :: TPred m a -> TPred m a -> TPred m a
- Or :: TPred m a -> TPred m a -> TPred m a
- Not :: TPred m a -> TPred m a
- Implies :: TPred m a -> TPred m a -> TPred m a
- Always :: TPred m a -> TPred m a
- Eventually :: TPred m a -> TPred m a
- Next :: TPred m a -> TPred m a
- Until :: TPred m a -> TPred m a -> TPred m a
- tPredMap :: (Functor m, Applicative m, Monad m) => (MSF m a Bool -> m (MSF m a Bool)) -> TPred m a -> m (TPred m a)
- evalT :: (Functor m, Applicative m, Monad m) => TPred (ReaderT DTime m) a -> SignalSampleStream a -> m Bool
Documentation
Type representing future-time linear temporal logic with until and next.
Constructors
| Prop :: MSF m a Bool -> TPred m a | |
| And :: TPred m a -> TPred m a -> TPred m a | |
| Or :: TPred m a -> TPred m a -> TPred m a | |
| Not :: TPred m a -> TPred m a | |
| Implies :: TPred m a -> TPred m a -> TPred m a | |
| Always :: TPred m a -> TPred m a | |
| Eventually :: TPred m a -> TPred m a | |
| Next :: TPred m a -> TPred m a | |
| Until :: TPred m a -> TPred m a -> TPred m a |