packages feed

hydra-0.15.0: src/main/haskell/Hydra/Phantoms.hs

-- Note: this is an automatically generated file. Do not edit.
-- | Phantom types for use with Hydra DSLs

module Hydra.Phantoms where
import qualified Hydra.Core as Core
import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, map, pure, sum)
import qualified Data.Scientific as Sci
-- | An association of a named term (element) with a phantom type
data TBinding a =
  TBinding {
    -- | The name of the term
    tBindingName :: Core.Name,
    -- | The term with its phantom type
    tBindingTerm :: (TTerm a)}
  deriving (Eq, Ord, Read, Show)
_TBinding = Core.Name "hydra.phantoms.TBinding"
_TBinding_name = Core.Name "name"
_TBinding_term = Core.Name "term"
-- | An association of a term with a phantom type
newtype TTerm a =
  TTerm {
    unTTerm :: Core.Term}
  deriving (Eq, Ord, Read, Show)
_TTerm = Core.Name "hydra.phantoms.TTerm"
-- | An association of a term definition with a phantom type
data TTermDefinition a =
  TTermDefinition {
    -- | The name of the term
    tTermDefinitionName :: Core.Name,
    -- | The term with its phantom type
    tTermDefinitionTerm :: (TTerm a)}
  deriving (Eq, Ord, Read, Show)
_TTermDefinition = Core.Name "hydra.phantoms.TTermDefinition"
_TTermDefinition_name = Core.Name "name"
_TTermDefinition_term = Core.Name "term"