hydra-0.8.0: src/main/haskell/Hydra/Ext/Yaml/Language.hs
module Hydra.Ext.Yaml.Language where
import Hydra.Kernel
import qualified Data.Set as S
yamlLanguage :: Language
yamlLanguage = Language (LanguageName "hydra/ext/yaml") $ LanguageConstraints {
languageConstraintsEliminationVariants = S.empty,
languageConstraintsLiteralVariants = S.fromList [
LiteralVariantBoolean, LiteralVariantFloat, LiteralVariantInteger, LiteralVariantString],
languageConstraintsFloatTypes = S.fromList [FloatTypeBigfloat],
languageConstraintsFunctionVariants = S.empty,
languageConstraintsIntegerTypes = S.fromList [IntegerTypeBigint],
languageConstraintsTermVariants = S.fromList [
TermVariantLiteral,
TermVariantList,
TermVariantMap,
TermVariantOptional,
TermVariantRecord],
languageConstraintsTypeVariants = S.fromList [
TypeVariantLiteral, TypeVariantList, TypeVariantMap, TypeVariantOptional, TypeVariantRecord],
languageConstraintsTypes = \typ -> case stripType typ of
TypeOptional (TypeOptional _) -> False
_ -> True }