module Hydra.CoreLanguage where import Hydra.Compute import Hydra.Basics import qualified Data.Set as S hydraCoreLanguage :: Language m hydraCoreLanguage :: forall m. Language m hydraCoreLanguage = forall m. LanguageName -> LanguageConstraints m -> Language m Language (String -> LanguageName LanguageName String "hydra/core") forall a b. (a -> b) -> a -> b $ LanguageConstraints { languageConstraintsEliminationVariants :: Set EliminationVariant languageConstraintsEliminationVariants = forall a. Ord a => [a] -> Set a S.fromList [EliminationVariant] eliminationVariants, languageConstraintsLiteralVariants :: Set LiteralVariant languageConstraintsLiteralVariants = forall a. Ord a => [a] -> Set a S.fromList [LiteralVariant] literalVariants, languageConstraintsFloatTypes :: Set FloatType languageConstraintsFloatTypes = forall a. Ord a => [a] -> Set a S.fromList [FloatType] floatTypes, languageConstraintsFunctionVariants :: Set FunctionVariant languageConstraintsFunctionVariants = forall a. Ord a => [a] -> Set a S.fromList [FunctionVariant] functionVariants, languageConstraintsIntegerTypes :: Set IntegerType languageConstraintsIntegerTypes = forall a. Ord a => [a] -> Set a S.fromList [IntegerType] integerTypes, languageConstraintsTermVariants :: Set TermVariant languageConstraintsTermVariants = forall a. Ord a => [a] -> Set a S.fromList [TermVariant] termVariants, languageConstraintsTypeVariants :: Set TypeVariant languageConstraintsTypeVariants = forall a. Ord a => [a] -> Set a S.fromList [TypeVariant] typeVariants, languageConstraintsTypes :: Type m -> Bool languageConstraintsTypes = forall a b. a -> b -> a const Bool True }