1 {-# LANGUAGE DataKinds #-}
3 {-# LANGUAGE TypeFamilies #-}
4 module Language.Symantic.Lib.Data.Bool where
7 -- | Singleton for 'Bool'.
10 SFalse :: SBool 'False
13 -- | Implicitely construct a 'SBool' from a type of kind 'Bool'.
14 class IBool b where iBool :: SBool b
15 instance IBool 'True where iBool = STrue
16 instance IBool 'False where iBool = SFalse
18 -- * Type family 'HEq'
19 -- | Host-type equality.
20 type family HEq x y :: Bool where