ddc-core-0.4.2.1: DDC/Core/Exp/WiCon.hs
module DDC.Core.Exp.WiCon
( WiCon (..))
where
import DDC.Type.Exp
import DDC.Type.Sum ()
import Control.DeepSeq
-- | Witness constructors.
data WiCon n
-- | Witness constructors defined in the environment.
-- In the interpreter we use this to hold runtime capabilities.
-- The attached type must be closed.
= WiConBound !(Bound n) !(Type n)
deriving (Show, Eq)
-- NFData ---------------------------------------------------------------------
instance NFData n => NFData (WiCon n) where
rnf wi
= case wi of
WiConBound u t -> rnf u `seq` rnf t