hydra-0.15.0: src/main/haskell/Hydra/Encode/Variants.hs
-- Note: this is an automatically generated file. Do not edit.
-- | Term encoders for hydra.variants
module Hydra.Encode.Variants where
import qualified Hydra.Core as Core
import qualified Hydra.Variants as Variants
import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, map, pure, sum)
import qualified Data.Scientific as Sci
eliminationVariant :: Variants.EliminationVariant -> Core.Term
eliminationVariant x =
case x of
Variants.EliminationVariantRecord -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.EliminationVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "record"),
Core.fieldTerm = Core.TermUnit}})
Variants.EliminationVariantUnion -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.EliminationVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "union"),
Core.fieldTerm = Core.TermUnit}})
Variants.EliminationVariantWrap -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.EliminationVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "wrap"),
Core.fieldTerm = Core.TermUnit}})
functionVariant :: Variants.FunctionVariant -> Core.Term
functionVariant x =
case x of
Variants.FunctionVariantElimination -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.FunctionVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "elimination"),
Core.fieldTerm = Core.TermUnit}})
Variants.FunctionVariantLambda -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.FunctionVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "lambda"),
Core.fieldTerm = Core.TermUnit}})
literalVariant :: Variants.LiteralVariant -> Core.Term
literalVariant x =
case x of
Variants.LiteralVariantBinary -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.LiteralVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "binary"),
Core.fieldTerm = Core.TermUnit}})
Variants.LiteralVariantBoolean -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.LiteralVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "boolean"),
Core.fieldTerm = Core.TermUnit}})
Variants.LiteralVariantDecimal -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.LiteralVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "decimal"),
Core.fieldTerm = Core.TermUnit}})
Variants.LiteralVariantFloat -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.LiteralVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "float"),
Core.fieldTerm = Core.TermUnit}})
Variants.LiteralVariantInteger -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.LiteralVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "integer"),
Core.fieldTerm = Core.TermUnit}})
Variants.LiteralVariantString -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.LiteralVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "string"),
Core.fieldTerm = Core.TermUnit}})
termVariant :: Variants.TermVariant -> Core.Term
termVariant x =
case x of
Variants.TermVariantAnnotated -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "annotated"),
Core.fieldTerm = Core.TermUnit}})
Variants.TermVariantApplication -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "application"),
Core.fieldTerm = Core.TermUnit}})
Variants.TermVariantCases -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "cases"),
Core.fieldTerm = Core.TermUnit}})
Variants.TermVariantEither -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "either"),
Core.fieldTerm = Core.TermUnit}})
Variants.TermVariantInject -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "inject"),
Core.fieldTerm = Core.TermUnit}})
Variants.TermVariantLambda -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "lambda"),
Core.fieldTerm = Core.TermUnit}})
Variants.TermVariantLet -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "let"),
Core.fieldTerm = Core.TermUnit}})
Variants.TermVariantList -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "list"),
Core.fieldTerm = Core.TermUnit}})
Variants.TermVariantLiteral -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "literal"),
Core.fieldTerm = Core.TermUnit}})
Variants.TermVariantMap -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "map"),
Core.fieldTerm = Core.TermUnit}})
Variants.TermVariantMaybe -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "maybe"),
Core.fieldTerm = Core.TermUnit}})
Variants.TermVariantPair -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "pair"),
Core.fieldTerm = Core.TermUnit}})
Variants.TermVariantProject -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "project"),
Core.fieldTerm = Core.TermUnit}})
Variants.TermVariantRecord -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "record"),
Core.fieldTerm = Core.TermUnit}})
Variants.TermVariantSet -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "set"),
Core.fieldTerm = Core.TermUnit}})
Variants.TermVariantTypeApplication -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "typeApplication"),
Core.fieldTerm = Core.TermUnit}})
Variants.TermVariantTypeLambda -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "typeLambda"),
Core.fieldTerm = Core.TermUnit}})
Variants.TermVariantUnit -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "unit"),
Core.fieldTerm = Core.TermUnit}})
Variants.TermVariantUnwrap -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "unwrap"),
Core.fieldTerm = Core.TermUnit}})
Variants.TermVariantVariable -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "variable"),
Core.fieldTerm = Core.TermUnit}})
Variants.TermVariantWrap -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "wrap"),
Core.fieldTerm = Core.TermUnit}})
typeVariant :: Variants.TypeVariant -> Core.Term
typeVariant x =
case x of
Variants.TypeVariantAnnotated -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "annotated"),
Core.fieldTerm = Core.TermUnit}})
Variants.TypeVariantApplication -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "application"),
Core.fieldTerm = Core.TermUnit}})
Variants.TypeVariantEither -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "either"),
Core.fieldTerm = Core.TermUnit}})
Variants.TypeVariantForall -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "forall"),
Core.fieldTerm = Core.TermUnit}})
Variants.TypeVariantFunction -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "function"),
Core.fieldTerm = Core.TermUnit}})
Variants.TypeVariantList -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "list"),
Core.fieldTerm = Core.TermUnit}})
Variants.TypeVariantLiteral -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "literal"),
Core.fieldTerm = Core.TermUnit}})
Variants.TypeVariantMap -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "map"),
Core.fieldTerm = Core.TermUnit}})
Variants.TypeVariantMaybe -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "maybe"),
Core.fieldTerm = Core.TermUnit}})
Variants.TypeVariantPair -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "pair"),
Core.fieldTerm = Core.TermUnit}})
Variants.TypeVariantRecord -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "record"),
Core.fieldTerm = Core.TermUnit}})
Variants.TypeVariantSet -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "set"),
Core.fieldTerm = Core.TermUnit}})
Variants.TypeVariantUnion -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "union"),
Core.fieldTerm = Core.TermUnit}})
Variants.TypeVariantUnit -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "unit"),
Core.fieldTerm = Core.TermUnit}})
Variants.TypeVariantVariable -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "variable"),
Core.fieldTerm = Core.TermUnit}})
Variants.TypeVariantVoid -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "void"),
Core.fieldTerm = Core.TermUnit}})
Variants.TypeVariantWrap -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "wrap"),
Core.fieldTerm = Core.TermUnit}})