keiro-dsl-0.15.0.0: test/conformance-service-package/runtime/src/Proof/WorkspaceProof/Alpha/Generated/Domain.hs
{-# LANGUAGE TemplateHaskell #-}
-- @generated by keiro-dsl 0.15.0.0 (language keiro-dsl 4) from aggregate Alpha; do not edit.
module Proof.WorkspaceProof.Alpha.Generated.Domain where
import GHC.Generics (Generic)
import Keiki.Core (RegFile (..))
import Proof.WorkspaceProof.Generated.Nominals (ProofId)
import Keiki.Generics.TH (deriveAggregateCtorsAll, deriveWireCtorsAll)
data AlphaVertex = AlphaActive
deriving stock (Generic, Eq, Ord, Show, Enum, Bounded)
data PingAlphaData = PingAlphaData
{ proofId :: !ProofId
, current :: !Bool
}
deriving stock (Generic, Eq, Show)
data LegacyPingAlphaData = LegacyPingAlphaData
{ proofId :: !ProofId
}
deriving stock (Generic, Eq, Show)
data AlphaCommand = PingAlpha !PingAlphaData
| LegacyPingAlpha !LegacyPingAlphaData
deriving stock (Generic, Eq, Show)
data AlphaPingedData = AlphaPingedData
{ proofId :: !ProofId
, current :: !Bool
}
deriving stock (Generic, Eq, Show)
data LegacyAlphaPingedData = LegacyAlphaPingedData
{ proofId :: !ProofId
}
deriving stock (Generic, Eq, Show)
data AlphaEvent = AlphaPinged !AlphaPingedData
| LegacyAlphaPinged !LegacyAlphaPingedData
deriving stock (Generic, Eq, Show)
type AlphaRegs =
'[]
initialAlphaRegs :: RegFile AlphaRegs
initialAlphaRegs =
RNil
$(deriveAggregateCtorsAll ''AlphaCommand ''AlphaRegs)
$(deriveWireCtorsAll ''AlphaEvent)