📄 validdata.hs
字号:
-- | Capturing data that can either be valid or invalid.module Language.Atom.Common.ValidData ( ValidData , validData , getValidData , whenValid , whenInvalid ) whereimport Language.Atom-- | 'ValidData' captures the data and its validity condition.-- 'ValidData' is abstract to prevent rules from using invalid data.data ValidData a = ValidData a (Term Bool)-- | Create 'ValidData' given the data and validity condition.validData :: a -> Term Bool -> ValidData avalidData = ValidData -- | Get a valid data. Action is disabled if data is invalid.getValidData :: ValidData a -> Action agetValidData (ValidData a v) = when v >> return a-- | Action enabled if 'ValidData' is valid.whenValid :: ValidData a -> Action ()whenValid (ValidData _ v) = when v-- | Action enabled if 'ValidData' is not valid.whenInvalid :: ValidData a -> Action ()whenInvalid (ValidData _ v) = when $ inv v
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -