packages feed

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)