cuddle-1.7.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.Custom.Core (RuleTerm)
import Codec.CBOR.Cuddle.CDDL.Custom.Generator (CBORGen)
import Codec.CBOR.Cuddle.CDDL.Custom.Validator (TermValidator)
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 RuleTerm)) (Maybe TermValidator)
deriving (Generic)
data instance XXType2 CTreePhase
deriving (Generic, Show, Eq, Ord)
deriving anyclass (Hashable)