cuddle-1.3.0.0: src/Codec/CBOR/Cuddle/CDDL/CTreePhase.hs
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE TypeData #-}
{-# LANGUAGE TypeFamilies #-}
module Codec.CBOR.Cuddle.CDDL.CTreePhase (
CTreePhase,
XTerm (..),
XCddl (..),
XRule (..),
XXTopLevel,
) where
import Codec.CBOR.Cuddle.CDDL (XCddl, XRule, XTerm, XXTopLevel, XXType2)
import Codec.CBOR.Cuddle.CDDL.CBORGenerator (CBORGen, CBORValidator, WrappedTerm)
import Data.Default.Class (Default)
import Data.Hashable (Hashable)
import GHC.Generics (Generic)
type data CTreePhase
data instance XTerm CTreePhase = CTreeXTerm
deriving (Generic, Show, Eq, Ord)
deriving anyclass (Hashable, Default)
data instance XXTopLevel CTreePhase
deriving (Generic, Show, Eq, Ord)
data instance XCddl CTreePhase = CTreeXCddl
deriving (Generic, Show, Eq, Ord)
data instance XRule CTreePhase = CTreeXRule (Maybe (CBORGen WrappedTerm)) (Maybe CBORValidator)
deriving (Generic)
data instance XXType2 CTreePhase
deriving (Generic, Show, Eq, Ord)
deriving anyclass (Hashable)