module Hydra.Ext.Yaml.Language where import Hydra.All import qualified Data.Set as S yamlLanguage :: Language m yamlLanguage :: forall m. Language m yamlLanguage = forall m. LanguageName -> LanguageConstraints m -> Language m Language (String -> LanguageName LanguageName String "hydra/ext/yaml") forall a b. (a -> b) -> a -> b $ LanguageConstraints { languageConstraintsEliminationVariants :: Set EliminationVariant languageConstraintsEliminationVariants = forall a. Set a S.empty, languageConstraintsLiteralVariants :: Set LiteralVariant languageConstraintsLiteralVariants = forall a. Ord a => [a] -> Set a S.fromList [ LiteralVariant LiteralVariantBoolean, LiteralVariant LiteralVariantFloat, LiteralVariant LiteralVariantInteger, LiteralVariant LiteralVariantString], languageConstraintsFloatTypes :: Set FloatType languageConstraintsFloatTypes = forall a. Ord a => [a] -> Set a S.fromList [FloatType FloatTypeBigfloat], languageConstraintsFunctionVariants :: Set FunctionVariant languageConstraintsFunctionVariants = forall a. Set a S.empty, languageConstraintsIntegerTypes :: Set IntegerType languageConstraintsIntegerTypes = forall a. Ord a => [a] -> Set a S.fromList [IntegerType IntegerTypeBigint], languageConstraintsTermVariants :: Set TermVariant languageConstraintsTermVariants = forall a. Ord a => [a] -> Set a S.fromList [ TermVariant TermVariantLiteral, TermVariant TermVariantList, TermVariant TermVariantMap, TermVariant TermVariantOptional, TermVariant TermVariantRecord], languageConstraintsTypeVariants :: Set TypeVariant languageConstraintsTypeVariants = forall a. Ord a => [a] -> Set a S.fromList [ TypeVariant TypeVariantLiteral, TypeVariant TypeVariantList, TypeVariant TypeVariantMap, TypeVariant TypeVariantOptional, TypeVariant TypeVariantRecord], languageConstraintsTypes :: Type m -> Bool languageConstraintsTypes = \Type m typ -> case forall m. Type m -> Type m stripType Type m typ of TypeOptional (TypeOptional Type m _) -> Bool False Type m _ -> Bool True }