packages feed

hydra-0.1.1: src/main/haskell/Hydra/CoreLanguage.hs

-- | Core language constraints of Hydra. These constraints are trivial; all types and all terms are supported.

module Hydra.CoreLanguage where

import Hydra.Compute
import Hydra.Basics

import qualified Data.Set as S


hydraCoreLanguage :: Language m
hydraCoreLanguage = Language (LanguageName "hydra/core") $ LanguageConstraints {
  languageConstraintsEliminationVariants = S.fromList eliminationVariants,
  languageConstraintsLiteralVariants = S.fromList literalVariants,
  languageConstraintsFloatTypes = S.fromList floatTypes,
  languageConstraintsFunctionVariants = S.fromList functionVariants,
  languageConstraintsIntegerTypes = S.fromList integerTypes,
  languageConstraintsTermVariants = S.fromList termVariants,
  languageConstraintsTypeVariants = S.fromList typeVariants,
  languageConstraintsTypes = const True }