@hackage LTS0.1.0.0

LTS: Labelled Transition System

LTS: Labelled Transition System

Travis MIT license

This is a library that implements a labelled transition system that can be either deterministic or non-deterministic.

Example

Here is an example to use LTS library:

import Data.LTS

main = do
    let s0 :: LTSState Int = LTSState {stateId=0, out=3}
    let s1 :: LTSState Int = LTSState {stateId=1, out=5}
    let s2 :: LTSState Int = LTSState {stateId=2, out=7}
    let t1 :: Transition Int Char = Transition {transitionFrom=s0, transitionGuard='a', transitionTo=s1}
    let t2 :: Transition Int Char = Transition {transitionFrom=s1, transitionGuard='b', transitionTo=s2}

    putStrLn "depth of LTS [t1, t2]:"
    print (depth [t1, t2] s0)