x-dsp-0.2.3: src/Language/XDsp/Semantics/CtrlExtensions.hs
{-# LANGUAGE TypeFamilies, MultiParamTypeClasses #-}
module Language.XDsp.Semantics.CtrlExtensions (
RCmpr (..)
,RCtrl (..)
)
where
import Language.XDsp.Semantics.Core
-- control extensions, e.g. if-then-else
class RCmpr el where
data RBool el :: *
req :: el -> el -> RBool el
rne :: el -> el -> RBool el
rlt :: el -> el -> RBool el
rle :: el -> el -> RBool el
rgt :: el -> el -> RBool el
rge :: el -> el -> RBool el
class (Dsp repr, Var a) => RCtrl repr el a where
rIf :: RBool el -> repr a -> repr a
rIfElse :: RBool el -> repr a -> repr a -> repr a