atom-1.0.13: An EDSL for embedded hard realtime applications.

Copyright(c) 2013 Tom Hawkins & Lee Pike
Safe HaskellNone
LanguageHaskell98

Language.Atom.Common.ValidData

Description

Capturing data that can either be valid or invalid.

Synopsis

Documentation

data ValidData a Source

ValidData captures the data and its validity condition. ValidData is abstract to prevent rules from using invalid data.

validData :: a -> E Bool -> ValidData a Source

Create ValidData given the data and validity condition.

getValidData :: ValidData a -> Atom a Source

Get a valid data. Action is disabled if data is invalid.

whenValid :: ValidData a -> Atom () Source

Action enabled if ValidData is valid.

whenInvalid :: ValidData a -> Atom () Source

Action enabled if ValidData is not valid.