module Hydra.Ext.Json.Language where import Hydra.Kernel import qualified Data.Set as S jsonLanguage :: Language m jsonLanguage = Language (LanguageName "hydra/ext/json") $ 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 [ TermVariantList, TermVariantLiteral, TermVariantMap, TermVariantOptional, TermVariantRecord], languageConstraintsTypeVariants = S.fromList [ TypeVariantList, TypeVariantLiteral, TypeVariantMap, TypeVariantOptional, TypeVariantRecord], languageConstraintsTypes = \typ -> case stripType typ of TypeOptional (TypeOptional _) -> False _ -> True }