hydra-kernel-0.17.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.Encode.Core as EncodeCore
import qualified Hydra.Variants as Variants
import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, map, pure, sum)
import qualified Data.Scientific as Sci
-- | Encoder for hydra.variants.LiteralVariant
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}})
-- | Encoder for hydra.variants.TermVariant
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.TermVariantOptional -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "optional"),
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}})
-- | Encoder for hydra.variants.TypeVariant
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.TypeVariantEffect -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "effect"),
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.TypeVariantOptional -> Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "optional"),
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}})