hydra-kernel-0.18.0: src/main/haskell/Hydra/Core/Dsl/Lexical.hs
-- Note: this is an automatically generated file. Do not edit.
-- | DSL functions for hydra.core.lexical
module Hydra.Core.Dsl.Lexical where
import qualified Hydra.Core.Ast as Ast
import qualified Hydra.Core.Coders as Coders
import qualified Hydra.Core.Diff as Diff
import qualified Hydra.Core.Docs as Docs
import qualified Hydra.Core.Dsl.Ast as DslAst
import qualified Hydra.Core.Dsl.Coders as DslCoders
import qualified Hydra.Core.Dsl.Diff as DslDiff
import qualified Hydra.Core.Dsl.Docs as DslDocs
import qualified Hydra.Core.Dsl.Error.Checking as ErrorChecking
import qualified Hydra.Core.Dsl.Error.File as DslErrorFile
import qualified Hydra.Core.Dsl.Error.Model as DslErrorModel
import qualified Hydra.Core.Dsl.Error.Packaging as DslErrorPackaging
import qualified Hydra.Core.Dsl.Error.System as DslErrorSystem
import qualified Hydra.Core.Dsl.Errors as DslErrors
import qualified Hydra.Core.Dsl.File as DslFile
import qualified Hydra.Core.Dsl.Graph as DslGraph
import qualified Hydra.Core.Dsl.Json.Model as DslJsonModel
import qualified Hydra.Core.Dsl.Markdown as DslMarkdown
import qualified Hydra.Core.Dsl.Model as DslModel
import qualified Hydra.Core.Dsl.Packaging as DslPackaging
import qualified Hydra.Core.Dsl.Parsing as DslParsing
import qualified Hydra.Core.Dsl.Paths as DslPaths
import qualified Hydra.Core.Dsl.Query as DslQuery
import qualified Hydra.Core.Dsl.Regex as DslRegex
import qualified Hydra.Core.Dsl.Relational as DslRelational
import qualified Hydra.Core.Dsl.Scoping as DslScoping
import qualified Hydra.Core.Dsl.Strip as DslStrip
import qualified Hydra.Core.Dsl.System as DslSystem
import qualified Hydra.Core.Dsl.Tabular as DslTabular
import qualified Hydra.Core.Dsl.Testing as DslTesting
import qualified Hydra.Core.Dsl.Time as DslTime
import qualified Hydra.Core.Dsl.Topology as DslTopology
import qualified Hydra.Core.Dsl.Typing as DslTyping
import qualified Hydra.Core.Dsl.Util as DslUtil
import qualified Hydra.Core.Dsl.Validation as DslValidation
import qualified Hydra.Core.Dsl.Variants as DslVariants
import qualified Hydra.Core.Error.Checking as Checking
import qualified Hydra.Core.Error.File as ErrorFile
import qualified Hydra.Core.Error.Model as ErrorModel
import qualified Hydra.Core.Error.Packaging as ErrorPackaging
import qualified Hydra.Core.Error.System as ErrorSystem
import qualified Hydra.Core.Errors as Errors
import qualified Hydra.Core.File as File
import qualified Hydra.Core.Graph as Graph
import qualified Hydra.Core.Json.Model as JsonModel
import qualified Hydra.Core.Lexical as Lexical
import qualified Hydra.Core.Markdown as Markdown
import qualified Hydra.Core.Model as Model
import qualified Hydra.Core.Packaging as Packaging
import qualified Hydra.Core.Parsing as Parsing
import qualified Hydra.Core.Paths as Paths
import qualified Hydra.Core.Print.Errors as PrintErrors
import qualified Hydra.Core.Print.Model as PrintModel
import qualified Hydra.Core.Query as Query
import qualified Hydra.Core.Regex as Regex
import qualified Hydra.Core.Relational as Relational
import qualified Hydra.Core.Scoping as Scoping
import qualified Hydra.Core.Strip as Strip
import qualified Hydra.Core.System as System
import qualified Hydra.Core.Tabular as Tabular
import qualified Hydra.Core.Testing as Testing
import qualified Hydra.Core.Time as Time
import qualified Hydra.Core.Topology as Topology
import qualified Hydra.Core.Typed as Typed
import qualified Hydra.Core.Typing as Typing
import qualified Hydra.Core.Util as Util
import qualified Hydra.Core.Validation as Validation
import qualified Hydra.Core.Variants as Variants
import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)
import qualified Data.Scientific as Sci
import Data.Void
import qualified Data.Map as M
import qualified Data.Set as S
-- | DSL reference to hydra.core.lexical.buildGraph
buildGraph :: Typed.TypedTerm [Model.Binding] -> Typed.TypedTerm (M.Map Model.Name (Maybe Model.Term)) -> Typed.TypedTerm (M.Map Model.Name Graph.Primitive) -> Typed.TypedTerm Graph.Graph
buildGraph arg0 arg1 arg2 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.buildGraph")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)})),
Model.applicationArgument = (Typed.unTypedTerm arg2)}))
-- | DSL reference to hydra.core.lexical.chooseUniqueName
chooseUniqueName :: Typed.TypedTerm (S.Set Model.Name) -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Model.Name
chooseUniqueName arg0 arg1 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.chooseUniqueName")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)}))
-- | DSL reference to hydra.core.lexical.dereferenceSchemaType
dereferenceSchemaType :: Typed.TypedTerm Model.Name -> Typed.TypedTerm (M.Map Model.Name Model.TypeScheme) -> Typed.TypedTerm (Maybe Model.TypeScheme)
dereferenceSchemaType arg0 arg1 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.dereferenceSchemaType")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)}))
-- | DSL reference to hydra.core.lexical.dereferenceVariable
dereferenceVariable :: Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Model.Name -> Typed.TypedTerm (Either Errors.Error Model.Binding)
dereferenceVariable arg0 arg1 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.dereferenceVariable")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)}))
-- | DSL reference to hydra.core.lexical.elementsToGraph
elementsToGraph :: Typed.TypedTerm Graph.Graph -> Typed.TypedTerm (M.Map Model.Name Model.TypeScheme) -> Typed.TypedTerm [Model.Binding] -> Typed.TypedTerm Graph.Graph
elementsToGraph arg0 arg1 arg2 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.elementsToGraph")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)})),
Model.applicationArgument = (Typed.unTypedTerm arg2)}))
-- | DSL reference to hydra.core.lexical.emptyGraph
emptyGraph :: Typed.TypedTerm Graph.Graph
emptyGraph = Typed.TypedTerm (Model.TermVariable (Model.Name "hydra.core.lexical.emptyGraph"))
-- | DSL reference to hydra.core.lexical.emptyInferenceContext
emptyInferenceContext :: Typed.TypedTerm Typing.InferenceContext
emptyInferenceContext = Typed.TypedTerm (Model.TermVariable (Model.Name "hydra.core.lexical.emptyInferenceContext"))
-- | DSL reference to hydra.core.lexical.fieldsOf
fieldsOf :: Typed.TypedTerm Model.Type -> Typed.TypedTerm [Model.FieldType]
fieldsOf arg0 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.fieldsOf")),
Model.applicationArgument = (Typed.unTypedTerm arg0)}))
-- | DSL reference to hydra.core.lexical.getField
getField :: Typed.TypedTerm (M.Map Model.Name t0) -> Typed.TypedTerm Model.Name -> Typed.TypedTerm (t0 -> Either Errors.Error t1) -> Typed.TypedTerm (Either Errors.Error t1)
getField arg0 arg1 arg2 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.getField")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)})),
Model.applicationArgument = (Typed.unTypedTerm arg2)}))
-- | DSL reference to hydra.core.lexical.graphToBindings
graphToBindings :: Typed.TypedTerm Graph.Graph -> Typed.TypedTerm [Model.Binding]
graphToBindings arg0 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.graphToBindings")),
Model.applicationArgument = (Typed.unTypedTerm arg0)}))
-- | DSL reference to hydra.core.lexical.graphWithPrimitives
graphWithPrimitives :: Typed.TypedTerm [Graph.Primitive] -> Typed.TypedTerm [Graph.Primitive] -> Typed.TypedTerm Graph.Graph
graphWithPrimitives arg0 arg1 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.graphWithPrimitives")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)}))
-- | DSL reference to hydra.core.lexical.lookupBinding
lookupBinding :: Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Model.Name -> Typed.TypedTerm (Maybe Model.Binding)
lookupBinding arg0 arg1 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.lookupBinding")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)}))
-- | DSL reference to hydra.core.lexical.lookupPrimitive
lookupPrimitive :: Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Model.Name -> Typed.TypedTerm (Maybe Graph.Primitive)
lookupPrimitive arg0 arg1 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.lookupPrimitive")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)}))
-- | DSL reference to hydra.core.lexical.lookupTerm
lookupTerm :: Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Model.Name -> Typed.TypedTerm (Maybe Model.Term)
lookupTerm arg0 arg1 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.lookupTerm")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)}))
-- | DSL reference to hydra.core.lexical.matchEnum
matchEnum :: Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Model.Name -> Typed.TypedTerm [(Model.Name, t0)] -> Typed.TypedTerm Model.Term -> Typed.TypedTerm (Either Errors.Error t0)
matchEnum arg0 arg1 arg2 arg3 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.matchEnum")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)})),
Model.applicationArgument = (Typed.unTypedTerm arg2)})),
Model.applicationArgument = (Typed.unTypedTerm arg3)}))
-- | DSL reference to hydra.core.lexical.matchRecord
matchRecord :: Typed.TypedTerm t0 -> Typed.TypedTerm (M.Map Model.Name Model.Term -> Either Errors.Error t1) -> Typed.TypedTerm Model.Term -> Typed.TypedTerm (Either Errors.Error t1)
matchRecord arg0 arg1 arg2 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.matchRecord")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)})),
Model.applicationArgument = (Typed.unTypedTerm arg2)}))
-- | DSL reference to hydra.core.lexical.matchUnion
matchUnion :: Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Model.Name -> Typed.TypedTerm [(Model.Name, (Model.Term -> Either Errors.Error t0))] -> Typed.TypedTerm Model.Term -> Typed.TypedTerm (Either Errors.Error t0)
matchUnion arg0 arg1 arg2 arg3 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.matchUnion")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)})),
Model.applicationArgument = (Typed.unTypedTerm arg2)})),
Model.applicationArgument = (Typed.unTypedTerm arg3)}))
-- | DSL reference to hydra.core.lexical.matchUnitField
matchUnitField :: Typed.TypedTerm t0 -> Typed.TypedTerm t1 -> Typed.TypedTerm (t0, (t2 -> Either t3 t1))
matchUnitField arg0 arg1 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.matchUnitField")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)}))
-- | DSL reference to hydra.core.lexical.requireBinding
requireBinding :: Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Model.Name -> Typed.TypedTerm (Either Errors.Error Model.Binding)
requireBinding arg0 arg1 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.requireBinding")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)}))
-- | DSL reference to hydra.core.lexical.requirePrimitive
requirePrimitive :: Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Model.Name -> Typed.TypedTerm (Either Errors.Error Graph.Primitive)
requirePrimitive arg0 arg1 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.requirePrimitive")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)}))
-- | DSL reference to hydra.core.lexical.requirePrimitiveType
requirePrimitiveType :: Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Model.Name -> Typed.TypedTerm (Either Errors.Error Model.TypeScheme)
requirePrimitiveType arg0 arg1 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.requirePrimitiveType")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)}))
-- | DSL reference to hydra.core.lexical.requireTerm
requireTerm :: Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Model.Name -> Typed.TypedTerm (Either Errors.Error Model.Term)
requireTerm arg0 arg1 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.requireTerm")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)}))
-- | DSL reference to hydra.core.lexical.resolveTerm
resolveTerm :: Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Model.Name -> Typed.TypedTerm (Maybe Model.Term)
resolveTerm arg0 arg1 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.resolveTerm")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)}))
-- | DSL reference to hydra.core.lexical.stripAndDereferenceTerm
stripAndDereferenceTerm :: Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Model.Term -> Typed.TypedTerm (Either Errors.Error Model.Term)
stripAndDereferenceTerm arg0 arg1 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.stripAndDereferenceTerm")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)}))
-- | DSL reference to hydra.core.lexical.stripAndDereferenceTermEither
stripAndDereferenceTermEither :: Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Model.Term -> Typed.TypedTerm (Either Errors.Error Model.Term)
stripAndDereferenceTermEither arg0 arg1 =
Typed.TypedTerm (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermApplication (Model.Application {
Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.core.lexical.stripAndDereferenceTermEither")),
Model.applicationArgument = (Typed.unTypedTerm arg0)})),
Model.applicationArgument = (Typed.unTypedTerm arg1)}))