📄 digitalcontrol.hs
字号:
-- | Models an interface to a digital control, such as a valve or clutch.module Language.Atom.Common.DigitalControl ( DigitalControl (..) , digitalControl , engage , disengage , isEngaged , isDisengaged ) whereimport Language.Atom-- | A DigitalControl is a control that can be either engaged or disengaged.data DigitalControl = DigitalControl (Var Bool)-- | Creates a 'DigitalControl' with a given name and initial state.digitalControl :: Name -> Bool -> System DigitalControldigitalControl name init = do v <- bool name init return $ DigitalControl v-- | Engages a DigitalControl.engage :: DigitalControl -> Action ()engage (DigitalControl v) = v <== true-- | Disengages a DigitalControl.disengage :: DigitalControl -> Action ()disengage (DigitalControl v) = v <== falseisEngaged :: DigitalControl -> Term BoolisEngaged (DigitalControl v) = value visDisengaged :: DigitalControl -> Term BoolisDisengaged = inv . isEngaged
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -